Created
September 9, 2012 19:56
-
-
Save kgleeson/3686861 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import webapp2 | |
| import re | |
| class MainPage(webapp2.RequestHandler): | |
| with open('login.html', 'rU') as f: | |
| html = f.read() | |
| data = {'username':'', | |
| 'password':'', | |
| 'verify':'', | |
| 'email':'', | |
| 'usererror':'', | |
| 'passerror':'', | |
| 'verifyerror':'', | |
| 'emailerror':''} | |
| def write_form(self, **kwargs): | |
| self.response.write(self.html % kwargs) | |
| def check_user(self, user): | |
| userRE = re.compile('^[a-zA-Z0-9_-]{3,20}$') | |
| if userRE.match(user): | |
| return user | |
| def check_password(self, password): | |
| passRE = re.compile('^.{3,20}$') | |
| if passRE.match(password): | |
| return password | |
| def check_email(self, email): | |
| emailRE = re.compile('^[\S]+@[\S]+\.[\S]+$') | |
| if emailRE.match(email): | |
| return email | |
| def verify_passwords(self, pass1, pass2): | |
| if pass1 == pass2: | |
| return True | |
| def get(self): | |
| self.write_form(**self.data) | |
| def post(self): | |
| user_username = self.request.get('username') | |
| user_password = self.request.get('password') | |
| user_verify = self.request.get('verify') | |
| user_email = self.request.get('email') | |
| username = self.check_user(user_username) | |
| password = self.check_password(user_password) | |
| verify = self.verify_passwords(user_password, user_verify) | |
| email = self.check_email(user_email) | |
| if(username and password and verify and email): | |
| print 'awesome' | |
| else: | |
| if not username: | |
| self.data['usererror'] = "Username is not correct" | |
| if not password: | |
| self.data['passerror'] = "Password is not 3-20 chars long" | |
| if not verify: | |
| self.data['verifyerror'] = "Passwords do not match" | |
| if not email: | |
| self.data['emailerror'] = "Email address is not [email protected]" | |
| self.data['username'] = user_username | |
| self.data['password'] = user_password | |
| self.data['verify'] = user_verify | |
| self.data['email'] = user_email | |
| self.write_form(**self.data) | |
| app = webapp2.WSGIApplication([('/', MainPage)], | |
| debug=True) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment