From b222642821faa50c191ea69f3adf73726314f179 Mon Sep 17 00:00:00 2001 From: Rosyid Haryadi Date: Fri, 26 Jul 2024 22:05:23 +0700 Subject: add logger --- .env.template | 2 ++ csvReader.py | 22 ++++++++++++++++++++++ downloader.py | 9 +++++++++ util.py | 18 ++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 util.py diff --git a/.env.template b/.env.template index e983322..06cab91 100644 --- a/.env.template +++ b/.env.template @@ -1,5 +1,7 @@ URL= DOWNLOAD_PATH= +FILENAME="Akhdani Task Management Report_Dashboard_Tabel.csv" +LOGFILE='watcher.log' REPORT_AREA_SELECTOR_TYPE="css selector" REPORT_AREA= EXPORT_BUTTON_SELECTOR_TYPE="xpath" diff --git a/csvReader.py b/csvReader.py index e69de29..a3c03b8 100644 --- a/csvReader.py +++ b/csvReader.py @@ -0,0 +1,22 @@ +import sys +from datetime import datetime +import csv +from util import setupLogger + +# Terlalu males setup locale +MONTH = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'agu', 'sep', 'okt', 'nov', 'des'] +currentMonth = MONTH[datetime.now().month - 1] + +logger = setupLogger() + + +def readCSV(filename): + try: + with open(filename) as csvfile: + pass + except FileNotFoundError: + logger.error(f'File "{filename}" not found') + + +if __name__ == '__main__': + readCSV('ngetest') diff --git a/downloader.py b/downloader.py index 8b74611..58b5f42 100644 --- a/downloader.py +++ b/downloader.py @@ -6,12 +6,17 @@ import time from dotenv import load_dotenv from selenium import webdriver +from selenium.common import TimeoutException from selenium.webdriver import ActionChains from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait +from util import setupLogger + load_dotenv() +logger = setupLogger() + def driverSetup(url): op = webdriver.ChromeOptions() @@ -49,6 +54,10 @@ def downloadCsv(): downloadButton.click() time.sleep(5) + logger.info("REPORT FILE DOWNLOADED") + + except TimeoutException: + logger.error("Timed out while downloading report") finally: driver.quit() diff --git a/util.py b/util.py new file mode 100644 index 0000000..88bff8e --- /dev/null +++ b/util.py @@ -0,0 +1,18 @@ +import logging +import os + +from dotenv import load_dotenv + +load_dotenv() + + +def setupLogger(): + # kayanya python logger itu singleton, bisa dipanggil berkali2 + logger = logging.getLogger(__name__) + logging.basicConfig( + filename=os.getenv('LOGFILE'), + encoding='utf-8', + level=logging.DEBUG, + format='%(asctime)s - %(levelname)s - %(message)s' + ) + return logger -- cgit v1.2.3-70-g09d2