Guest User

Untitled

a guest
Nov 22nd, 2013
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.04 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import web
  3. from web.contrib.template import render_jinja
  4. import datetime
  5.  
  6. prefix = '/~witkowr1/apps/demo'
  7.  
  8. urls = (
  9.     prefix + '/', 'Index',
  10.     prefix + '/login','Login',
  11.     prefix + '/logout','Logout',
  12. )
  13.  
  14. app = web.application(urls, globals())
  15. wsgi = app.wsgifunc()
  16. web.config.debug = False
  17. session = web.session.Session(app, web.session.DiskStore('sessions'),initializer={'time':datetime.datetime.now()})
  18. render = render_jinja('static', encoding = 'utf-8')
  19. render._lookup.globals.update(assets=prefix+'/static')
  20.  
  21. allowed = (
  22.     ('user','user'),
  23. )
  24.  
  25. class Login:
  26.  
  27.     def GET(self):
  28.         web.seeother(prefix+'/')
  29.        
  30.     def POST(self):
  31.         login = web.input().login
  32.         passwd = web.input().passwd
  33.         if(login,passwd) in allowed:
  34.             session.logged_in = True
  35.             session.time = datetime.datetime.now()
  36.             last_login = web.cookies().get('time')
  37.             if last_login == None:
  38.                 last_login_data = u'Zalogowałeś się pierwszy raz.'
  39.             else:
  40.                 last_login_data = last_login
  41.             render.logged(name=login, date_last_login = last_login_data)
  42.         else:
  43.             session.logged_in = False
  44.         error=u'Niepoprawne dane. Spróbuj jeszcze raz.'
  45.             return render.login(error_msg=error)
  46.  
  47. class Logout:
  48.     def GET(self):
  49.         web.seeother(prefix+'/')
  50.  
  51.     def POST(self):
  52.         session.logged_in = False
  53.         web.setcookie('time',session.time)
  54.         message = u'Zostałeś poprawnie wylogowany.'
  55.         session.kill()
  56.         return render.login(error_msg=message)
  57.  
  58. class Index:
  59.     def GET(self):
  60.         if session.get('logged_in', False) or session.get('logged_in', None):
  61.             return render.logged()
  62.     else:
  63.             return render.login()
  64.  
  65. if web.config.get('_session') is None:
  66.     session = web.session.Session(app, web.session.DiskStore('sessions'))
  67.     web.config._session = session
  68. else:
  69.     session = web.config._session
  70. if __name__ == "__main__":
  71.     app.run()
Advertisement
Add Comment
Please, Sign In to add comment