Added logging to file
This commit is contained in:
parent
f36f327bf1
commit
de834b16e5
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
__pycache__/*
|
__pycache__/*
|
||||||
tmp/*
|
tmp/*
|
||||||
venv/*
|
venv/*
|
||||||
.env
|
.env
|
||||||
|
main.log
|
@ -5,6 +5,7 @@ import PyPDF2
|
|||||||
import re
|
import re
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from geopy.geocoders import Nominatim
|
from geopy.geocoders import Nominatim
|
||||||
|
from logger import logging
|
||||||
|
|
||||||
load_dotenv(override=True)
|
load_dotenv(override=True)
|
||||||
|
|
||||||
@ -45,12 +46,12 @@ def get_draeger_json(text):
|
|||||||
data["city"] = city[0] + " " + city[1]
|
data["city"] = city[0] + " " + city[1]
|
||||||
data["cityDistrict"] = city[2]
|
data["cityDistrict"] = city[2]
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f'Fehler: {e}')
|
logging.error(f'Fehler: {e}')
|
||||||
|
|
||||||
data["lat"] = match[0][7][:2] + '.' + match[0][7][2:]
|
data["lat"] = match[0][7][:2] + '.' + match[0][7][2:]
|
||||||
data["lon"] = match[0][8][:2] + '.' + match[0][8][2:]
|
data["lon"] = match[0][8][:2] + '.' + match[0][8][2:]
|
||||||
|
|
||||||
print(data)
|
logging.debug(data)
|
||||||
return data
|
return data
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
8
logger.py
Normal file
8
logger.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import logging
|
||||||
|
|
||||||
|
logging.basicConfig(
|
||||||
|
filename='./main.log',
|
||||||
|
level=logging.DEBUG,
|
||||||
|
format='%(asctime)s - %(levelname)s - %(message)s',
|
||||||
|
datefmt='%Y-%m-%d %H:%M:%S'
|
||||||
|
)
|
@ -3,7 +3,7 @@ import imaplib
|
|||||||
import email
|
import email
|
||||||
from email.header import decode_header
|
from email.header import decode_header
|
||||||
import os
|
import os
|
||||||
|
from logger import logging
|
||||||
from helpers import get_draeger_json, read_pdf
|
from helpers import get_draeger_json, read_pdf
|
||||||
|
|
||||||
load_dotenv(override=True)
|
load_dotenv(override=True)
|
||||||
@ -15,7 +15,7 @@ EMAIL_PASSWORD = os.environ.get("EMAIL_PASSWORD", default=None)
|
|||||||
MAILBOX = os.environ.get("MAILBOX", default=None)
|
MAILBOX = os.environ.get("MAILBOX", default=None)
|
||||||
CHECK_INTERVAL = int(os.environ.get("CHECK_INTERVAL", default=None)) # in Sekunden
|
CHECK_INTERVAL = int(os.environ.get("CHECK_INTERVAL", default=None)) # in Sekunden
|
||||||
SAVE_FOLDER = os.environ.get("SAVE_FOLDER", default=None)
|
SAVE_FOLDER = os.environ.get("SAVE_FOLDER", default=None)
|
||||||
|
|
||||||
def check_email():
|
def check_email():
|
||||||
try:
|
try:
|
||||||
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
|
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
|
||||||
@ -52,11 +52,11 @@ def check_email():
|
|||||||
if filename.endswith('.pdf'):
|
if filename.endswith('.pdf'):
|
||||||
pdf_text = read_pdf(filepath).replace("\n", "")
|
pdf_text = read_pdf(filepath).replace("\n", "")
|
||||||
|
|
||||||
print(get_draeger_json(pdf_text))
|
logging.info(get_draeger_json(pdf_text))
|
||||||
|
|
||||||
mail.logout()
|
mail.logout()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f'Fehler: {e}')
|
logging.error(f'Fehler: {e}')
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
check_email()
|
check_email()
|
||||||
|
18
main.py
18
main.py
@ -8,6 +8,7 @@ from email.header import decode_header
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
from helpers import get_draeger_json, read_pdf
|
from helpers import get_draeger_json, read_pdf
|
||||||
|
from logger import logging
|
||||||
|
|
||||||
load_dotenv(override=True)
|
load_dotenv(override=True)
|
||||||
|
|
||||||
@ -20,7 +21,7 @@ CHECK_INTERVAL = int(os.environ.get("CHECK_INTERVAL", default=None)) # in Sekund
|
|||||||
SAVE_FOLDER = os.environ.get("SAVE_FOLDER", default=None)
|
SAVE_FOLDER = os.environ.get("SAVE_FOLDER", default=None)
|
||||||
DRAEGER_API_KEY = os.environ.get("DRAEGER_API_KEY", default=None)
|
DRAEGER_API_KEY = os.environ.get("DRAEGER_API_KEY", default=None)
|
||||||
HEALTHCHECK_URL = os.environ.get("HEALTHCHECK_URL", default=None)
|
HEALTHCHECK_URL = os.environ.get("HEALTHCHECK_URL", default=None)
|
||||||
|
|
||||||
def check_email():
|
def check_email():
|
||||||
try:
|
try:
|
||||||
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
|
mail = imaplib.IMAP4_SSL(IMAP_SERVER)
|
||||||
@ -44,7 +45,7 @@ def check_email():
|
|||||||
subject = subject.decode(encoding if encoding else 'utf-8')
|
subject = subject.decode(encoding if encoding else 'utf-8')
|
||||||
|
|
||||||
from_ = msg.get("From")
|
from_ = msg.get("From")
|
||||||
print(f'Neue E-Mail von {from_} mit Betreff: {subject}')
|
logging.info(f'Neue E-Mail von {from_} mit Betreff: {subject}')
|
||||||
|
|
||||||
for part in msg.walk():
|
for part in msg.walk():
|
||||||
if part.get_content_maintype() == 'multipart':
|
if part.get_content_maintype() == 'multipart':
|
||||||
@ -63,28 +64,29 @@ def check_email():
|
|||||||
|
|
||||||
r = requests.post('https://einsatzmeldesystem.de/ems/inbound/deployment/universal/', json=get_draeger_json(pdf_text))
|
r = requests.post('https://einsatzmeldesystem.de/ems/inbound/deployment/universal/', json=get_draeger_json(pdf_text))
|
||||||
|
|
||||||
print(r.status_code)
|
logging.debug(r.status_code)
|
||||||
print(r.json())
|
logging.debug(r.json())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
data = {}
|
data = {}
|
||||||
data["apiKey"] = DRAEGER_API_KEY
|
data["apiKey"] = DRAEGER_API_KEY
|
||||||
r = requests.post('https://einsatzmeldesystem.de/ems/inbound/deployment/universal/', json=data)
|
r = requests.post('https://einsatzmeldesystem.de/ems/inbound/deployment/universal/', json=data)
|
||||||
|
|
||||||
r = requests.get(HEALTHCHECK_URL + "?status=down&msg=Can not parse data. Alarming with empty data&ping=")
|
r = requests.get(HEALTHCHECK_URL + "?status=down&msg=Can not parse data. Alarming with empty data&ping=")
|
||||||
print(r.status_code)
|
logging.debug(r.status_code)
|
||||||
|
|
||||||
mail.logout()
|
mail.logout()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f'Fehler: {e}')
|
logging.error(f'Fehler: {e}')
|
||||||
|
|
||||||
r = requests.get(HEALTHCHECK_URL + "?status=down&msg=Can not connect to mail server&ping=")
|
r = requests.get(HEALTHCHECK_URL + "?status=down&msg=Can not connect to mail server&ping=")
|
||||||
print(r.status_code)
|
logging.debug(r.status_code)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
while True:
|
while True:
|
||||||
|
logging.debug("Loop")
|
||||||
check_email()
|
check_email()
|
||||||
|
|
||||||
r = requests.get(HEALTHCHECK_URL + "?status=up&msg=OK&ping=")
|
r = requests.get(HEALTHCHECK_URL + "?status=up&msg=OK&ping=")
|
||||||
print(r.status_code)
|
logging.debug(r.status_code)
|
||||||
|
|
||||||
time.sleep(CHECK_INTERVAL)
|
time.sleep(CHECK_INTERVAL)
|
||||||
|
Loading…
Reference in New Issue
Block a user