mirror of
https://github.com/UofCBaja/BajaCloud.git
synced 2025-06-15 13:14:17 -06:00
feat(NoSheet): started creating default sheet, todo add default data
This commit is contained in:
parent
3b46d56339
commit
0077950f2a
102
NoSheet.py
102
NoSheet.py
@ -1,28 +1,44 @@
|
|||||||
import openpyxl
|
import openpyxl
|
||||||
import yaml
|
import yaml
|
||||||
import json
|
import json
|
||||||
|
import datetime
|
||||||
|
from openpyxl.styles import Font, Border, Side
|
||||||
|
|
||||||
yamlraw = """
|
|
||||||
Interview TimeTable:
|
def NoSheet():
|
||||||
- Date: Null
|
# sheet with an example properites
|
||||||
|
yamlraw = """
|
||||||
|
Recruitment Responses:
|
||||||
|
- Frist Name (What we should call them): Steve
|
||||||
|
- Last Name: the Bug
|
||||||
|
- Ucalgary Email: steve.the.bug@ucalgary.ca
|
||||||
|
- What Subsystem/SubTeam are you interested in?: |
|
||||||
|
Chassis
|
||||||
|
Ergonomics
|
||||||
|
Suspension
|
||||||
|
Steering
|
||||||
|
Powertrain
|
||||||
|
Final Drive
|
||||||
|
Any Mechanical
|
||||||
|
Business - Content Creation
|
||||||
|
Business - Business Relations
|
||||||
|
Software
|
||||||
|
- Major: General (1st Year)
|
||||||
|
- Academic Year: 1st
|
||||||
|
- Why are you interested in joining UCalgary BAJA?: Example Interest
|
||||||
|
- Where did you hear about us?: Testing
|
||||||
|
- Are you available for team meetings/work days? Saturdays 10 am - 4 pm: Yes #add condiftional formatting for no to make whole line red
|
||||||
|
Interview TimeTable:
|
||||||
|
- Date: 9/16/2024
|
||||||
- Meeting Duration: 30 min
|
- Meeting Duration: 30 min
|
||||||
- Start Time Slot: Null
|
- Start Time Slot: 10:00:00 AM
|
||||||
- Interviewee Name: Null
|
- Slot: 1
|
||||||
- Interviewee Email: Null
|
- Interviewee Name (What to call them): Steve
|
||||||
- Category (if not general): Null
|
- Interviewee Email: steve.the.bug@ucalgary.ca
|
||||||
- Interviewer(s) Name(s): Null
|
- Category (if not general): Test
|
||||||
- Status: Dropdown (Options in datahelp)
|
- Interviewer(s) Name(s): Example
|
||||||
Recruitment Responses:
|
- Status: Dropdown (Options in datahelp) #default is Unkown
|
||||||
- Frist Name (What we should call them): Null
|
Data Helper:
|
||||||
- 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:
|
- Status Dropdown:
|
||||||
- Unknown
|
- Unknown
|
||||||
- Done
|
- Done
|
||||||
@ -30,6 +46,48 @@ yamlraw = """
|
|||||||
- Cancelled/Moved
|
- Cancelled/Moved
|
||||||
"""
|
"""
|
||||||
|
|
||||||
yamlsheet = yaml.safe_load(yamlraw)
|
yamlsheet = yaml.safe_load(yamlraw)
|
||||||
|
|
||||||
print(json.dumps(yamlsheet, indent=4))
|
print(json.dumps(yamlsheet, indent=4))
|
||||||
|
|
||||||
|
year_donation = int(str(datetime.datetime.now().year)[2:]) + 1 # gets the last two digits of the current year then adds 1 for the current season
|
||||||
|
file_name = f"OR{year_donation}-L-Interview Data.xlsx" # name based off the 2025 naming system
|
||||||
|
|
||||||
|
sheet_names = [name for name in yamlsheet.keys()]
|
||||||
|
|
||||||
|
# border style
|
||||||
|
border = Border(
|
||||||
|
left=Side(style='medium'),
|
||||||
|
right=Side(style='medium'),
|
||||||
|
top=Side(style='medium'),
|
||||||
|
bottom=Side(style='medium')
|
||||||
|
)
|
||||||
|
|
||||||
|
# create workbook in memory
|
||||||
|
work_book = openpyxl.Workbook()
|
||||||
|
|
||||||
|
if len(sheet_names) > 0:
|
||||||
|
# remove default sheet
|
||||||
|
default_sheet = work_book.active
|
||||||
|
work_book.remove(default_sheet)
|
||||||
|
|
||||||
|
for sheet_name, title_list in yamlsheet.items():
|
||||||
|
# add standard sheets
|
||||||
|
sheet = work_book.create_sheet(sheet_name)
|
||||||
|
|
||||||
|
titles = [list(title.keys())[0] for title in title_list]
|
||||||
|
|
||||||
|
for col_num, title in enumerate(titles, start=1):
|
||||||
|
cell = sheet.cell(row=1, column=col_num)
|
||||||
|
cell.value = title
|
||||||
|
|
||||||
|
cell.font = Font(bold=True)
|
||||||
|
cell.border = border
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# save to storage
|
||||||
|
work_book.save(file_name)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
NoSheet()
|
@ -7,6 +7,12 @@ import time
|
|||||||
excel_file_path = "./OR-L-Interview Data.xlsx"
|
excel_file_path = "./OR-L-Interview Data.xlsx"
|
||||||
lock_file_path = "./OR-L-Interview Data.xlsx.lock"
|
lock_file_path = "./OR-L-Interview Data.xlsx.lock"
|
||||||
|
|
||||||
|
"""
|
||||||
|
TODO change to dynamic file name
|
||||||
|
year_donation = int(str(datetime.datetime.now().year)[2:]) + 1 # gets the last two digits of the current year then adds 1 for the current season
|
||||||
|
file_name = f"OR{year_donation}-L-Interview Data.xlsx" # name based off the 2025 naming system
|
||||||
|
"""
|
||||||
|
|
||||||
def ReadDatabase():
|
def ReadDatabase():
|
||||||
"""
|
"""
|
||||||
Reads the database for which slots are available
|
Reads the database for which slots are available
|
||||||
|
@ -8,6 +8,11 @@ from filelock import FileLock
|
|||||||
file_path = "./interview_database.xlsx"
|
file_path = "./interview_database.xlsx"
|
||||||
lock_path = "./interview_database.xlsx.lock" # Lock file for synchronization
|
lock_path = "./interview_database.xlsx.lock" # Lock file for synchronization
|
||||||
|
|
||||||
|
"""
|
||||||
|
TODO chnage to dynamic file name
|
||||||
|
year_donation = int(str(datetime.datetime.now().year)[2:]) + 1 # gets the last two digits of the current year then adds 1 for the current season
|
||||||
|
file_name = f"OR{year_donation}-L-Interview Data.xlsx" # name based off the 2025 naming system
|
||||||
|
"""
|
||||||
def ReadDatabase():
|
def ReadDatabase():
|
||||||
"""
|
"""
|
||||||
Reads the Database to retrieve available interview slots.
|
Reads the Database to retrieve available interview slots.
|
||||||
|
25
emp.yml
25
emp.yml
@ -1,25 +0,0 @@
|
|||||||
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
|
|
36
temp.yml
Normal file
36
temp.yml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
Recruitment Responses:
|
||||||
|
- Frist Name (What we should call them): Steve
|
||||||
|
- Last Name: the Bug
|
||||||
|
- Ucalgary Email: steve.the.bug@ucalgary.ca
|
||||||
|
- What Subsystem/SubTeam are you interested in?: |
|
||||||
|
Chassis
|
||||||
|
Ergonomics
|
||||||
|
Suspension
|
||||||
|
Steering
|
||||||
|
Powertrain
|
||||||
|
Final Drive
|
||||||
|
Any Mechanical
|
||||||
|
Business - Content Creation
|
||||||
|
Business - Business Relations
|
||||||
|
Software
|
||||||
|
- Major: General (1st Year)
|
||||||
|
- Academic Year: 1st
|
||||||
|
- Why are you interested in joining UCalgary BAJA?: Example Interest
|
||||||
|
- Where did you hear about us?: Testing
|
||||||
|
- Are you available for team meetings/work days? Saturdays 10 am - 4 pm: Yes #add condiftional formatting for no to make whole line red
|
||||||
|
Interview TimeTable:
|
||||||
|
- Date: 9/16/2024
|
||||||
|
- Meeting Duration: 30 min
|
||||||
|
- Start Time Slot: 10:00:00 AM
|
||||||
|
- Slot: 1
|
||||||
|
- Interviewee Name (What to call them): Steve
|
||||||
|
- Interviewee Email: steve.the.bug@ucalgary.ca
|
||||||
|
- Category (if not general): Test
|
||||||
|
- Interviewer(s) Name(s): Example
|
||||||
|
- Status: Dropdown (Options in datahelp) #default is Unkown
|
||||||
|
Data Helper:
|
||||||
|
- Status Dropdown:
|
||||||
|
- Unknown
|
||||||
|
- Done
|
||||||
|
- No Show
|
||||||
|
- Cancelled/Moved
|
Loading…
x
Reference in New Issue
Block a user