Skip to content
This repository was archived by the owner on Dec 8, 2022. It is now read-only.
10 changes: 9 additions & 1 deletion CodeChallenge/api/questions.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,11 @@ def answer_next_question():
text = data["text"]

try:
correct = str_cmp(text.lower(), q.answer.lower())
correct = str_cmp(text.casefold().strip(), q.answer.lower())
except TypeError:
return jsonify(status="success", correct=False)


ans = Answer.query.filter_by(user_id=user.id, question_id=q.id).first()

if ans is None:
Expand Down Expand Up @@ -203,6 +204,10 @@ def answer_eval():
return jsonify(status="error",
reason="missing 'language' property in JSON body"), 400

if language not in ("js", "python"):
return jsonify(status="error",
reason="unsupported language. valid choices are 'js' or 'python'"), 400

# designated output variable for evaluation
if language == "js":
code += ";output"
Expand All @@ -224,6 +229,9 @@ def answer_eval():
eval_error = eval_data["error"]
eval_output = str(eval_data["output"])

if language == "python":
eval_output = eval_output.rstrip() # remove trailing \n from print()

# any API error is an automatic failure
if eval_error:
return jsonify(status="success",
Expand Down
355 changes: 355 additions & 0 deletions CodeChallenge/templates/challenge_reminder_2.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,355 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>CodeWizardsHQ Code Challenge Reminder</title>
<style>
/* -------------------------------------
GLOBAL
A very basic CSS reset
------------------------------------- */
* {
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
box-sizing: border-box;
font-size: 14px;
}

img {
max-width: 100%;
}

body {
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: none;
width: 100% !important;
height: 100%;
line-height: 1.6em;
/* 1.6em * 14px = 22.4px, use px to get airier line-height also in Thunderbird, and Yahoo!, Outlook.com, AOL webmail clients */
/*line-height: 22px;*/
}

/* Let's make sure all tables have defaults */
table td {
vertical-align: top;
}

/* -------------------------------------
BODY & CONTAINER
------------------------------------- */
body {
background-color: #353535;
}

.body-wrap {
background-color: #353535;
width: 100%;
}

.container {
display: block !important;
max-width: 600px !important;
margin: 0 auto !important;
/* makes it centered */
clear: both !important;
}

.content {
max-width: 600px;
margin: 0 auto;
display: block;
padding: 20px;
}

/* -------------------------------------
HEADER, FOOTER, MAIN
------------------------------------- */
.main {
background-color: #fff;
border-radius: 3px;
}

.content-wrap {
padding: 40px;
}

.content-block {
padding: 0 0 20px;
}

.header {
width: 100%;
margin-bottom: 20px;
background-color: #353535;
padding: 20px;
color: #fff;
}

.header h3{
color: #fff;
}

.footer {
width: 100%;
clear: both;
color: #999;
padding: 20px;
}
.footer p, .footer a, .footer td {
color: #999;
font-size: 12px;
}

/* -------------------------------------
TYPOGRAPHY
------------------------------------- */
h1, h2, h3, h4 {
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
color: #27ae82;
margin: 20px 0 0;
line-height: 1.2em;
font-weight: 600;
}

h1 {
font-size: 32px;
/* 1.2em * 32px = 38.4px, use px to get airier line-height also in Thunderbird, and Yahoo!, Outlook.com, AOL webmail clients */
/*line-height: 38px;*/
}

h2 {
font-size: 24px;
/* 1.2em * 24px = 28.8px, use px to get airier line-height also in Thunderbird, and Yahoo!, Outlook.com, AOL webmail clients */
/*line-height: 29px;*/
}

h3 {
font-size: 18px;
/* 1.2em * 18px = 21.6px, use px to get airier line-height also in Thunderbird, and Yahoo!, Outlook.com, AOL webmail clients */
/*line-height: 22px;*/
}

h4 {
font-size: 14px;
font-weight: 600;
}

p, ul, ol {
margin-bottom: 10px;
font-weight: normal;
}
p li, ul li, ol li {
margin-left: 5px;
list-style-position: inside;
}

/* -------------------------------------
LINKS & BUTTONS
------------------------------------- */
a {
color: #348eda;
text-decoration: underline;
}

.btn-primary {
text-decoration: none;
color: #FFF !important;
background-color: #00774f;
border: solid #00774f;
border-width: 10px 20px;
line-height: 2em;
/* 2em * 14px = 28px, use px to get airier line-height also in Thunderbird, and Yahoo!, Outlook.com, AOL webmail clients */
/*line-height: 28px;*/
font-weight: bold;
text-align: center;
cursor: pointer;
display: inline-block;
border-radius: 5px;
text-transform: capitalize;
}

/* -------------------------------------
OTHER STYLES THAT MIGHT BE USEFUL
------------------------------------- */
.last {
margin-bottom: 0;
}

.first {
margin-top: 0;
}

.aligncenter {
text-align: center;
}

.alignright {
text-align: right;
}

.alignleft {
text-align: left;
}

.clear {
clear: both;
}

.social {
max-width: 30px;
display: inline-block;
}

/* -------------------------------------
ALERTS
Change the class depending on warning email, good email or bad email
------------------------------------- */
.alert {
font-size: 10px;
color: #fff;
font-weight: 500;
padding: 10px;
text-align: center;
border-radius: 3px 3px 0 0;
}
.alert a {
color: #fff;
text-decoration: none;
font-weight: 500;
font-size: 10px;
}
.alert.alert-warning {
background-color: #353535;
}
.alert.alert-bad {
background-color: #D0021B;
}
.alert.alert-good {
background-color: #0fad80;
}

/* -------------------------------------
RESPONSIVE AND MOBILE FRIENDLY STYLES
------------------------------------- */
@media only screen and (max-width: 640px) {
body {
padding: 0 !important;
}

h1, h2, h3, h4 {
font-weight: 800 !important;
margin: 20px 0 5px !important;
}

h1 {
font-size: 22px !important;
}

h2 {
font-size: 18px !important;
}

h3 {
font-size: 16px !important;
}

.container {
padding: 0 !important;
width: 100% !important;
}

.content {
padding: 0 !important;
}

.content-wrap {
padding: 10px !important;
}

}

</style>
</head>

<body itemscope itemtype="http://schema.org/EmailMessage">

<table class="body-wrap">
<tr>
<td></td>
<td class="container" width="800">
<div class="content">
<table class="main aligncenter" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td class="header aligncenter">
<img src="https://challenge.codewizardshq.com/images/logo-small.png">
</td>
</tr>
<tr>
<td class="content-wrap">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td class="content-block">
<a href="http://codewizardshq.com/challenge"><img src="https://codewizardshq.com/wp-content/uploads/2020/02/website-banner-min-v3.png"></a>
<h2>The Dragon Quest starts TOMORROW, April 3! </h2>
<br/>
<p>

<b>It’s finally time, %recipient_fname%! Our global kids coding challenge is starting tomorrow at 8:00AM CT.</b>
</p>
<p>
Over 700 kids from around the globe will be playing with you. Expect to test your coding skills, learn new skills, and play a really fun game while doing it!
</p>
<p>
<b>1st Place $100 Cash Prize<br>
2nd Place $50 Cash Prize<br>
3rd Place $25 Cash Prize<br>
</b>
</p>
<p>
<b>The 1st, 2nd, and 3rd place winners will be determined by public vote between April 26th-30th, 2020. So, tell your friends and family now!</b>
</p>
<p>
Plus, our friends at T2 have generously donated 5 free Steam Access game codes for 1st-5th place to become ambassadors of the <a href="https://store.steampowered.com/app/827880/The_Endless_Mission/" target=_blank>Endless Mission</a>.
</p>
<p>
Any challengers who complete the 21 levels will also win a $100 CodeWizardsHQ Gift Card.
</p>
<p>
Get <a href="http://CodeWizardsHQ.com/challenge">challenge details</a> and <a href="https://challenge.codewizardshq.com/login">login</a> tomorrow to start playing. Good luck!
</p>
<a href="https://challenge.codewizardshq.com/login" class="btn-primary">LOGIN TO PLAY</a>

<div style="padding-top: 20px">
<h4>Share The Dragon Quest With Friends</h4>
<br/>
<a href="https://www.facebook.com/events/501020200554546/" target="_blank"><img class="social" src="https://codewizardshq.com/wp-content/uploads/2020/01/challenge_icon_fb.jpg"></a>
<a href="https://twitter.com/CodeWizardsHQ" target="_blank"><img class="social" src="https://codewizardshq.com/wp-content/uploads/2020/01/challenge_icon_twitter.jpg" ></a>
<a href="mailto:?" target="_blank"><img class="social" src="https://codewizardshq.com/wp-content/uploads/2020/01/challenge_icon_email.jpg"></a>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="footer">
<table width="100%">
<tr class="aligncenter">
<td>
<a href="http://codewizardshq.com/challenge">Challenge Details</a><br/>
<a href="http://codewizardshq.com/challenge#challenge-prizes">Prizes</a><br/>
<a href="https://challenge.codewizardshq.com/frequently-asked-questions">Frequently Asked Questions</a></p>
</td>
</tr>
<tr>
<td class="aligncenter content-block"><a href="%unsubscribe_url%">Unsubscribe</a> from code challenge updates.</td>
</tr>
</table>
</div></div>
</td>
</tr>
</table>

</body>
</html>