Skip to content

Commit 9c81335

Browse files
committed
update default values for environment variables
1 parent d70c155 commit 9c81335

3 files changed

Lines changed: 44 additions & 11 deletions

File tree

src/email.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,14 @@ def fmt_date(dt: datetime):
9797

9898
return cls(
9999
to_email=student.get_email(),
100-
from_email=Environment.get(ENV_EMAIL_FROM),
100+
from_email=Environment.get_email_from(),
101101
cc_emails=cc_emails,
102-
reply_to_email=Environment.get(ENV_EMAIL_REPLY_TO),
103-
subject=Environment.get(ENV_EMAIL_SUBJECT),
102+
reply_to_email=Environment.get_reply_to_email(),
103+
subject=Environment.get_email_subject(),
104104
body=body,
105105
)
106106

107+
"""
107108
def OLDsend(self) -> None:
108109
# TODO: When 162 adds HTML support, bring back HTML emails.
109110
# html_body = Markdown().convert(self.body)
@@ -130,7 +131,7 @@ def OLDsend(self) -> None:
130131
131132
except Exception as e:
132133
raise EmailError("An error occurred while sending an email:", e)
133-
134+
"""
134135

135136
def send(self) -> None:
136137
PORT = 465 # For starttls
@@ -140,7 +141,7 @@ def send(self) -> None:
140141
smtp_password = os.environ['SMTP_PASSWORD']
141142
sender_email = os.environ['SENDER_EMAIL']
142143

143-
SENDERNAME = Environment.get(ENV_EMAIL_FROM)
144+
SENDERNAME = Environment.get_email_from()
144145
receiver_email = self.to_email
145146
cc_emails = self.cc_emails
146147
reply_to_email = self.reply_to_email

src/gradescope.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def __init__(self) -> None:
2323

2424
@staticmethod
2525
def is_enabled():
26-
return cast_bool(Environment.safe_get("EXTEND_GRADESCOPE_ASSIGNMENTS", "No"))
26+
return Environment.get_extend_gradescope_assignments()
2727

2828
def apply_extension(self, assignment_name: str, assignment_urls: List[str], email: str, num_days: int) -> List[str]:
2929
warnings = []

src/utils.py

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@ def cast_list_int(cell: str) -> List[int]:
5353

5454
PREFIX = "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

5769
class 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

Comments
 (0)