Currently experiencing problems, but hoping to be back up shortly. Sorry!
'
return """
{0} | Secret Snowflake | Sign-Up
{0}'s Secret Snowflake Sign-Up
""".format(ORGANIZATION) \
+ message + \
""""""
class signup:
def POST(self):
import re
data = web.input()
message = ''
if data.name == '': message += 'Please enter your name. '
if not re.match(r"[a-z0-9!#$%&'*+/=?^_{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Za-z]{2}|com|org|net|edu|info)\b", data['email']): message += 'Please enter your email. '
if not hasattr(data, 'promise'): message += 'Please make the promise. '
if message == '':
message += 'You have signed up! Please look for a email confirming your participation in the gift exchange.'
sql = db.connect()
sql.execute("""INSERT INTO snowflakes VALUES (%s, %s, %s)""", (data.name, data.email, data.info))
db.commit()
db.close()
mail(data.email, '{} Secret Snowflake'.format(ORGANIZATION), 'Hi {},\n\nJust an email confirmation that you have succesfully signed up for {}\'s Secret Snowflake gift exchange! Expect\n\nHappy Holidays!\nYour Secret Snowflake Coordinator'.format(data.name.split()[0], ORGANIZATION))
else:
message += 'Back to sign-up.'
web.header('Content-Type','text/html; charset=utf-8', unique=True)
return """
{0} | Secret Snowflake | Sign-Up
{0}'s Secret Snowflake Sign-Up
""".format(ORGANIZATION) \
+ message + \
"""
"""
class Snowflake:
def __init__(self,name,email,info):
self.name = name
self.email = email
self.info = info
class assign:
def POST(self):
data = web.input()
if not is_open():
message = 'You can only assign Secret Snowflakes once!'
elif data.password == PASSWORD:
message = 'Secret Snowflake assignments have been emailed successfully!'
sql = db.connect()
sql.execute("""UPDATE status SET open=0 WHERE 1 LIMIT 1""")
sql.execute("""SELECT name, email, info FROM snowflakes WHERE 1""")
db.commit()
from collections import deque
from random import shuffle
snowflakes = deque([])
for sf in sql.fetchall():
snowflakes.append(Snowflake(sf[0], sf[1], sf[2]))
db.close()
shuffle(snowflakes)
shuffle(snowflakes)
shuffle(snowflakes)
snowflakes2 = deque(snowflakes)
snowflakes2.rotate(1)
for i in xrange(len(snowflakes)):
a = snowflakes[i]
b = snowflakes2[i]
mail(a.email, 'Your {} Snowflake'.format(ORGANIZATION), 'Hi {},\n\nThanks for participating in {}\'s Secret Snowflake gift exchange! Your Secret Snowflake is {}. They would like you to know the following about themselves:\n{}\n\nHappy Holidays!\nYour Secret Snowflake Coordinator'.format(a.name.split()[0], ORGANIZATION, b.name, b.info if b.info else '[Nothing]'))
else:
message = 'Incorrect password. Back.'
web.header('Content-Type','text/html; charset=utf-8', unique=True)
return """
{0} | Secret Snowflake | Sign-Up
{0}'s Secret Snowflake Sign-Up
""".format(ORGANIZATION) + message + """
"""
class open:
def POST(self):
data = web.input()
if data.password == PASSWORD:
message = 'Sign-up is now open! Go to sign-up.'
sql = db.connect()
sql.execute("""UPDATE status SET open=1 WHERE 1 LIMIT 1""")
sql.execute("""DELETE FROM snowflakes WHERE 1""")
db.commit()
db.close()
else:
message = 'Incorrect password. Back.'
web.header('Content-Type','text/html; charset=utf-8', unique=True)
return """
{0} | Secret Snowflake | Sign-Up