Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

Commit

Permalink
Don't execute code by default if the module is imported.
Browse files Browse the repository at this point in the history
  • Loading branch information
lfir committed Mar 27, 2021
1 parent 36bfa16 commit 761cd51
Showing 1 changed file with 20 additions and 19 deletions.
39 changes: 20 additions & 19 deletions mail_error_notifs/mail_error_notifs.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,6 @@
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import From, Mail, PlainTextContent, Subject, To

load_dotenv('./.env')
logging.basicConfig(
filename=PurePath(os.getenv('LOGDIR')) / 'mail_error_notifs.log',
level=logging.ERROR,
format='%(asctime)s|%(levelname)s|%(message)s'
)

def send_email(subject, mailbody):
try:
Expand All @@ -30,18 +24,25 @@ def send_email(subject, mailbody):
except Exception as e:
logging.error(e)

errors = set()
msg = 'URL: {}.\nStatus code: {}.\nMessage: {}.'
req0 = request.Request(os.getenv('HV1'))
headers = {os.getenv('H1'): req0.full_url}
req1 = request.Request(url=os.getenv('URL1'), headers=headers)
if __name__ == '__main__':
load_dotenv('./.env')
logging.basicConfig(
filename=PurePath(os.getenv('LOGDIR')) / 'mail_error_notifs.log',
level=logging.ERROR,
format='%(asctime)s|%(levelname)s|%(message)s'
)
errors = set()
msg = 'URL: {}.\nStatus code: {}.\nMessage: {}.'
req0 = request.Request(os.getenv('HV1'))
headers = {os.getenv('H1'): req0.full_url}
req1 = request.Request(url=os.getenv('URL1'), headers=headers)

for req in [req0, req1]:
try:
request.urlopen(req)
except HTTPError as e:
logging.error(e.geturl() + ': ' + str(e))
errors.add(msg.format(req.full_url, e.code, e.read()))
for req in [req0, req1]:
try:
request.urlopen(req)
except HTTPError as e:
logging.error(e.geturl() + ': ' + str(e))
errors.add(msg.format(req.full_url, e.code, e.read()))

if len(errors) > 0:
send_email('Notification of site errors', '\n\n'.join(errors))
if len(errors) > 0:
send_email('Notification of site errors', '\n\n'.join(errors))

0 comments on commit 761cd51

Please sign in to comment.