Пример #1
0
        return str(value)


# Parser for RevenueAPI arguments
revenue_list_parser = RequestParser()
revenue_list_parser.add_argument('page', type=int, default=0)
revenue_list_parser.add_argument('per_page_num', type=int, default=100)
revenue_list_parser.add_argument('years', type=int, action='append')

# Fields for RevenueAPI data marshal
revenue_fields = {
    'id': fields.Integer(),
    'date': Date,
    'description': fields.String(),
    'code': fields.String(),
    'monthly_predicted': fields.Float(),
    'monthly_outcome': fields.Float()
}


class RevenueApi(restful.Resource):
    @restful.marshal_with(revenue_fields)
    def get(self):
        # Extract the argumnets in GET request
        args = revenue_list_parser.parse_args()
        page = args['page']
        per_page_num = args['per_page_num']
        years = args['years']

        # Create the query
        revenue_data = db.session.query(Revenue)
Пример #2
0
display_informations_vj = {
    "description": fields.String(attribute="description"),
    "physical_mode": fields.String(attribute="physical_mode"),
    "commercial_mode": fields.String(attribute="commercial_mode"),
    "network": fields.String(attribute="network"),
    "direction": fields.String(attribute="direction"),
    "label": get_label(attribute="display_information"),
    "color": fields.String(attribute="color"),
    "code": fields.String(attribute="code"),
    "equipments": equipments(attribute="has_equipments"),
    "headsign": fields.String(attribute="headsign"),
    "messages": NonNullList(NonNullNested(generic_message))
}

coord = {"lon": fields.Float(), "lat": fields.Float()}

generic_type = {
    "name": fields.String(),
    "id": fields.String(attribute="uri"),
    "coord": NonNullNested(coord, True)
}

admin = deepcopy(generic_type)
admin["level"] = fields.Integer
admin["zip_code"] = fields.String

generic_type_admin = deepcopy(generic_type)
admins = NonNullList(NonNullNested(admin))
generic_type_admin["administrative_regions"] = admins
Пример #3
0
instance_fields = {
    'id': fields.String,
    'name': fields.String,
    'provisioned_at': fields.DateTime,
    'lifetime_left': fields.Integer,
    'maximum_lifetime': fields.Integer,
    'runtime': fields.Float,
    'state': fields.String,
    'to_be_deleted': fields.Boolean,
    'error_msg': fields.String,
    'username': fields.String,
    'user_id': fields.String,
    'blueprint': fields.String,
    'blueprint_id': fields.String,
    'cost_multiplier': fields.Float(default=1.0),
    'can_update_connectivity': fields.Boolean(default=False),
    'instance_data': fields.Raw,
    'public_ip': fields.String,
    'client_ip': fields.String(default='not set'),
    'logs': fields.Raw,
}

instance_log_fields = {
    'id': fields.String,
    'instance_id': fields.String,
    'log_type': fields.String,
    'log_level': fields.String,
    'timestamp': fields.Float,
    'message': fields.String
}
Пример #4
0
contratos_list_parser.add_argument('page', type=int, default=0)
contratos_list_parser.add_argument('per_page_num', type=int, default=100)

# Fields for ContratoAPI data marshal
contratos_fields = {
    'id': fields.Integer(),
    'orgao': fields.String(),
    'data_assinatura': fields.DateTime(dt_format='iso8601'),
    'vigencia': fields.Integer(),
    'objeto': fields.String(),
    'modalidade': fields.String(),
    'evento': fields.String(),
    'processo_administrativo': fields.String(),
    'cnpj': fields.String(),
    'nome_fornecedor': fields.String(),
    'valor': fields.Float(),
    'licitacao': fields.String(),
    'data_publicacao': fields.DateTime(dt_format='iso8601')
}


class ContratoApi(restful.Resource):
    def filter(self, contratos_data):
        # Extract the arguments in GET request
        args = contratos_list_parser.parse_args()

        cnpj = args['cnpj']
        nome_fornecedor = args['nome_fornecedor']
        orgao = args['orgao']
        modalidade = args['modalidade']
        evento = args['evento']
Пример #5
0
        "duration": fields.Integer(),
        "direction": fields.Integer()
    }),
                attribute="street_network.path_items"),
    "transfer_type":
    enum_type(),
    "stop_date_times":
    NonNullList(NonNullNested(stop_date_time)),
    "departure_date_time":
    fields.String(attribute="begin_date_time"),
    "arrival_date_time":
    fields.String(attribute="end_date_time"),
}

cost = {
    'value': fields.Float(),
    'currency': fields.String(),
}

fare = {
    'total': NonNullNested(cost),
    'found': fields.Boolean(),
    'links': FareLinks(attribute="ticket_id")
}

