X-Git-Url: https://code.communitydata.science/coldcallbot-discord.git/blobdiff_plain/d6b74612e3a2f01112fa14c6c86bec9c20093ed3..da93d3fd56f78a67c1f109f4c72f3fcf35fbc102:/coldcallbot-manual.py?ds=sidebyside diff --git a/coldcallbot-manual.py b/coldcallbot-manual.py index 6c128ba..61c2010 100755 --- a/coldcallbot-manual.py +++ b/coldcallbot-manual.py @@ -3,39 +3,46 @@ from coldcall import ColdCall from datetime import datetime from csv import DictReader +import json current_time = datetime.today() +with open("configuration.json") as config_file: + config = json.loads(config_file.read()) ## create the coldcall object -cc = ColdCall(record_attendance=False, preferred_name_field="Name you'd like to go by in class") +cc = ColdCall(record_attendance=False) def get_missing(d=current_time): date_string = f'{d.month}/{d.day}/{d.year}' - with open("data/absence_poll_data.tsv", 'r') as f: + with open(config["optout_file"], 'r') as f: for row in DictReader(f, delimiter="\t"): if row["Date of class session you will be absent"] == date_string: - yield(row["Your UW student number"]) + yield(row[config["unique_name_rowname"]]) full_names = {} registered_students = [] -with open("data/2022_winter_COM_481_A_students.csv", 'r') as f: +with open(config["roster_file"], 'r') as f: for row in DictReader(f, delimiter=","): student_no = row["StudentNo"].strip() registered_students.append(student_no) - full_names[student_no] = f"{row['FirstName']} {row['LastName']}" -## print("Registered:", registered_students) + full_names[student_no] = f"{row[config['roster_firstname_rowname']]} {row[config['roster_lastname_rowname']]}" +# print("Registered:", registered_students) # useful for debug + +# get pronouns +with open(config["student_info_file"], 'r') as f: + preferred_pronouns = {} + for row in DictReader(f, delimiter="\t"): + preferred_pronouns[row[config["unique_name_rowname"]]] = row["Preferred pronouns"] +# print(preferred_pronouns) missing_today = [x for x in get_missing(current_time)] -## print("Missing Today: ", missing_today) +# print("Missing Today: ", missing_today) # useful for debug -preferred_names = {} -with open("data/student_information.tsv", 'r') as f: - for row in DictReader(f, delimiter="\t"): - preferred_names[row["Your UW student number"]] = row["Name you'd like to go by in class"] -## print("Preferred names:", preferred_names) +preferred_names = cc.get_preferred_names() +# print("Preferred names:", preferred_names) # useful for debug students_present = [s for s in registered_students if s not in missing_today] -## print("Students present:", students_present) +# print("Students present:", students_present) # useful for debug for i in range(100): selected_student = cc.select_student_from_list(students_present) @@ -43,11 +50,14 @@ for i in range(100): try: preferred_name = preferred_names[selected_student] except KeyError: - preferred_name = "MISSING PREFERRED NAME" + preferred_name = "[unknown preferred name]" + + if selected_student in preferred_pronouns: + pronouns = preferred_pronouns[selected_student] + else: + pronouns = "[unknown pronouns]" + + print(f"{i + 1}. {preferred_name} :: {pronouns} :: {full_names[selected_student]} :: {selected_student}") - print(f"{i + 1}.", - preferred_name, "::", - selected_student, "::", - full_names[selected_student]) cc.record_coldcall(selected_student)