def get(self,page_name): user = self.get_user() if not user: self.redirect('/wiki/signup') return edit_link = '/wiki/_edit' + page_name view_link = '/wiki' + page_name page = Page.get_page_by_name(page_name) if not page: self.redirect(edit_link) return editions = [] eds = list(page.editions) eds.reverse() num = 1 for edition_key in eds: edition = db.get(edition_key) editions.append( (edition.created.strftime('%d %b %Y %H:%M:%S'), escape(edition.content), view_link + '?v=' + str(num), edit_link + '?v=' + str(num) ) ) num+=1 self.render('wiki_history.html', editions = editions, view_page = view_link, edit_page = edit_link)
def render_form(self, username='', password='', verify='', email='', username_error='', password_error='', verify_error='', email_error=''): self.render('signup.html', username = escape(username), password = escape(password), verify = escape(verify), email = escape(email), username_error = username_error, password_error = password_error, verify_error = verify_error, email_error = email_error)
def render_form( self, username="", password="", verify="", email="", username_error="", password_error="", verify_error="", email_error="", ): self.render( "signup.html", username=escape(username), password=escape(password), verify=escape(verify), email=escape(email), username_error=username_error, password_error=password_error, verify_error=verify_error, email_error=email_error, )
def get(self, page_name): user = self.get_user() v = self.request.get('v') if v and v.isdigit(): v = int(v) else: v = 1 if not user: self.redirect('/wiki/signup') return page = Page.get_page_by_name(page_name) content = '' if page: content = db.get(page.editions[-v]).content self.render('wiki_edit.html', content = escape(content) )
def post(self): username = self.request.get("username") password = self.request.get("password") verify = self.request.get("verify") email = self.request.get("email") username_error = "" password_error = "" verify_error = "" email_error = "" users = db.GqlQuery("select * from User where name='%s'" % escape(username)) if users.count(1): username_error = "User with such name already exists" if not valid_username(username): username_error = "That's not valid username" if not valid_password(password): password_error = "That's not valid password" if password != verify: verify_error = "Your passwords didn't match" if email and not valid_email(email): email_error = "That's not valid email" if username_error or password_error or verify_error or email_error: self.render_form( username, password, verify, email, username_error, password_error, verify_error, email_error ) else: hash_salt = make_hash_salt(username, password) user = User(name=username, email=email, hashpw=hash_salt[0], salt=hash_salt[1]) user.put() cookie = "%s|%s" % (user.key().id(), user.hashpw) self.response.headers.add_header("Set-Cookie", "ikariblog_user=%s; Path=/" % cookie) self.redirect("/blog/welcome")
def post(self): username = self.request.get('username') password = self.request.get('password') users = db.GqlQuery("select * from User where name='%s'" % escape(username) ) error = '' if users.count(1): user = users[0] if not verify_hash(username, password, user.hashpw, user.salt): error = 'Invalid password' else: error='Invalid login' if error: self.render_form(username, password, error) else: cookie = '%s|%s' % ( user.key().id(), user.hashpw ) self.response.headers.add_header('Set-Cookie', 'ikariblog_user=%s; Path=/' % str(cookie) ) self.redirect("/blog/welcome")
def post(self): username = self.request.get('username') password = self.request.get('password') verify = self.request.get('verify') email = self.request.get('email') username_error = "" password_error = "" verify_error = "" email_error = "" users = db.GqlQuery("select * from User where name='%s'" % escape(username) ) if users.count(1): username_error = "User with such name already exists" if not valid_username(username): username_error = "That's not valid username" if not valid_password(password): password_error = "That's not valid password" if password != verify: verify_error = "Your passwords didn't match" if email and not valid_email(email): email_error = "That's not valid email" if username_error or password_error or verify_error or email_error: self.render_form(username, password, verify, email, username_error, password_error, verify_error, email_error) else: hash_salt = make_hash_salt(username, password) user = User(name = username, email = email, hashpw = hash_salt[0], salt = hash_salt[1]) user.put() self.set_cookie(user) self.redirect("/wiki/")
def write_form(self, result = ""): self.response.out.write (rot13form % {"result" : escape(result)} )
def render_form(self, username='',password='',error=''): self.render('login.html', username = escape(username), password = escape(password), error = error)