def __call__(self, environ, start_response): request = Request(environ) lang = request.values.get('_lang') if lang is None: lang = request.accept_languages.best or 'en' lang = lang.split('-')[0].lower() if not has_language(lang): lang = 'en' request.translations = load_core_translations(lang) request.translations.language = lang response = None if request.path == '/': view = request.values.get('_current', 'start') if request.values.get('_startsetup'): response = self.start_setup(request) elif view in self.views: handler = self.views[view] if handler is not None and \ request.values.get('_next'): ctx = handler(request) if ctx is not None: response = self.handle_view(request, view, ctx) if response is None: if request.values.get('_next'): view = self.next[view] elif request.values.get('_prev'): view = self.prev[view] response = self.handle_view(request, view) if response is None: response = redirect('') return response(environ, start_response)
def get_request(self, environ): request = Request(environ) request.app = self.app request.translations = load_core_translations(self.app.cfg['language']) request.is_admin = False request.is_somebody = False cookie_name = self.app.cfg['session_cookie_name'] session = SecureCookie.load_cookie( request, cookie_name, self.app.cfg['secret_key'].encode('utf-8')) request.session = session engine = self.app.database_engine user_id = session.get('uid') if user_id: admin_privilege = engine.execute( privileges.select( privileges.c.name == 'BLOG_ADMIN')).fetchone() admin = engine.execute( user_privileges.select( and_( user_privileges.c.user_id == int(user_id), user_privileges.c.privilege_id == admin_privilege.privilege_id))).fetchone() request.is_somebody = True request.is_admin = admin is not None return request
def get_request(self, environ): request = Request(environ) request.app = self.app request.translations = load_core_translations(self.app.cfg['language']) request.is_admin = False request.is_somebody = False cookie_name = self.app.cfg['session_cookie_name'] session = SecureCookie.load_cookie( request, cookie_name, self.app.cfg['secret_key'].encode('utf-8') ) request.session = session engine = self.app.database_engine user_id = session.get('uid') if user_id: admin_privilege = engine.execute( privileges.select(privileges.c.name=='BLOG_ADMIN') ).fetchone() admin = engine.execute(user_privileges.select(and_( user_privileges.c.user_id==int(user_id), user_privileges.c.privilege_id==admin_privilege.privilege_id ))).fetchone() request.is_somebody = True request.is_admin = admin is not None return request