Open dzaytsev91 opened 7 years ago
Thanks a lot, looks great so far. Will give it a more thorough look over the weekend and let you know if I have any suggestions! Btw. do you know if it also works on Windows or is it posix only? (Oh, and btw don't worry about squashing commits, GitHub has this handy squash button now so that I can take care of it upon merging)
Hm, not sure why, but it's not sending messages in my case. However, when I just ran a simple test
server_ssl = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server_ssl.login('pyprind@gmail.com', passw)
msg = "\r\n".join([
"From: pyprind@gmail.com",
"To: pyprind@gmail.com",
"Subject: Some test message",
"",
"Test"
])
server_ssl.sendmail('pyprind@gmail.com', ['pyprind@gmail.com'], msg)
server_ssl.close()
it seems to work fine. I am not getting any error messages via pyprind with email=True
after running the email setup, but for some reason, nothing gets send. There are a few other things I found, and it would be great if you could take a look at it
email
parameter also to ProgPercent
(currently only in ProgBar
)email
param (mentioned above) to the Class
' docstringssetup_email
functionpycrypto
package a required dependency in the setup.py but add it to the requirements as previously. The reason is that this email feature is optional, and for a barebones-pyprind, some people maybe don't want to install it. Can you please change the requirements
section back to how it was set up previously but add pycrypto
to requirements.txt
? package_data={'': ['LICENSE',
'README.md',
'requirements.txt'
'CHANGELOG.md',
'CONTRIBUTING.md'],
'tests': ['tests/test_percentage_indicator.py',
'tests/test_progress_bar.py']},
~/.pyprind/pyprind.key
rather than adding it to the package folder. The reason is that a user's home directory may be a saver place to store such information, despite it being encrypted. Also, it is a common convention (e.g., .vim, .gitconfig etc.) Something like the following should work on Windows and Posix:def get_pyprind_config_dir():
home = os.path.expanduser("~")
config_path = os.path.join(home, '.pyprind')
return config_path
__version__ = '2.9.9dev0'
106 config.set('Email', 'password', password)
107 with open(file_path, 'wb') as f:
--> 108 config.write(f)
109 with open(file_path, 'rb') as af:
110 cipher.encrypt(af.read())
/Users/Sebastian/miniconda3/lib/python3.5/configparser.py in write(self, fp, space_around_delimiters)
914 for section in self._sections:
915 self._write_section(fp, section,
--> 916 self._sections[section].items(), d)
917
918 def _write_section(self, fp, section_name, section_items, delimiter):
/Users/Sebastian/miniconda3/lib/python3.5/configparser.py in _write_section(self, fp, section_name, section_items, delimiter)
918 def _write_section(self, fp, section_name, section_items, delimiter):
919 """Write a single section to the specified `fp'."""
--> 920 fp.write("[{}]\n".format(section_name))
921 for key, value in section_items:
922 value = self._interpolation.before_write(self, section_name, key,
TypeError: a bytes-like object is required, not 'str'
Despite these little points mentioned above, it looks great so far! I really appreciate the contribution!
Thanks a lot for your feedback! I will try to fix all the notes as soon as possible
Thanks a lot for your feedback! I will try to fix all the notes as soon as possible
Thanks! And no need to rush :)
Hello @dzaytsev91! Thanks for updating the PR.
There are no PEP8 issues in the file pyprind/__init__.py
!
There are no PEP8 issues in the file pyprind/email_notification.py
!
There are no PEP8 issues in the file pyprind/prog_class.py
!
There are no PEP8 issues in the file pyprind/progbar.py
!
There are no PEP8 issues in the file setup.py
!
Thanks! And no need to rush :)
Hey, sorry for such a delay I've been busy a bit :) I've made all the changes that you manchioned and it would be nice if you could take a look at it.
About setup_email function, maybe I should write a simple example in README? According to a test with sending an email message I run your simple test and in my case it worked good and sends the email. How do you think what could be the reason why it doesn't work for you?
I would really appreciate any comments!
No need to apologize! And thanks for the updated PR :). A short example in the Readme (and in the example Jupyter notebook) would be nice! I will give it another try then and take a closer look at the code., Thanks!
Implementation of task complete email notifications. It seems like the setup.py install doesn't install packages from requirements.txt, I had to fix it because travis shows errors.
You can test it by calling: pyprind.setup_email(smtp_server, smtp_port, username, password)