コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
    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,
        )
コード例 #4
0
 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) )
コード例 #5
0
    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")
コード例 #6
0
ファイル: LoginHandler.py プロジェクト: altmer/study-projects
 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")
         
コード例 #7
0
    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/")
コード例 #8
0
ファイル: Unit2Rot13.py プロジェクト: altmer/study-projects
 def write_form(self, result = ""):
     self.response.out.write (rot13form % {"result" : escape(result)} )
コード例 #9
0
ファイル: LoginHandler.py プロジェクト: altmer/study-projects
 def render_form(self, username='',password='',error=''):
     self.render('login.html', 
                 username = escape(username), 
                 password = escape(password), 
                 error = error)