summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosyid Haryadi <rosyid_haryadi@protonmail.com>2024-07-26 22:05:23 +0700
committerRosyid Haryadi <rosyid_haryadi@protonmail.com>2024-07-26 22:05:23 +0700
commitb222642821faa50c191ea69f3adf73726314f179 (patch)
tree798cf61c62a4fd512040f956bc4f83b8b541da9d
parentca16de589479995a9ceb9874d9dc8e6a043ac2bd (diff)
add logger
-rw-r--r--.env.template2
-rw-r--r--csvReader.py22
-rw-r--r--downloader.py9
-rw-r--r--util.py18
4 files changed, 51 insertions, 0 deletions
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