# import psycopg2.extras # import datetime import model from pprint import pprint import time # pwd import database import sys # import view if __name__ == '__main__': row = -1 if len(sys.argv) > 1: try: row = int(sys.argv[1]) except ValueError: sys.exit(1) broadcast = True # page_loads = 0 if len(sys.argv) > 2: broadcast = False start = time.time() db = database.db cursor = db.cursor() race_days_global = model.scrape_main_page() pprint(race_days_global) # model.setup_database() query = """ INSERT INTO race_program ( race_date, venue, race, start_time, utctime, state) VALUES (%s, %s, %s, %s, %s, %s) ON CONFLICT (utctime, state) DO UPDATE SET race_date = excluded.race_date, venue = excluded.venue, race = excluded.race, start_time = excluded.start_time """ for venue in race_days_global: raw_data = model.get_program_data(venue.program_url) for line in raw_data: timestamp = model.convert_to_tz_aware_datetime(venue.date, line[1], venue.state) cursor.execute(query, (venue.date, venue.name, line[0], line[1], timestamp, venue.state)) model.create_json(db) db.commit() cursor.close() db.close()