From 3b46d563399f6ae6d6c64e3224b6d7d3ece130e2 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 7 Dec 2024 11:24:09 -0700 Subject: [PATCH] feat(Packagers): Added some comments and started on the what if first time --- NoSheet.py | 35 ++++++++++++++++++++++ OR-L-Interview Data.xlsx | Bin 0 -> 12265 bytes ReadDB.py | 6 ++-- WriteDB.py | 2 +- emp.yml | 25 ++++++++++++++++ interview_database.xlsx | Bin 5623 -> 0 bytes main.py | 62 +++++++++++++++++++++++++++++++++------ 7 files changed, 117 insertions(+), 13 deletions(-) create mode 100644 NoSheet.py create mode 100644 OR-L-Interview Data.xlsx create mode 100644 emp.yml delete mode 100644 interview_database.xlsx diff --git a/NoSheet.py b/NoSheet.py new file mode 100644 index 0000000..3d216f1 --- /dev/null +++ b/NoSheet.py @@ -0,0 +1,35 @@ +import openpyxl +import yaml +import json + +yamlraw = """ + Interview TimeTable: + - Date: Null + - Meeting Duration: 30 min + - Start Time Slot: Null + - Interviewee Name: Null + - Interviewee Email: Null + - Category (if not general): Null + - Interviewer(s) Name(s): Null + - Status: Dropdown (Options in datahelp) + Recruitment Responses: + - Frist Name (What we should call them): Null + - Last Name: Null + - Ucalgary Email: Null + - What Subsystem/SubTeam are you interested in?: Null + - Major: Null + - Academic Year: Null + - Why are you interested in joining UCalgary BAJA?: Null + - Where did you hear about us?: Null + - Are you available for team meetings/work days? Saturdays 10 am - 4 pm: Null #add condiftional formatting for no to make whole line red + Data Help: + - Status Dropdown: + - Unknown + - Done + - No Show + - Cancelled/Moved + """ + +yamlsheet = yaml.safe_load(yamlraw) + +print(json.dumps(yamlsheet, indent=4)) \ No newline at end of file diff --git a/OR-L-Interview Data.xlsx b/OR-L-Interview Data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d44d9a87246dfa14e9f4886c65ffa1a4c61ab2ba GIT binary patch literal 12265 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 literal 0 HcmV?d00001 diff --git a/ReadDB.py b/ReadDB.py index b1194d5..31d227b 100644 --- a/ReadDB.py +++ b/ReadDB.py @@ -4,12 +4,12 @@ from filelock import FileLock, Timeout import time # Define the path to the Excel file and the lock file -excel_file_path = "./interview_database.xlsx" -lock_file_path = "./interview_database.xlsx.lock" +excel_file_path = "./OR-L-Interview Data.xlsx" +lock_file_path = "./OR-L-Interview Data.xlsx.lock" def ReadDatabase(): """ - Reads the Database + Reads the database for which slots are available ``REQUIRES``: None diff --git a/WriteDB.py b/WriteDB.py index cf9ad46..9c64757 100644 --- a/WriteDB.py +++ b/WriteDB.py @@ -70,7 +70,7 @@ def AppendAppointment(date, start_time, interviewee_name, interviewee_email): with FileLock(lock_path): # Ensure process-safe access to the file # Load workbook and select "Sheet1" for updating appointments workbook = load_workbook(file_path) - sheet = workbook["Sheet1"] + sheet = workbook["Interview Timetable"] df = pd.read_excel(file_path) # Find and update the row that matches the provided date and start time diff --git a/emp.yml b/emp.yml new file mode 100644 index 0000000..2a49ad1 --- /dev/null +++ b/emp.yml @@ -0,0 +1,25 @@ +Interview TimeTable: + - Date: Null + - Meeting Duration: 30 min + - Start Time Slot: Null + - Interviewee Name: Null + - Interviewee Email: Null + - Category (if not general): Null + - Interviewer(s) Name(s): Null + - Status: Dropdown (Options in datahelp) +Recruitment Responses: + - Frist Name (What we should call them): Null + - Last Name: Null + - Ucalgary Email: Null + - What Subsystem/SubTeam are you interested in?: Null + - Major: Null + - Academic Year: Null + - Why are you interested in joining UCalgary BAJA?: Null + - Where did you hear about us?: Null + - Are you available for team meetings/work days? Saturdays 10 am - 4 pm: Null #add condiftional formatting for no to make whole line red +Data Help: + - Status Dropdown: + - Unknown + - Done + - No Show + - Cancelled/Moved diff --git a/interview_database.xlsx b/interview_database.xlsx deleted file mode 100644 index 69e0caf9ccbfc412c9acab188a2726b6890cc348..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5623 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

