| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- # 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
- 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) DO UPDATE SET
- race_date = excluded.race_date,
- venue = excluded.venue,
- race = excluded.race,
- start_time = excluded.start_time,
- state = excluded.state
- """
- 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()
|