55import sys
66
77from secrets import token_hex
8- from datetime import datetime , time
8+ from datetime import datetime , time , date
99import csv
1010import click
1111
1515
1616
1717@app .cli .command ('create-secret' )
18- def create_secret ():
18+ def create_secret () -> None :
1919 """
2020 Generates a securely random token. Useful for creating a value for use in the "SECRET_KEY" config setting.
2121 """
@@ -28,13 +28,13 @@ def create_secret():
2828
2929
3030class CSVFreshman :
31- def __init__ (self , row ) :
31+ def __init__ (self , row : list [ str ]) -> None :
3232 self .name = row [0 ].strip ()
3333 self .rit_username = row [3 ].strip ()
3434 self .onfloor = row [1 ].strip () == 'TRUE'
3535
3636
37- def parse_csv (freshmen_csv ) :
37+ def parse_csv (freshmen_csv : str ) -> dict [ str , CSVFreshman ] :
3838 print ('Parsing file...' )
3939 try :
4040 with open (freshmen_csv , newline = '' ) as freshmen_csv_file :
@@ -44,7 +44,7 @@ def parse_csv(freshmen_csv):
4444 raise e
4545
4646
47- def input_date (prompt ) :
47+ def input_date (prompt : str ) -> date :
4848 while True :
4949 try :
5050 date_str = input (prompt + ' (format: MM/DD/YYYY): ' )
@@ -55,7 +55,7 @@ def input_date(prompt):
5555
5656@app .cli .command ('sync-freshmen' )
5757@click .argument ('freshmen_csv' )
58- def sync_freshmen (freshmen_csv ) :
58+ def sync_freshmen (freshmen_csv : str ) -> None :
5959 """
6060 Updates the freshmen entries in the DB to match the given CSV.
6161 """
@@ -68,7 +68,7 @@ def sync_freshmen(freshmen_csv):
6868
6969@app .cli .command ('create-packets' )
7070@click .argument ('freshmen_csv' )
71- def create_packets (freshmen_csv ) :
71+ def create_packets (freshmen_csv : str ) -> None :
7272 """
7373 Creates a new packet season for each of the freshmen in the given CSV.
7474 """
@@ -84,7 +84,7 @@ def create_packets(freshmen_csv):
8484
8585
8686@app .cli .command ('ldap-sync' )
87- def ldap_sync ():
87+ def ldap_sync () -> None :
8888 """
8989 Updates the upper and misc sigs in the DB to match ldap.
9090 """
@@ -97,7 +97,7 @@ def ldap_sync():
9797 help = 'The file to write to. If no file provided, output is sent to stdout.' )
9898@click .option ('--csv/--no-csv' , 'use_csv' , required = False , default = False , help = 'Format output as comma separated list.' )
9999@click .option ('--date' , 'date_str' , required = False , default = '' , help = 'Packet end date in the format MM/DD/YYYY.' )
100- def fetch_results (file_path , use_csv , date_str ) :
100+ def fetch_results (file_path : str , use_csv : bool , date_str : str ) -> None :
101101 """
102102 Fetches and prints the results from a given packet season.
103103 """
@@ -150,7 +150,7 @@ def fetch_results(file_path, use_csv, date_str):
150150
151151@app .cli .command ('extend-packet' )
152152@click .argument ('packet_id' )
153- def extend_packet (packet_id ) :
153+ def extend_packet (packet_id : int ) -> None :
154154 """
155155 Extends the given packet by setting a new end date.
156156 """
@@ -168,7 +168,7 @@ def extend_packet(packet_id):
168168 print ('Packet successfully extended' )
169169
170170
171- def remove_sig (packet_id , username , is_member ) :
171+ def remove_sig (packet_id : int , username : str , is_member : bool ) -> None :
172172 packet = Packet .by_id (packet_id )
173173
174174 if not packet .is_open ():
@@ -200,7 +200,7 @@ def remove_sig(packet_id, username, is_member):
200200@app .cli .command ('remove-member-sig' )
201201@click .argument ('packet_id' )
202202@click .argument ('member' )
203- def remove_member_sig (packet_id , member ) :
203+ def remove_member_sig (packet_id : int , member : str ) -> None :
204204 """
205205 Removes the given member's signature from the given packet.
206206 :param member: The member's CSH username
@@ -211,7 +211,7 @@ def remove_member_sig(packet_id, member):
211211@app .cli .command ('remove-freshman-sig' )
212212@click .argument ('packet_id' )
213213@click .argument ('freshman' )
214- def remove_freshman_sig (packet_id , freshman ) :
214+ def remove_freshman_sig (packet_id : int , freshman : str ) -> None :
215215 """
216216 Removes the given freshman's signature from the given packet.
217217 :param freshman: The freshman's RIT username
0 commit comments