auto emailer
Project description
Emailer
Emailer provides
a decorator to send emails on error instead of raise an error.
Usefull when
- Code should send out some kind of "alert" without breaking any code
- Complex error handling isn't needed or isn't a good choice cosidering cost/value
E.g. You are writing an script to do some ETL work for a report for your self or a small group It need to be reliable but good enough if you know it breaks and fix afterwards
Emails will be constructed as MIMEMultipart contains only simple text. And sent throught smtp wihtout any authentication, which suitsmost of internal smtp servers.
Installation
Install with pip
pip install error_emailer
Email construct
Email constructed as MIMEMultipart with default
error_msg_title = 'Error'
error_msg_content = 'Error occurred'
Example: Use decorator
from erroremailer import EmailError
ee = EmailError(
from_addr = 'me@example.com',
to_addr = 'others@example.com',
smtp_addr = '10.0.0.1@some-smtp.com',
# set send_email to False for test
send_email_on_error = False,
error_msg_title = 'Error occured in my best script"
error_msg_content = 'Error occured in my best script"
)
# define a function with deco
@ee.email_on_error()
def make_a_error():
a = 1
b = '2'
print(a + b)
return a
make_a_error()
Example: Use send email directly
from erroremailer import EmailError
ee = EmailError(
from_addr = 'me@example.com',
to_addr = 'others@example.com',
smtp_addr = '10.0.0.1@some-smtp.com',
# set send_email to False for test
send_email_on_error = False,
error_msg_title = 'Error occured in my best script"
error_msg_content = 'Error occured in my best script"
)
def make_a_error():
a = 1
b = '2'
print(a + b)
return a
if __name__ == '__main__':
try:
make_a_error()
except:
ee.send_error_email()
finally:
pass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
error-emailer-0.1.1.tar.gz
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for error_emailer-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78da5a53c860db31fe2ecddede36882abeb13370f5364de4c975e4ac4e3584aa |
|
MD5 | fdac98389ec6ecb42b9f44288aaa1691 |
|
BLAKE2b-256 | 25d30ea2f6f633bc0621eaf62ffbb0476360957d2a8351ec7d93131466086136 |