def login(orm): try: for k,v in bottle.request.json.iteritems(): if k in ['username', 'userpass'] and v != "": Config._put(orm, k, v) except: error_exc() raise get_client(orm) return ""
def login(orm): try: for k, v in bottle.request.json.iteritems(): if k in ['username', 'userpass'] and v != "": Config._put(orm, k, v) except: error_exc() raise get_client(orm) return ""
def POST_(self, kwargs={}): trans = self._provider.dbconn.transaction() try: for k,v in kwargs.iteritems(): if k in ['username', 'userpass'] and v != "": r = self._provider.dbconn.select('config', where="key=$key", vars={"key":k}).list() if len(r)==0: self._provider.dbconn.insert('config', key=k, value=v) else: self._provider.dbconn.update('config', where="key=$key", vars={"key":k}, value=v) trans.commit() except: error_exc() trans.rollback() raise return ""
def expose(page='', format='html', debug=False): def expose_wrapper(fn): def format_wrapper(self, *args, **kwargs): try: result = fn(self, *args, **kwargs) # dynamic format if isinstance(result, dict) and 'format' in result.keys(): fmt = result['format'] del result['format'] else: fmt = format if fmt == 'html': result['identity'] = self.get_identity() if not debug: return self.render(page, fmt, result) else: return result except WebError, e: logger.debug("expose WebError %s %s \n%s" % (e.code, e.message, error_exc())) result = "" if "error_handler" in dir(self): result = self.error_handler(e) if result=="": raise else: return result except web.HTTPError: raise except Exception, e: logger.error(error_exc()) raise WebInternalError("Expose decorator error! %s" % str(e))
def get_client(orm): try: username = Config._get_value(orm, 'username') userpass = auth_check(Config._get_value(orm, 'userpass')) client = XunleiClient(username, userpass) return client except WebUnauthorizedError: raise except: logger.error(error_exc()) raise WebUnauthorizedError
def render(self, page, format, data): try: render_func = getattr(self, format + '_render') except AttributeError: raise WebInternalError("Invalid render format!") try: result = render_func(page, data) except web.HTTPError: raise except: logger.error(error_exc()) raise WebInternalError("Rendering page %s error" % (page+"."+format)) return result
def json_render(self, page, data): try: web.header('Content-Type', 'application/json;charset=utf-8') except AttributeError: pass # just for test s = "" try: if data: s = json.dumps(data) except: logger.error(error_exc()) raise WebInternalError("JSON encoding error! Data: %s" % str(data)) return s
def format_wrapper(self, *args, **kwargs): try: result = fn(self, *args, **kwargs) # dynamic format if isinstance(result, dict) and 'format' in result.keys(): fmt = result['format'] del result['format'] else: fmt = format if fmt == 'html': result['identity'] = self.get_identity() if not debug: return self.render(page, fmt, result) else: return result except WebError, e: logger.debug("expose WebError %s %s \n%s" % (e.code, e.message, error_exc())) result = "" if "error_handler" in dir(self): result = self.error_handler(e) if result=="": raise else: return result