Exemple #1
0
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 ""
Exemple #2
0
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 ""
Exemple #3
0
 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))
Exemple #5
0
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
Exemple #6
0
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