Compare commits

..

No commits in common. "be5921b6ee6d80555657f55b4f3658fdf532cd41" and "429858287f17c95cf8ba8297797a484bd7d51302" have entirely different histories.

2 changed files with 4 additions and 22 deletions

View file

@ -5,7 +5,7 @@ Fetches ALL Goose data from El Goose API and populates demo database
import requests import requests
import time import time
from datetime import datetime from datetime import datetime
from sqlmodel import Session, select, or_ from sqlmodel import Session, select
from database import engine from database import engine
from models import ( from models import (
Vertical, Venue, Tour, Show, Song, Performance, Artist, Vertical, Venue, Tour, Show, Song, Performance, Artist,
@ -14,7 +14,7 @@ from models import (
from passlib.context import CryptContext from passlib.context import CryptContext
from slugify import generate_slug, generate_show_slug from slugify import generate_slug, generate_show_slug
BASE_URL = "https://elgoose.net/api/v2" BASE_URL = "http://elmeg-legacy-api:8000/api/v2"
ARTIST_ID = 1 # Goose ARTIST_ID = 1 # Goose
pwd_context = CryptContext(schemes=["argon2"], deprecated="auto") pwd_context = CryptContext(schemes=["argon2"], deprecated="auto")
@ -114,10 +114,6 @@ def create_users(session):
print(f"✓ Created/Found {len(users)} users") print(f"✓ Created/Found {len(users)} users")
return users return users
from sqlmodel import Session, select, or_
# ... (imports)
def import_venues(session): def import_venues(session):
"""Import all venues""" """Import all venues"""
print("\n🏛️ Importing venues...") print("\n🏛️ Importing venues...")
@ -127,14 +123,8 @@ def import_venues(session):
venue_map = {} venue_map = {}
for v in venues_data: for v in venues_data:
slug = generate_slug(v['venuename'])
existing = session.exec( existing = session.exec(
select(Venue).where( select(Venue).where(Venue.name == v['venuename'])
or_(
Venue.name == v['venuename'],
Venue.slug == slug
)
)
).first() ).first()
if existing: if existing:
@ -142,7 +132,7 @@ def import_venues(session):
else: else:
venue = Venue( venue = Venue(
name=v['venuename'], name=v['venuename'],
slug=slug, slug=generate_slug(v['venuename']),
city=v.get('city'), city=v.get('city'),
state=v.get('state'), state=v.get('state'),
country=v.get('country'), country=v.get('country'),

View file

@ -17,15 +17,7 @@ def daily_import_job():
except Exception as e: except Exception as e:
logger.error(f"Daily import failed: {e}") logger.error(f"Daily import failed: {e}")
from datetime import datetime, timedelta
def start_scheduler(): def start_scheduler():
# Regular interval
scheduler.add_job(daily_import_job, 'interval', hours=12, id='goose_import') 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() scheduler.start()
logger.info("Scheduler started with daily import job.") logger.info("Scheduler started with daily import job.")