Compare commits
2 commits
429858287f
...
be5921b6ee
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be5921b6ee | ||
|
|
f026cb2423 |
2 changed files with 22 additions and 4 deletions
|
|
@ -5,7 +5,7 @@ Fetches ALL Goose data from El Goose API and populates demo database
|
|||
import requests
|
||||
import time
|
||||
from datetime import datetime
|
||||
from sqlmodel import Session, select
|
||||
from sqlmodel import Session, select, or_
|
||||
from database import engine
|
||||
from models import (
|
||||
Vertical, Venue, Tour, Show, Song, Performance, Artist,
|
||||
|
|
@ -14,7 +14,7 @@ from models import (
|
|||
from passlib.context import CryptContext
|
||||
from slugify import generate_slug, generate_show_slug
|
||||
|
||||
BASE_URL = "http://elmeg-legacy-api:8000/api/v2"
|
||||
BASE_URL = "https://elgoose.net/api/v2"
|
||||
ARTIST_ID = 1 # Goose
|
||||
pwd_context = CryptContext(schemes=["argon2"], deprecated="auto")
|
||||
|
||||
|
|
@ -114,6 +114,10 @@ def create_users(session):
|
|||
print(f"✓ Created/Found {len(users)} users")
|
||||
return users
|
||||
|
||||
from sqlmodel import Session, select, or_
|
||||
|
||||
# ... (imports)
|
||||
|
||||
def import_venues(session):
|
||||
"""Import all venues"""
|
||||
print("\n🏛️ Importing venues...")
|
||||
|
|
@ -123,8 +127,14 @@ def import_venues(session):
|
|||
|
||||
venue_map = {}
|
||||
for v in venues_data:
|
||||
slug = generate_slug(v['venuename'])
|
||||
existing = session.exec(
|
||||
select(Venue).where(Venue.name == v['venuename'])
|
||||
select(Venue).where(
|
||||
or_(
|
||||
Venue.name == v['venuename'],
|
||||
Venue.slug == slug
|
||||
)
|
||||
)
|
||||
).first()
|
||||
|
||||
if existing:
|
||||
|
|
@ -132,7 +142,7 @@ def import_venues(session):
|
|||
else:
|
||||
venue = Venue(
|
||||
name=v['venuename'],
|
||||
slug=generate_slug(v['venuename']),
|
||||
slug=slug,
|
||||
city=v.get('city'),
|
||||
state=v.get('state'),
|
||||
country=v.get('country'),
|
||||
|
|
|
|||
|
|
@ -17,7 +17,15 @@ def daily_import_job():
|
|||
except Exception as e:
|
||||
logger.error(f"Daily import failed: {e}")
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
def start_scheduler():
|
||||
# Regular interval
|
||||
scheduler.add_job(daily_import_job, 'interval', hours=12, id='goose_import')
|
||||
|
||||
# Run once on startup (with 10s delay to let server settle)
|
||||
run_date = datetime.now() + timedelta(seconds=10)
|
||||
scheduler.add_job(daily_import_job, 'date', run_date=run_date, id='goose_import_startup')
|
||||
|
||||
scheduler.start()
|
||||
logger.info("Scheduler started with daily import job.")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue