Exemplo n.º 1
0
    def query(cls, **args):
        data = {'model': cls.__name__}
        data.update(
            dict(('{0}_{1}'.format(cls.__name__, key), value)
                 for key, value in list(args.items())))

        code, reason, response = get_request(query_url, data, encode, decode,
                                             headers, timeout, monitor)

        if (code // 100 != 2):
            if monitor: monitor({'status': "error", 'reason': reason.lower()})
            raise BadResponseError(code, reason, response)
        if response is None:
            if monitor:
                monitor({
                    'status': "error",
                    'reason': "invalid response format"
                })
            raise BadResponseError(code, reason, response)
        message = None
        try:
            message = BaseMessage(response)
        except KeyError:
            if monitor:
                monitor({
                    'status': "error",
                    'reason': "invalid message format"
                })
            raise BadResponseError("response object isn't a valid BaseMessage",
                                   response)
        return message.query(cls).all()
Exemplo n.º 2
0
    def query(cls, **args):
        data = {'model': cls.__name__}
        data.update(dict(('{0}_{1}'.format(cls.__name__, key), value)
                         for key, value in args.iteritems()))

        code, reason, response = get_request(
            query_url, data, encode, decode, headers, timeout, monitor)

        if (code // 100 != 2):
            if monitor: monitor({'status': "error", 'reason': reason.lower()})
            raise BadResponseError(code, reason, response)
        if response is None:
            if monitor: monitor({'status': "error",
                                 'reason': "invalid response format"})
            raise BadResponseError(code, reason, response)
        message = None
        try:
            message = BaseMessage(response)
        except KeyError:
            if monitor: monitor({'status': "error",
                                 'reason': "invalid message format"})
            raise BadResponseError(
                "response object isn't a valid BaseMessage", response)
        return message.query(cls).all()