|
|
@ -9,6 +9,7 @@ import pytz
|
|
|
|
from io import BytesIO
|
|
|
|
from io import BytesIO
|
|
|
|
from datetime import datetime
|
|
|
|
from datetime import datetime
|
|
|
|
import requests
|
|
|
|
import requests
|
|
|
|
|
|
|
|
import yaml
|
|
|
|
import numpy as np
|
|
|
|
import numpy as np
|
|
|
|
from PIL import Image
|
|
|
|
from PIL import Image
|
|
|
|
from selenium import webdriver
|
|
|
|
from selenium import webdriver
|
|
|
@ -52,18 +53,28 @@ def login(driver):
|
|
|
|
|
|
|
|
|
|
|
|
driver.get(URL)
|
|
|
|
driver.get(URL)
|
|
|
|
|
|
|
|
|
|
|
|
# Login automatically if details provided
|
|
|
|
|
|
|
|
if (username and password):
|
|
|
|
|
|
|
|
# Get login fields
|
|
|
|
# Get login fields
|
|
|
|
usr = driver.find_element_by_id('UserName')
|
|
|
|
usr = driver.find_element_by_id('UserName')
|
|
|
|
pss = driver.find_element_by_id('Password')
|
|
|
|
pss = driver.find_element_by_id('Password')
|
|
|
|
btn = driver.find_element_by_id('submitlogin')
|
|
|
|
btn = driver.find_element_by_id('submitlogin')
|
|
|
|
|
|
|
|
|
|
|
|
# Input login details
|
|
|
|
if (username and password):
|
|
|
|
|
|
|
|
# Login automatically if details provided
|
|
|
|
usr.send_keys(username)
|
|
|
|
usr.send_keys(username)
|
|
|
|
pss.send_keys(password)
|
|
|
|
pss.send_keys(password)
|
|
|
|
btn.click()
|
|
|
|
btn.click()
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
|
|
|
|
# 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
|
|
|
|
# Wait for user to log in manually
|
|
|
|
while True:
|
|
|
|
while True:
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|