mirror of
https://github.com/xtream1101/humblebundle-downloader.git
synced 2024-11-20 16:59:16 +01:00
39 lines
1016 B
Python
39 lines
1016 B
Python
|
import time
|
||
|
import logging
|
||
|
from selenium import webdriver
|
||
|
from webdriverdownloader import ChromeDriverDownloader
|
||
|
|
||
|
|
||
|
logger = logging.getLogger(__name__)
|
||
|
|
||
|
|
||
|
def _get_cookie_str(driver):
|
||
|
raw_cookies = driver.get_cookies()
|
||
|
baked_cookies = ''
|
||
|
for cookie in raw_cookies:
|
||
|
baked_cookies += f"{cookie['name']}={cookie['value']};"
|
||
|
# Remove the trailing ;
|
||
|
return baked_cookies[:-1]
|
||
|
|
||
|
|
||
|
def generate_cookie(cookie_path):
|
||
|
gdd = ChromeDriverDownloader()
|
||
|
chrome_driver = gdd.download_and_install()
|
||
|
|
||
|
# TODO: load previous cookies so it does not ask to re verify using an email code each time
|
||
|
driver = webdriver.Chrome(executable_path=chrome_driver[1])
|
||
|
|
||
|
driver.get('https://www.humblebundle.com/login')
|
||
|
|
||
|
while '/login' in driver.current_url:
|
||
|
# Waiting for the user to login
|
||
|
time.sleep(.25)
|
||
|
|
||
|
cookie_str = _get_cookie_str(driver)
|
||
|
with open(cookie_path, 'w') as f:
|
||
|
f.write(cookie_str)
|
||
|
|
||
|
logger.info(f"Saved cookie to {cookie_path}")
|
||
|
|
||
|
driver.quit()
|