diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/download_scotia.py | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/python/download_scotia.py b/python/download_scotia.py deleted file mode 100644 index e7c3aafb..00000000 --- a/python/download_scotia.py +++ /dev/null @@ -1,77 +0,0 @@ -import os -import time -from selenium import webdriver -from selenium.webdriver.firefox.options import Options -from selenium.webdriver.support.ui import WebDriverWait -from report_ops.logger import get_logger - -from serenitas.utils.env import DAILY_DIR - -logger = get_logger(__name__) - - -def wait(driver): - WebDriverWait(driver, 10).until( - lambda driver: driver.execute_script("return document.readyState") == "complete" - ) - - -def download_report(account_username, password, report_dir): - driver = create_driver(report_dir) - login(driver, account_username, password) - navigate_to_inbox(driver) - attachment_element = get_attachment_element(driver) - fname = attachment_element.text.split()[0] - if not os.path.exists(os.path.join(report_dir, fname)): - attachment_element.click() - else: - logging.info(f"{fname} already exists in {report_dir}") - driver.quit() - - -def login(driver, account_username, password): - driver.get("https://web1.mail.scotiabank.com/webmail/do/Home") - wait(driver) - username_element = driver.find_element_by_id("username") - username_element.send_keys(account_username) - password_element = driver.find_element_by_id("passwordid") - password_element.send_keys(password) - login_button = driver.find_element_by_id("loginbutton") - login_button.click() - wait(driver) - - -def navigate_to_inbox(driver): - time.sleep(1) - login_button = driver.find_element_by_id("leftNavFolderLink") - login_button.click() - time.sleep(1) - login_button = driver.find_element_by_id("leftNavInboxFolderLink") - login_button.click() - time.sleep(1) - elements = driver.find_elements_by_class_name("zfolder-msg-clickable")[0] - elements.click() - time.sleep(1) - - -def get_attachment_element(driver): - return driver.find_elements_by_class_name("zmessage-attachment-link")[0] - - -def create_driver(download_dir): - options = Options() - options.add_argument("--headless") - fp = webdriver.FirefoxProfile() - fp.set_preference("browser.download.dir", str(download_dir)) - fp.set_preference("browser.download.folderList", 2) - fp.set_preference( - "browser.helperApps.neverAsk.saveToDisk", "application/octet-stream" - ) - return webdriver.Firefox(firefox_profile=fp, options=options) - - -def download_scotia_report(): - scotia_login = {"selene-ops@lmcg.com": "oeujG*UF!53o"} - for username, password in scotia_login.items(): - REPORT_DIR = DAILY_DIR / "Selene" / "Scotia_reports" - download_report(username, password, REPORT_DIR) |
