@@ -70,40 +70,31 @@ def wrapper(*args, **kwargs):
7070IG_DID = os .getenv ("IG_DID" )
7171
7272
73- def update_event_csv (event_data , club_name , url ):
74- """
75- Update the event_info.csv file with new event data.
76- """
77- csv_file = "event_info.csv"
78-
79- required_fields = ["name" , "date" , "start_time" , "location" ]
80-
81- for field in required_fields :
82- if not event_data .get (field , "" ).strip ():
83- print (f"Event missing required field: { field } , skipping..." )
84- return False
85-
86- event_data ["club_name" ] = club_name
87- event_data ["url" ] = url
88- # Append the event data
73+ def append_event_to_csv (event_data , club_ig , post_url ):
74+ csv_file = "events_scraped.csv"
75+ file_exists = os .path .isfile (csv_file )
8976 with open (csv_file , "a" , newline = "" , encoding = "utf-8" ) as csvfile :
9077 fieldnames = [
91- "club_name" ,
92- "url" ,
93- "name" ,
94- "date" ,
95- "start_time" ,
96- "end_time" ,
97- "location" ,
78+ "club_handle" , "url" , "name" , "date" , "start_time" , "end_time" ,
79+ "location" , "price" , "food" , "registration" , "image_url"
9880 ]
9981 writer = csv .DictWriter (csvfile , fieldnames = fieldnames )
82+ if not file_exists :
83+ writer .writeheader ()
84+ writer .writerow ({
85+ "club_handle" : club_ig ,
86+ "url" : post_url ,
87+ "name" : event_data .get ("name" , "" ),
88+ "date" : event_data .get ("date" , "" ),
89+ "start_time" : event_data .get ("start_time" , "" ),
90+ "end_time" : event_data .get ("end_time" , "" ),
91+ "location" : event_data .get ("location" , "" ),
92+ "price" : event_data .get ("price" , "" ),
93+ "food" : event_data .get ("food" , "" ),
94+ "registration" : event_data .get ("registration" , False ),
95+ "image_url" : event_data .get ("image_url" , "" ),
96+ })
10097
101- # Write the event data
102- event_row = {k : v for k , v in event_data .items ()}
103- writer .writerow (event_row )
104-
105- print (f"Added event: { event_data .get ('name' )} " )
106- return True
10798
10899def insert_event_to_db (event_data , club_ig , post_url , sim_threshold = 80 ):
109100 # Check if an event already exists in db and insert it if not
@@ -151,6 +142,7 @@ def insert_event_to_db(event_data, club_ig, post_url, sim_threshold=80):
151142 ))
152143 conn .commit ()
153144 logger .debug (f"Event inserted: { event_data .get ('name' )} from { club_ig } " )
145+ append_event_to_csv (event_data , club_ig , post_url )
154146 return True
155147 except Exception as e :
156148 logger .error (f"Database error: { str (e )} " )
0 commit comments