5
5
import sys
6
6
7
7
from secrets import token_hex
8
- from datetime import datetime , time
8
+ from datetime import datetime , time , date
9
9
import csv
10
10
import click
11
11
15
15
16
16
17
17
@app .cli .command ('create-secret' )
18
- def create_secret ():
18
+ def create_secret () -> None :
19
19
"""
20
20
Generates a securely random token. Useful for creating a value for use in the "SECRET_KEY" config setting.
21
21
"""
@@ -28,13 +28,13 @@ def create_secret():
28
28
29
29
30
30
class CSVFreshman :
31
- def __init__ (self , row ) :
31
+ def __init__ (self , row : list [ str ]) -> None :
32
32
self .name = row [0 ].strip ()
33
33
self .rit_username = row [3 ].strip ()
34
34
self .onfloor = row [1 ].strip () == 'TRUE'
35
35
36
36
37
- def parse_csv (freshmen_csv ) :
37
+ def parse_csv (freshmen_csv : str ) -> dict [ str , CSVFreshman ] :
38
38
print ('Parsing file...' )
39
39
try :
40
40
with open (freshmen_csv , newline = '' ) as freshmen_csv_file :
@@ -44,7 +44,7 @@ def parse_csv(freshmen_csv):
44
44
raise e
45
45
46
46
47
- def input_date (prompt ) :
47
+ def input_date (prompt : str ) -> date :
48
48
while True :
49
49
try :
50
50
date_str = input (prompt + ' (format: MM/DD/YYYY): ' )
@@ -55,7 +55,7 @@ def input_date(prompt):
55
55
56
56
@app .cli .command ('sync-freshmen' )
57
57
@click .argument ('freshmen_csv' )
58
- def sync_freshmen (freshmen_csv ) :
58
+ def sync_freshmen (freshmen_csv : str ) -> None :
59
59
"""
60
60
Updates the freshmen entries in the DB to match the given CSV.
61
61
"""
@@ -68,7 +68,7 @@ def sync_freshmen(freshmen_csv):
68
68
69
69
@app .cli .command ('create-packets' )
70
70
@click .argument ('freshmen_csv' )
71
- def create_packets (freshmen_csv ) :
71
+ def create_packets (freshmen_csv : str ) -> None :
72
72
"""
73
73
Creates a new packet season for each of the freshmen in the given CSV.
74
74
"""
@@ -84,7 +84,7 @@ def create_packets(freshmen_csv):
84
84
85
85
86
86
@app .cli .command ('ldap-sync' )
87
- def ldap_sync ():
87
+ def ldap_sync () -> None :
88
88
"""
89
89
Updates the upper and misc sigs in the DB to match ldap.
90
90
"""
@@ -97,7 +97,7 @@ def ldap_sync():
97
97
help = 'The file to write to. If no file provided, output is sent to stdout.' )
98
98
@click .option ('--csv/--no-csv' , 'use_csv' , required = False , default = False , help = 'Format output as comma separated list.' )
99
99
@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 :
101
101
"""
102
102
Fetches and prints the results from a given packet season.
103
103
"""
@@ -150,7 +150,7 @@ def fetch_results(file_path, use_csv, date_str):
150
150
151
151
@app .cli .command ('extend-packet' )
152
152
@click .argument ('packet_id' )
153
- def extend_packet (packet_id ) :
153
+ def extend_packet (packet_id : int ) -> None :
154
154
"""
155
155
Extends the given packet by setting a new end date.
156
156
"""
@@ -168,7 +168,7 @@ def extend_packet(packet_id):
168
168
print ('Packet successfully extended' )
169
169
170
170
171
- def remove_sig (packet_id , username , is_member ) :
171
+ def remove_sig (packet_id : int , username : str , is_member : bool ) -> None :
172
172
packet = Packet .by_id (packet_id )
173
173
174
174
if not packet .is_open ():
@@ -200,7 +200,7 @@ def remove_sig(packet_id, username, is_member):
200
200
@app .cli .command ('remove-member-sig' )
201
201
@click .argument ('packet_id' )
202
202
@click .argument ('member' )
203
- def remove_member_sig (packet_id , member ) :
203
+ def remove_member_sig (packet_id : int , member : str ) -> None :
204
204
"""
205
205
Removes the given member's signature from the given packet.
206
206
:param member: The member's CSH username
@@ -211,7 +211,7 @@ def remove_member_sig(packet_id, member):
211
211
@app .cli .command ('remove-freshman-sig' )
212
212
@click .argument ('packet_id' )
213
213
@click .argument ('freshman' )
214
- def remove_freshman_sig (packet_id , freshman ) :
214
+ def remove_freshman_sig (packet_id : int , freshman : str ) -> None :
215
215
"""
216
216
Removes the given freshman's signature from the given packet.
217
217
:param freshman: The freshman's RIT username
0 commit comments