Skip to content

Commit 89a4eef

Browse files
committed
add event data csv to workflow artifacts
1 parent ad6ce45 commit 89a4eef

File tree

1 file changed

+21
-29
lines changed

1 file changed

+21
-29
lines changed

backend/scraping/instagram_feed.py

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -70,40 +70,31 @@ def wrapper(*args, **kwargs):
7070
IG_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

10899
def 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

Comments
 (0)