diff --git a/spectur_live_view.py b/spectur_live_view.py index dfa2494..dd5d9a7 100644 --- a/spectur_live_view.py +++ b/spectur_live_view.py @@ -9,6 +9,7 @@ import pytz from io import BytesIO from datetime import datetime import requests +import yaml import numpy as np from PIL import Image from selenium import webdriver @@ -52,25 +53,35 @@ def login(driver): driver.get(URL) - # Login automatically if details provided - if (username and password): - # Get login fields - usr = driver.find_element_by_id('UserName') - pss = driver.find_element_by_id('Password') - btn = driver.find_element_by_id('submitlogin') + # Get login fields + usr = driver.find_element_by_id('UserName') + pss = driver.find_element_by_id('Password') + btn = driver.find_element_by_id('submitlogin') - # Input login details + if (username and password): + # Login automatically if details provided usr.send_keys(username) pss.send_keys(password) btn.click() else: - # Wait for user to log in manually - while True: - try: - driver.find_element_by_id('UserName') - time.sleep(1) - except NoSuchElementException: - break + # Try to get credientials saved locally + try: + credential_path = os.path.join(os.path.expanduser('~'), '.spectur') + with open(credential_path, 'r') as f: + credentials = yaml.safe_load(f.read()) + + # Input login details + usr.send_keys(credentials['USERNAME']) + pss.send_keys(credentials['PASSWORD']) + btn.click() + except FileNotFoundError: + # Wait for user to log in manually + while True: + try: + driver.find_element_by_id('UserName') + time.sleep(1) + except NoSuchElementException: + break # Extract cookies session = requests.Session()