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)
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
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 }
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']
"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(),
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
#"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 = {
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"]
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):
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: