def wrapper(self, *args, **kwargs): if web.ctx.path[0:6] == '/data/': languages = unicode(karesansui.config['application.default.locale']) if web.ctx.env.has_key('HTTP_AUTHORIZATION'): _http_auth = web.ctx.env['HTTP_AUTHORIZATION'].strip() if _http_auth[:5] == 'Basic': email, password = b64decode(_http_auth[6:].strip()).split(':') session = web.ctx.orm user = findby1email(session, email) languages = user.languages self._ = mako_translation(languages=[ unicode(languages), ]) return func(self, *args, **kwargs) if karesansui_database_exists() is False: return web.tempredirect(web.ctx.path + "init", absolute=False) if web.ctx.env.has_key('HTTP_AUTHORIZATION'): (user, email) = login() if user: self.me = user # Logout fname = '%s%s' % (LOGOUT_FILE_PREFIX, self.me.email,) if os.access(fname, os.F_OK): os.unlink(fname) return web.unauthorized() # Login: Success if user.languages in self.languages: x = self.languages.index(user.languages) self.languages.pop(x) self.languages.insert(0, user.languages) self.logger.info('user_id=%s,lang=%s : Method=%s - Basic Authentication=Success' % (self.me.id, ','.join(self.languages), self.__method__)) # __init__#self._ update!! self._ = mako_translation(languages=self.languages) return func(self, *args, **kwargs) else: # Login: Failure self.logger.info('user=%s : Method=%s - Basic Authentication=Failure' % (email, self.__method__)) return web.unauthorized() else: # Login: Anonymous self.logger.info('user=anonymous : Method=%s - Basic Authentication=Anonymous' % (self.__method__)) return web.unauthorized()
def _GET(self, *param, **params): self.view.database_bind = karesansui.config['database.bind'] self.view.default_locale = karesansui.config['application.default.locale'] self.view.locales = DEFAULT_LANGS.keys() if karesansui_database_exists() is True: return web.tempredirect("/", absolute=False) if self.is_mode_input(): return True else: return True return True
def wrapper(self, *args, **kwargs): if web.ctx.path[0:6] == '/data/': languages = unicode( karesansui.config['application.default.locale']) if web.ctx.env.has_key('HTTP_AUTHORIZATION'): _http_auth = web.ctx.env['HTTP_AUTHORIZATION'].strip() if _http_auth[:5] == 'Basic': email, password = b64decode( _http_auth[6:].strip()).split(':') session = web.ctx.orm user = findby1email(session, email) languages = user.languages self._ = mako_translation(languages=[ unicode(languages), ]) return func(self, *args, **kwargs) if karesansui_database_exists() is False: return web.tempredirect(web.ctx.path + "init", absolute=False) if not web.ctx.env.has_key('HTTP_AUTHORIZATION'): if web.ctx.env.has_key('Authorization'): web.ctx.env['HTTP_AUTHORIZATION'] = web.ctx.env[ 'Authorization'] if web.ctx.env.has_key('HTTP_AUTHORIZATION'): (user, email) = login() if user: self.me = user # Logout fname = '%s%s' % ( LOGOUT_FILE_PREFIX, self.me.email, ) if os.access(fname, os.F_OK): os.unlink(fname) return web.unauthorized() # Login: Success if user.languages in self.languages: x = self.languages.index(user.languages) self.languages.pop(x) self.languages.insert(0, user.languages) self.logger.info( 'user_id=%s,lang=%s : Method=%s - Basic Authentication=Success' % (self.me.id, ','.join(self.languages), self.__method__)) # __init__#self._ update!! self._ = mako_translation(languages=self.languages) return func(self, *args, **kwargs) else: # Login: Failure self.logger.info( 'user=%s : Method=%s - Basic Authentication=Failure' % (email, self.__method__)) return web.unauthorized() else: # Login: Anonymous self.logger.info( 'user=anonymous : Method=%s - Basic Authentication=Anonymous' % (self.__method__)) return web.unauthorized()