#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# signup.py
#
# Copyright 2014 l3li3l@torguard.tg
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
#
import webapp2
import re
form = """
Sign Up
Signup
"""
class MainPage(webapp2.RequestHandler):
error0 = "That's not a valid username."
error1 = "That's not a valid password."
error2 = "Your passwords didn't match."
error3 = "That's not a valid email."
c = ""
d = ""
e = ""
f = ""
def write_form(self, username = "",
password = "",
verify = "",
email = "",
error0 = "",
error1 = "",
error2 = "",
error3 = ""):
self.response.out.write(form % {"username": username,
"password": password,
"verify": verify,
"email": email,
"error0": error0,
"error1": error1,
"error2": error2,
"error3": error3
})
def get(self):
self.write_form()
def post(self):
usrusr = self.valid_usr(self.request.get('username'))
usrpass = self.valid_pass(self.request.get('password'))
usrverify = self.usr_verify(self.request.get('password'), self.request.get('verify'))
usremail = self.valid_email(self.request.get('email'))
if usrusr == 0:
self.c = self.error0
if usrpass == 0:
self.d = self.error1
if usrverify == 0:
self.e = self.error2
if usremail == 0:
self.f = self.error3
if usrusr+usrpass+usrverify+usremail < 4:
self.write_form(self.request.get('username'),"","",self.request.get('email'), self.c, self.d, self.e, self.f)
else:
self.redirect('/welcome?username=%s' % self.request.get('username'))
def valid_usr(self, username):
if re.match(r"^[a-zA-Z0-9_-]{3,20}$", username):
return 1
else:
return 0
def valid_pass(self, password):
if re.match(r"^.{3,20}$", password):
return 1
else:
return 0
def usr_verify(self, password, verify):
if password == verify:
return 1
else:
return 0
def valid_email(self, email):
if email == "":
return 1
if re.match(r"^[\S]+@[\S]+\.[\S]+$", email):
return 1
else:
return 0
class WelcomeHandler(webapp2.RequestHandler):
def get(self):
username = self.request.get("username")
self.response.out.write("Welcome, %s!" % username)
application = webapp2.WSGIApplication([('/', MainPage),
('/welcome', WelcomeHandler)],debug=True)