Spaces:
No application file
No application file
| import gspread | |
| from Candidate import JobCandidate | |
| from typing import List | |
| # Authenticate with Google Sheets using a service account | |
| sa = gspread.service_account(filename='service_creds.json') | |
| def writeToSheets(candidates: List[JobCandidate]): | |
| sh = sa.open("Figma_swe") | |
| new_sheet_title = "Results" # Change this to your desired sheet name | |
| # Check if the sheet already exists | |
| try: | |
| existing_wks = sh.worksheet(new_sheet_title) | |
| except gspread.exceptions.WorksheetNotFound: | |
| existing_wks = None | |
| # If the sheet exists, delete it | |
| if existing_wks: | |
| sh.del_worksheet(existing_wks) | |
| new_wks = sh.add_worksheet(title=new_sheet_title, rows="100", cols="10") # Adjust rows and cols as needed | |
| data_to_write = [ | |
| [ "Timestamp", "Name", "Email", "Resume Link", "Cover Letter", "LinkedIn", "GitHub", "Personal Website", "Visa Sponsorship", "Disability Status", "Ethnic Background", "Gender", "Military Service" ] | |
| ] | |
| for candidate in candidates: | |
| data_row = [ | |
| candidate.timestamp.strftime("%m/%d/%Y %H:%M:%S"), | |
| candidate.name, | |
| candidate.email, | |
| candidate.resume_link, | |
| candidate.cover_letter, | |
| candidate.linkedin, | |
| candidate.github_link, | |
| candidate.personal_website_link, | |
| candidate.visa_sponsorship, | |
| candidate.disability_status, | |
| candidate.ethnic_background, | |
| candidate.gender, | |
| candidate.military_service | |
| ] | |
| data_to_write.append(data_row) | |
| new_wks.update('A1', data_to_write) | |
| print(f"Data written to '{new_sheet_title}' sheet.") | |