added logging to stdout
This commit is contained in:
49
parser.py
49
parser.py
@@ -27,7 +27,7 @@ def fetch_via_browser(newfile):
|
|||||||
"download.default_directory" : set['files'],
|
"download.default_directory" : set['files'],
|
||||||
"profile.default_content_settings.popups" : 0,
|
"profile.default_content_settings.popups" : 0,
|
||||||
}
|
}
|
||||||
logging.debug("prefs: " + prefs)
|
log.debug("prefs: " + prefs)
|
||||||
options.add_experimental_option("prefs", prefs)
|
options.add_experimental_option("prefs", prefs)
|
||||||
options.add_argument("--headless")
|
options.add_argument("--headless")
|
||||||
options.add_argument("--disable-dev-shm-usage")
|
options.add_argument("--disable-dev-shm-usage")
|
||||||
@@ -69,32 +69,32 @@ def fetch_via_browser(newfile):
|
|||||||
timeout += 1
|
timeout += 1
|
||||||
|
|
||||||
if timeout == 20:
|
if timeout == 20:
|
||||||
logging.warning("Timeout beim Dateidownload erreicht.")
|
log.warning("Timeout beim Dateidownload erreicht.")
|
||||||
|
|
||||||
browser.quit()
|
browser.quit()
|
||||||
disp.stop()
|
disp.stop()
|
||||||
|
|
||||||
except:
|
except:
|
||||||
logging.error("Exception raised: ",sys.exc_info())
|
log.error("Exception raised: ",sys.exc_info())
|
||||||
|
|
||||||
def rotate_file(oldfile, newfile):
|
def rotate_file(oldfile, newfile):
|
||||||
try:
|
try:
|
||||||
os.remove(oldfile)
|
os.remove(oldfile)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error("Fehler beim Löschen")
|
log.error("Fehler beim Löschen")
|
||||||
if hasattr(e, 'message'):
|
if hasattr(e, 'message'):
|
||||||
logging.error(e.message)
|
log.error(e.message)
|
||||||
else:
|
else:
|
||||||
logging.error(e)
|
log.error(e)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
os.rename(newfile, oldfile)
|
os.rename(newfile, oldfile)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error("Fehler beim Umbenennen")
|
log.error("Fehler beim Umbenennen")
|
||||||
if hasattr(e, 'message'):
|
if hasattr(e, 'message'):
|
||||||
logging.error(e.message)
|
log.error(e.message)
|
||||||
else:
|
else:
|
||||||
logging.error(e)
|
log.error(e)
|
||||||
|
|
||||||
def compare_files(oldfile, newfile):
|
def compare_files(oldfile, newfile):
|
||||||
results = []
|
results = []
|
||||||
@@ -110,8 +110,8 @@ def compare_files(oldfile, newfile):
|
|||||||
old_sheet.calculate_dimension(force=True)
|
old_sheet.calculate_dimension(force=True)
|
||||||
new_sheet.calculate_dimension(force=True)
|
new_sheet.calculate_dimension(force=True)
|
||||||
|
|
||||||
logging.debug(f'Old-Sheet-Dimensions (mincol/maxcol:minrow/maxrow): {old_sheet.min_column}/{old_sheet.max_column}:{old_sheet.min_row}/{old_sheet.max_row}')
|
log.debug(f'Old-Sheet-Dimensions (mincol/maxcol:minrow/maxrow): {old_sheet.min_column}/{old_sheet.max_column}:{old_sheet.min_row}/{old_sheet.max_row}')
|
||||||
logging.debug(f'New-Sheet-Dimensions (mincol/maxcolminrow/maxrow): {new_sheet.min_column}/{new_sheet.max_column}:{new_sheet.min_row}/{new_sheet.max_row}')
|
log.debug(f'New-Sheet-Dimensions (mincol/maxcolminrow/maxrow): {new_sheet.min_column}/{new_sheet.max_column}:{new_sheet.min_row}/{new_sheet.max_row}')
|
||||||
|
|
||||||
global_min_row = min(old_sheet.min_row, new_sheet.min_row)
|
global_min_row = min(old_sheet.min_row, new_sheet.min_row)
|
||||||
global_max_row = max(set.get('max_row', old_sheet.max_row), set.get('max_row', new_sheet.max_row))
|
global_max_row = max(set.get('max_row', old_sheet.max_row), set.get('max_row', new_sheet.max_row))
|
||||||
@@ -123,7 +123,7 @@ def compare_files(oldfile, newfile):
|
|||||||
new_cell = new_sheet.cell(row=row, column=col)
|
new_cell = new_sheet.cell(row=row, column=col)
|
||||||
old_cell = old_sheet.cell(row=row, column=col)
|
old_cell = old_sheet.cell(row=row, column=col)
|
||||||
|
|
||||||
logging.debug(f'Performance Check, Cell: {col}:{row}')
|
log.debug(f'Performance Check, Cell: {col}:{row}')
|
||||||
|
|
||||||
if new_cell.value != old_cell.value:
|
if new_cell.value != old_cell.value:
|
||||||
if type(new_cell) is ReadOnlyCell:
|
if type(new_cell) is ReadOnlyCell:
|
||||||
@@ -133,18 +133,18 @@ def compare_files(oldfile, newfile):
|
|||||||
else:
|
else:
|
||||||
coord = f'{col}/{row}'
|
coord = f'{col}/{row}'
|
||||||
message = f'Veränderung in Zelle {coord}: {old_cell.value} ==> {new_cell.value}'
|
message = f'Veränderung in Zelle {coord}: {old_cell.value} ==> {new_cell.value}'
|
||||||
logging.info(message)
|
log.info(message)
|
||||||
results.append(message)
|
results.append(message)
|
||||||
new_wb.close()
|
new_wb.close()
|
||||||
old_wb.close()
|
old_wb.close()
|
||||||
|
|
||||||
if not results:
|
if not results:
|
||||||
logging.info("Keine Änderungen gefunden.")
|
log.info("Keine Änderungen gefunden.")
|
||||||
else:
|
else:
|
||||||
send_email(results, set['email_recipient'])
|
send_email(results, set['email_recipient'])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
logging.warning('Kann Dateien nicht vergleichen, Dateien nicht vorhanden?')
|
log.warning('Kann Dateien nicht vergleichen, Dateien nicht vorhanden?')
|
||||||
|
|
||||||
def send_email(results, recipient):
|
def send_email(results, recipient):
|
||||||
|
|
||||||
@@ -196,11 +196,20 @@ def main():
|
|||||||
compare_files(oldfile, newfile)
|
compare_files(oldfile, newfile)
|
||||||
|
|
||||||
set = load_settings()
|
set = load_settings()
|
||||||
logging.basicConfig(
|
log = logging.getLogger()
|
||||||
level=set['loglevel'],
|
log.setLevel(set['loglevel'])
|
||||||
format='[%(asctime)s] %(levelname)s: %(message)s',
|
log_format = logging.Formatter('[dw-parser] %(asctime)s - %(levelname)s: %(message)s')
|
||||||
filename=set['logfile']
|
|
||||||
)
|
handler_stdout = logging.StreamHandler(sys.stdout)
|
||||||
|
handler_stdout.setLevel(set['loglevel'])
|
||||||
|
handler_stdout.setFormatter(log_format)
|
||||||
|
|
||||||
|
handler_file = logging.FileHandler(set['logfile'])
|
||||||
|
handler_file.setLevel(set['loglevel'])
|
||||||
|
handler_file.setFormatter(log_format)
|
||||||
|
|
||||||
|
log.addHandler(handler_stdout)
|
||||||
|
log.addHandler(handler_file)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|||||||
Reference in New Issue
Block a user