diff --git a/deletefb/tools/chrome_driver.py b/deletefb/tools/chrome_driver.py index 2069340..c59361e 100644 --- a/deletefb/tools/chrome_driver.py +++ b/deletefb/tools/chrome_driver.py @@ -1,25 +1,19 @@ -import re -import zipfile -import os, sys, stat, platform -from urllib.request import urlretrieve -from collections import namedtuple - +from ..exceptions import UnknownOSException +from .common import NO_CHROME_DRIVER from clint.textui import puts, colored -import progressbar - from selenium import webdriver +from urllib.request import urlretrieve -from .common import NO_CHROME_DRIVER -from ..exceptions import UnknownOSException - - -_ = namedtuple('WebDrivers', 'mac linux windows') -drivers = ['https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_mac64.zip', - 'https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_linux64.zip', - 'https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_win32.zip' - ] -WebDriver = _(drivers[0], drivers[1], drivers[2]) +import os, sys, stat, platform +import progressbar +import re +import zipfile +chrome_drivers = { + "Windows" : "https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_win32.zip", + "Darwin" : "https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_mac64.zip", + "Linux" : "https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_linux64.zip" +} def extract_zip(filename): """ @@ -71,14 +65,8 @@ def get_webdriver(): else: # Download it according to the current machine - os_platform = platform.system() - if os_platform == 'Darwin': - chrome_webdriver = WebDriver.mac - elif os_platform == 'Linux': - chrome_webdriver = WebDriver.linux - elif os_platform == 'Windows': - chrome_webdriver = WebDriver.windows - else: + chrome_webdriver = chrome_drivers.get(platform.system(), False) + if not chrome_webdriver: raise UnknownOSException("Unknown Operating system platform") global total_size diff --git a/deletefb/tools/login.py b/deletefb/tools/login.py index c1c67a5..daae1d5 100644 --- a/deletefb/tools/login.py +++ b/deletefb/tools/login.py @@ -1,10 +1,9 @@ +from .chrome_driver import get_webdriver, setup_selenium from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.chrome.options import Options import time -from .chrome_driver import get_webdriver, setup_selenium - def login(user_email_address, user_password, is_headless, @@ -52,14 +51,9 @@ def login(user_email_address, login_button = "loginbutton" approvals_code = "approvals_code" - emailelement = driver.find_element_by_name(email) - passwordelement = driver.find_element_by_name(password) - - emailelement.send_keys(user_email_address) - passwordelement.send_keys(user_password) - - loginelement = driver.find_element_by_id(login_button) - loginelement.click() + driver.find_element_by_name(email).send_keys(user_email_address) + driver.find_element_by_name(password).send_keys(user_password) + driver.find_element_by_id(login_button).click() # Defaults to no 2fa has_2fa = False