50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
import os
|
|
import sys
|
|
from dotenv import load_dotenv
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
from database import Job
|
|
from main import setup_driver, login
|
|
import time
|
|
|
|
load_dotenv()
|
|
|
|
engine = create_engine("sqlite:////app/data/fotograf_jobs.db")
|
|
Session = sessionmaker(bind=engine)
|
|
db = Session()
|
|
|
|
# Get latest job
|
|
job = db.query(Job).order_by(Job.last_updated.desc()).first()
|
|
if not job:
|
|
print("No jobs found in database.")
|
|
sys.exit(1)
|
|
|
|
print(f"Using Job ID: {job.id} ({job.name}), Account: {job.account_type}")
|
|
|
|
username = os.getenv(f"{job.account_type.upper()}_USER")
|
|
password = os.getenv(f"{job.account_type.upper()}_PW")
|
|
|
|
driver = setup_driver()
|
|
if not driver:
|
|
print("Failed to init driver")
|
|
sys.exit(1)
|
|
|
|
if not login(driver, username, password):
|
|
print("Login failed")
|
|
driver.quit()
|
|
sys.exit(1)
|
|
|
|
orders_url = f"https://app.fotograf.de/config_jobs_orders/index/{job.id}/customer_orders"
|
|
print(f"Navigating to {orders_url}")
|
|
driver.get(orders_url)
|
|
time.sleep(5) # wait for page to load
|
|
|
|
html = driver.page_source
|
|
with open("orders_page.html", "w", encoding="utf-8") as f:
|
|
f.write(html)
|
|
|
|
driver.save_screenshot("orders_page.png")
|
|
print("Saved orders_page.html and orders_page.png")
|
|
|
|
driver.quit()
|