(|J~1JRLfd8Um$&3QJalbh~U# zHUWqvXBIGK_~;t}$Jzl?4`(}UqE^A-^4TF)>}G>Q71RZb-_hdgW*CF z@w1jRp1e0-5ptN!HlNPW{&ZA6>!ShWc5GI^brk=1QU7WSjBIQye-F(Aur?loKz*kD zCPhhPbqohq3#p>1A~jp*C0wn=jGj4yg^f)i+`J!o1xH(;jP7MO%UOon|dt*B*HO4wLmw^g;1G{1bkABirrAq3C=fWm}Px<@*ZepGey$#Yv0 zq>mJ%Ar8g{TJh4wH8noe?Qa~tpLO&^{!u)md%p@pnsB%&8pnv4@-o^(QwoSDbUM+= zwLCa*ie!+jbFxsdW&tDo$)+ONchwaMn35>)Yfb8Gq&$-AHRp7pGs}l1D={~6eHZpG zUUEph$*&EcJ-GP}Ub33%B}yxBy(LAgHpW0vkMS5UX}N_Y|AooPeEG^~b7`s#MVj(P zLuPri1&$ZXs%<*(Yb_E?2WHHD(C#f-K&~h?socaO z33KF8&Jw*Bw$g@FHHJC$d@CJAMNgE13MbwT!&Lr;fJCWxw9p+C8Om_TzNmKU?wb%1Y{gF81nM@=u0-B2LxRI8O&f5W ztVzCS9!EjI5tzAM=)S3(Pe(dQfqOBAmvaL!gP3~I%9u44;bb+c&w85GMsawLbWD$q z@Jit8?a4=hb9T7r8bZ%c8FQU?Q9D2N(;c{EJi5}Rbi>cO+VPku%Zu-NjvKltUiJh@ z8G?jN0{Gt|-EG$Vb@={Lz5btMcNcwEAN!330DO_!|Be1zExQZ9s}TJI|0THnhhB8o zz}@-dZv!=c%lG~=@SoGjT`PBckiV_?A~D@|CAXjPPe*bWdY97wffC*l-@gd{F7Pfz z{sTO}1>U~%-z9q&e7Da30o&iIl(*pjQT2E2+%2Vl?7X}k=>DUylp$#7zaGN8Jtb~` KQO+-25Ac604$#s7 diff --git a/main.py b/main.py index 07a7486..f052938 100644 --- a/main.py +++ b/main.py @@ -7,7 +7,20 @@ app = FastAPI() @app.get("/") def get_root(): - res = {"message": "Hello World"} + """ + This does nothing, allows for pings to check for life + + ``REQUIRES``: ```None`` Nothing + + ``PROMISES``: ``JSON`` returns a short message in the body + + ``Develop in part by``: Brock + + ``Contact``: darkicewolf50@gmail.com + + """ + + res = {"message": "Hello I am alive, this does nothing"} # Return the response with the custom header return JSONResponse( @@ -15,22 +28,29 @@ def get_root(): "isBase64Encoded": "false", # Header Modification }, content={ - "body": res + "body": res # Ensure res is a dict or do json.dumps to enusre it is stringified }, # status_code=200 commented out just to show how to change it if you wanted ) - # # Set headers - # headers = { - # "isBase64Encoded": "false", # Header Modification - # } - from GetSchedulePackager import getSchedulePackager @app.get("/getAppointments") async def getAppointments(): + """ + checks for all available slots in the database + + ``REQUIRES``: ```None`` Nothing + + ``PROMISES``: ``JSON`` returns all of the avaialbe slots by date then time + + ``Develop in part by``: Brock + + ``Contact``: darkicewolf50@gmail.com + + """ res = getSchedulePackager() @@ -39,7 +59,7 @@ async def getAppointments(): "isBase64Encoded": "false", # Header Modification }, content={ - "body": res + "body": res # Ensure res is a dict or do json.dumps to enusre it is stringified }, # status_code=200 commented out just to show how to change it if you wanted @@ -48,6 +68,18 @@ async def getAppointments(): from postSelectAppointment import SelectAppointment class Appointment(BaseModel): + """ + The formatted + + ``REQUIRES``: Correct Format + + ``PROMISES``: Formatted class, needs to be converted into dict os that it can be used in another file + + ``Develop in part by``: Brock + + ``Contact``: darkicewolf50@gmail.com + + """ intervieweeName: str date: str startTime: str @@ -56,6 +88,18 @@ class Appointment(BaseModel): @app.post("/SelectInterview") async def postSelectInterview(rawRequest: Appointment): + """ + Books an interview, first checks if the slot is valid + + ``REQUIRES``: ```Appointment`` A specifically formatted request + + ``PROMISES``: ``JSON`` returns if the booking was successful or not + + ``Develop in part by``: Brock + + ``Contact``: darkicewolf50@gmail.com + + """ requestDict = {key: str(value) for key, value in rawRequest.dict().items()} res = SelectAppointment(requestDict) @@ -65,7 +109,7 @@ async def postSelectInterview(rawRequest: Appointment): "isBase64Encoded": "false", # Header Modification }, content={ - "body": res + "body": res # Ensure res is a dict or do json.dumps to enusre it is stringified }, # status_code=200 commented out just to show how to change it if you wanted