journey = {
    'duration': fields.Integer(),
    'nb_transfers': fields.Integer(),
    'departure_date_time': fields.String(),
    'arrival_date_time': fields.String(),
    'requested_date_time': fields.String(),
Пример #6
0
        else:
            abort(
                400,
                'Invalid request: truthvalue object requires a details parameter'
            )

        return tv


class FormatTruthValue(fields.Raw):
    def format(self, value):
        return {'type': 'simple', 'details': marshal(value, tv_fields)}


tv_fields = {
    'strength': fields.Float(attribute='mean'),
    'confidence': fields.Float(attribute='confidence'),
    'count': fields.Float(attribute='count')
}


# AttentionValue helpers
class ParseAttentionValue(object):
    @staticmethod
    def parse(data):
        av = data['attentionvalue']
        sti = av['sti'] if 'sti' in av else None
        lti = av['lti'] if 'lti' in av else None
        vlti = av['vlti'] if 'vlti' in av else None

        return sti, lti, vlti
Пример #7
0
    #"coord": ??
    "level": fields.Integer,
    "name": fields.String,
    "label": fields.String(attribute="name"),
    "zip_code": fields.String,
}

ww_address = {
    "embeded_type": Lit("address"),
    "id": fields.String,
    "name": fields.String,
    "address": {
        "id":
        fields.String,
        "coord": {
            "lon": fields.Float(attribute="coord.lon"),
            "lat": fields.Float(attribute="coord.lat"),
        },
        "house_number":
        fields.String,
        "label":
        fields.String(attribute="name"),
        "name":
        fields.String(attribute="street.street_name"),
        "administrative_regions":
        fields.List(fields.Nested(ww_admin),
                    attribute="street.administrative_region")
    }
}

ww_street = {
Пример #8
0
            except ValueError:
                pass
        elif id[:3] == "poi":
            args["uri"] = id.split(":")[-1]
        elif id[:5] == "admin":
            args["uri"] = "admin:" + id.split(":")[-1]
        if not "uri" in args.keys():
            args["uri"] = id
        response = i_manager.dispatch(args,
                                      "place_uri",
                                      instance_name=self.region)
        return response, 200


place_nearby = deepcopy(place)
place_nearby["distance"] = fields.Float()
places_nearby = {
    "places_nearby": NonNullList(NonNullNested(place_nearby)),
    "error": PbField(error, attribute='error'),
    "pagination": PbField(pagination)
}


class PlacesNearby(ResourceUri):
    parsers = {}

    def __init__(self, *args, **kwargs):
        ResourceUri.__init__(self, *args, **kwargs)
        self.parsers["get"] = reqparse.RequestParser(
            argument_class=ArgumentDoc)
        parser_get = self.parsers["get"]
Пример #9
0
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
import datetime
#import arrow
from flask import abort
from flask.ext.restful import Resource, fields, marshal_with
from .fields import HTMLField

from flask.ext.login import current_user
eld_fields = {
    'user_id': fields.Integer(),
    'device_id': fields.Integer(),
    'rpm': fields.Integer(),
    'Event_Code': fields.Integer(),
    'rpm': fields.Integer(),
    # 'daterecorded':fields.DateTime(dt_format='rfc822'),
    'latitude': fields.Float(),
    'longitude': fields.Float(),
    'speed': fields.Float(),
    'vehicle_miles': fields.Float(),
    'vin': fields.Float(),
    'Odometer': fields.Float(),
    'Engine_Hours': fields.Float(),
    'todays_date': fields.Integer()
}
#Need to determine whether the API will control the events or whether this will be entered into an intermediary table.
#Likely should simply be an event. Need to add


class PostEventsAPI(Resource):
    @marshal_with(eld_fields)
    def get(self):
Пример #10
0
    return redirect(uri)


# 资源服务器端
# 数据模型
class Test1Data(object):
    def __init__(self, client_id, expires, salt, user_id):
        self.client_id = client_id
        self.expires = expires
        self.salt = salt
        self.user_id = user_id

# marshal-蒙版
resource_fields = {
    'client_id': fields.String(default=''),
    'expires': fields.Float(default=0.0),
    'salt': fields.Float(default=0.0),
    'user_id': fields.String(default=''),
    'date': fields.DateTime(default=str(datetime.now()))

}

# 新的资源服务器
class Test1(restful.Resource):
    @marshal_with(resource_fields)
    def get(self):
        token = request.args.get('token')
        ret = verify_token(token)
        if ret:
            return ret
        else:
Пример #11
0
    #"coord": ??
    "level": fields.Integer,
    "name": fields.String,
    "label": fields.String(attribute="name"),
    "zip_code": fields.String,
}

ww_address = {
    "embeded_type": Lit("address"),
    "id": fields.String,
    "name": fields.String,
    "address": {
        "id":
        fields.String,
        "coord": {
            "lon": fields.Float(attribute="coord.lon"),
            "lat": fields.Float(attribute="coord.lat"),
        },
        "house_number":
        fields.String,
        "label":
        fields.String(attribute="name"),
        "name":
        fields.String(attribute="street.street_name"),
        "administrative_regions":
        fields.List(fields.Nested(ww_admin),
                    attribute="street.administrative_region")
    }
}

ww_street = {