parent
b678e6fa68
commit
271251c1f4
29
backup.py
29
backup.py
|
@ -4,11 +4,11 @@ import configparser
|
||||||
import os
|
import os
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
from playwright.sync_api import Page, Playwright, sync_playwright # type: ignore
|
from playwright.sync_api import Page, Playwright, sync_playwright
|
||||||
|
|
||||||
import_url = "https://www.goodreads.com/review/import"
|
import_url = "https://www.goodreads.com/review/import"
|
||||||
wait_mins = 10
|
wait_mins = 10
|
||||||
refresh_backup = False
|
refresh_backup = True
|
||||||
|
|
||||||
today = date.today().isoformat() # current date in ISO format
|
today = date.today().isoformat() # current date in ISO format
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ def login(page: Page) -> None:
|
||||||
page.get_by_role("button", name="Sign in with email").click()
|
page.get_by_role("button", name="Sign in with email").click()
|
||||||
page.get_by_label("Email").fill(config.get("login", "email"))
|
page.get_by_label("Email").fill(config.get("login", "email"))
|
||||||
page.get_by_label("Password").fill(config.get("login", "password"))
|
page.get_by_label("Password").fill(config.get("login", "password"))
|
||||||
|
page.get_by_label("Keep me signed in").click()
|
||||||
page.get_by_label("Sign in").click()
|
page.get_by_label("Sign in").click()
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,12 +40,8 @@ def navigate_to_import_and_export(page: Page) -> None:
|
||||||
page.get_by_role("link", name="Import and export").click()
|
page.get_by_role("link", name="Import and export").click()
|
||||||
|
|
||||||
|
|
||||||
def run(playwright: Playwright) -> None:
|
def run_backup(page: Page) -> None:
|
||||||
"""Download export."""
|
"""Run backup."""
|
||||||
browser = playwright.chromium.launch(headless=True)
|
|
||||||
auth_json = os.path.join(script_dir, "auth.json")
|
|
||||||
context = browser.new_context(storage_state=auth_json)
|
|
||||||
page = context.new_page()
|
|
||||||
page.goto(import_url)
|
page.goto(import_url)
|
||||||
|
|
||||||
if refresh_backup:
|
if refresh_backup:
|
||||||
|
@ -67,9 +64,23 @@ def run(playwright: Playwright) -> None:
|
||||||
|
|
||||||
save_to = os.path.join(backup_dir, f"{today}_goodreads_library_export.csv")
|
save_to = os.path.join(backup_dir, f"{today}_goodreads_library_export.csv")
|
||||||
download.save_as(save_to)
|
download.save_as(save_to)
|
||||||
|
|
||||||
|
|
||||||
|
def run(playwright: Playwright) -> None:
|
||||||
|
"""Download export."""
|
||||||
|
browser = playwright.chromium.launch(headless=False)
|
||||||
|
auth_json = os.path.join(script_dir, "auth.json")
|
||||||
|
context = browser.new_context(storage_state=auth_json)
|
||||||
|
page = context.new_page()
|
||||||
|
|
||||||
|
# login(page)
|
||||||
|
|
||||||
|
page.goto("https://www.goodreads.com/")
|
||||||
|
|
||||||
|
run_backup(page)
|
||||||
|
|
||||||
page.close()
|
page.close()
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
context.storage_state(path=auth_json)
|
context.storage_state(path=auth_json)
|
||||||
context.close()
|
context.close()
|
||||||
browser.close()
|
browser.close()
|
||||||
|
|
Loading…
Reference in a new issue