@@ -53,6 +53,18 @@ def cast_list_int(cell: str) -> List[int]:
5353
5454PREFIX = "cs161extensions_"
5555
56+ DEFAULT_COURSE_NAME = "PLEASE SET A COURSE NAME"
57+ DEFAULT_REPLY_TO_EMAIL = "PLEASE SET REPLY-TO EMAIL"
58+
59+ DEFAULT_AUTO_APPROVE_THRESHOLD = 1
60+ DEFAULT_AUTO_APPROVE_THRESHOLD_DSP = 1
61+ DEFAULT_APPROVE_ASSIGNMENT_THRESDHOLD = 1
62+ DEFAULT_MAX_TOTAL_REQUESTED_EXTENSIONS_THRESHOLD = 3
63+
64+ DEFAULT_EMAIL_FROM = "[{}] <{}@berkeley.edu>" .format (DEFAULT_COURSE_NAME , DEFAULT_COURSE_NAME )
65+ DEFAULT_EMAIL_SUBJECT = "[CS 000] Extension Request Update"
66+
67+ DEFAULT_EXTEND_GRADESCOPE_ASSIGNMENTS = "No"
5668
5769class Environment :
5870 @staticmethod
@@ -82,26 +94,46 @@ def get(key: str) -> Any:
8294
8395 @staticmethod
8496 def get_auto_approve_threshold () -> int :
85- return int (Environment .get ("AUTO_APPROVE_THRESHOLD" ))
97+ return int (Environment .safe_get (
98+ "AUTO_APPROVE_THRESHOLD" , DEFAULT_AUTO_APPROVE_THRESHOLD ))
8699
87100 @staticmethod
88101 def get_auto_approve_threshold_dsp () -> int :
89- return int (Environment .get ("AUTO_APPROVE_THRESHOLD_DSP" ))
102+ return int (Environment .safe_get (
103+ "AUTO_APPROVE_THRESHOLD_DSP" , DEFAULT_AUTO_APPROVE_THRESHOLD_DSP ))
90104
91105 @staticmethod
92106 def get_max_total_requested_extensions_threshold () -> int :
93107 # If this number is -1, then assume this flag is disabled.
94108 # If this number is 0, then reject all extensions.
95109 # If this number is > 0, then reject extensions if the total number of extensions requested exceeds this number.
96- return int (Environment .safe_get ("MAX_TOTAL_REQUESTED_EXTENSIONS_THRESHOLD" , default = - 1 ))
110+ return int (Environment .safe_get (
111+ "MAX_TOTAL_REQUESTED_EXTENSIONS_THRESHOLD" , DEFAULT_MAX_TOTAL_REQUESTED_EXTENSIONS_THRESHOLD ))
97112
98113 @staticmethod
99114 def get_auto_approve_assignment_threshold () -> int :
100- return int (Environment .get ("AUTO_APPROVE_ASSIGNMENT_THRESHOLD" ))
115+ return int (Environment .safe_get (
116+ "AUTO_APPROVE_ASSIGNMENT_THRESHOLD" , DEFAULT_APPROVE_ASSIGNMENT_THRESDHOLD ))
101117
102118 @staticmethod
103119 def get_course_name () -> str :
104- return str (Environment .safe_get ("COURSE_NAME" , "" ))
120+ return str (Environment .safe_get ("COURSE_NAME" , DEFAULT_COURSE_NAME ))
121+
122+ @staticmethod
123+ def get_reply_to_email () -> str :
124+ return str (Environment .safe_get ("REPLY_TO_EMAIL" , DEFAULT_REPLY_TO_EMAIL ))
125+
126+ @staticmethod
127+ def get_email_from () -> str :
128+ return str (Environment .safe_get ("EMAIL_FROM" , DEFAULT_EMAIL_FROM ))
129+
130+ @staticmethod
131+ def get_email_subject () -> str :
132+ return str (Environment .safe_get ("EMAIL_SUBJECT" , DEFAULT_EMAIL_SUBJECT ))
133+
134+ @staticmethod
135+ def get_extend_gradescope_assignments () -> bool :
136+ return cast_bool (Environment .safe_get ("EXTEND_GRADESCOPE_ASSIGNMENTS" , DEFAULT_EXTEND_GRADESCOPE_ASSIGNMENTS ))
105137
106138 @staticmethod
107139 def configure_env_vars (sheet : Sheet ):
0 commit comments