Пример #1
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "pois",
                  output_type_serializer=api.PoisSerializer)
     self.collections = [
         ("pois", NonNullList(fields.Nested(poi, display_null=False))),
         ("pagination", PbField(pagination)), ("error", PbField(error)),
         ("disruptions",
          fields.List(NonNullNested(disruption_marshaller),
                      attribute="impacts")),
         ("feed_publishers",
          NonNullList(fields.Nested(feed_publisher,
                                    display_null=False)))
     ]
     self.get_decorators.insert(1, get_obj_serializer(self))
     self.parsers["get"].add_argument(
         "original_id",
         type=six.text_type,
         help="original uri of the object you want to query")
     self.parsers["get"].add_argument(
         "bss_stands",
         type=BooleanType(),
         default=True,
         help="Show bss stands availability")
     args = self.parsers["get"].parse_args()
     if args["bss_stands"]:
         self.get_decorators.insert(2, ManageStands(self, 'pois'))
Пример #2
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "datasets",
                  output_type_serializer=api.DatasetsSerializer)
     self.collections = get_collections(self.collection)
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #3
0
    def __init__(self):
        ResourceUri.__init__(self, output_type_serializer=api.LineReportsSerializer)
        ResourceUtc.__init__(self)
        parser_get = self.parsers["get"]
        parser_get.add_argument("depth", type=int, default=1, help="The depth of your object")
        parser_get.add_argument("count", type=default_count_arg_type, default=25,
                                help="Number of objects per page")
        parser_get.add_argument("start_page", type=int, default=0,
                                help="The current page")
        parser_get.add_argument("_current_datetime", type=DateTimeFormat(),
                                schema_metadata={'default': 'now'}, hidden=True,
                                default=datetime.utcnow(),
                                help='The datetime considered as "now". Used for debug, default is '
                                     'the moment of the request. It will mainly change the output '
                                     'of the disruptions.')
        parser_get.add_argument("forbidden_uris[]", type=six.text_type,
                                help="forbidden uris",
                                dest="forbidden_uris[]",
                                default=[],
                                action="append",
                                schema_metadata={'format': 'pt-object'})
        parser_get.add_argument("disable_geojson", type=BooleanType(), default=False,
                                help="remove geojson from the response")
        parser_get.add_argument("since", type=DateTimeFormat(),
                                help="use disruptions valid after this date")
        parser_get.add_argument("until", type=DateTimeFormat(),
                                help="use disruptions valid before this date")

        self.collection = 'line_reports'
        self.collections = line_reports
        self.get_decorators.insert(0, ManageError())
        self.get_decorators.insert(1, get_obj_serializer(self))
Пример #4
0
    def __init__(self):
        ResourceUri.__init__(
            self, output_type_serializer=api.EquipmentReportsSerializer)
        ResourceUtc.__init__(self)
        parser_get = self.parsers["get"]
        parser_get.add_argument("depth",
                                type=DepthArgument(),
                                default=1,
                                help="The depth of your object")
        parser_get.add_argument("count",
                                type=default_count_arg_type,
                                default=25,
                                help="Number of objects per page")
        parser_get.add_argument("filter",
                                type=six.text_type,
                                default="",
                                help="Filter your objects")
        parser_get.add_argument("start_page",
                                type=int,
                                default=0,
                                help="The current page")
        parser_get.add_argument(
            "forbidden_uris[]",
            type=six.text_type,
            help="forbidden uris",
            dest="forbidden_uris[]",
            default=[],
            action="append",
            schema_metadata={'format': 'pt-object'},
        )

        self.collection = 'equipment_reports'
        self.get_decorators.insert(0, ManageError())
        self.get_decorators.insert(1, get_obj_serializer(self))
Пример #5
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "journey_patterns",
                  output_type_serializer=api.JourneyPatternsSerializer)
     self.collections = get_collections(self.collection)
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #6
0
        def __init__(self):
            Uri.__init__(self,
                         is_collection,
                         "pois",
                         output_type_serializer=api.PoisSerializer)
            self.collections = get_collections(self.collection)
            self.get_decorators.insert(1, get_obj_serializer(self))
            self.parsers["get"].add_argument(
                "original_id",
                type=six.text_type,
                help="original uri of the object you want to query")
            self.parsers["get"].add_argument(
                "bss_stands",
                type=BooleanType(),
                default=True,
                help="Show bss stands availability")
            self.parsers["get"].add_argument(
                "add_poi_infos[]",
                type=OptionValue(add_poi_infos_types),
                default=['bss_stands', 'car_park'],
                dest="add_poi_infos",
                action="append",
                help=
                "Show more information about the poi if it's available, for instance,"
                " show BSS/car park availability in the pois(BSS/car park) of "
                "response")

            args = self.parsers["get"].parse_args()
            if args["add_poi_infos"] or args["bss_stands"]:
                self.get_decorators.insert(2,
                                           ManageParkingPlaces(self, 'pois'))
Пример #7
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "physical_modes",
                  output_type_serializer=api.PhysicalModesSerializer)
     self.collections = get_collections(self.collection)
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #8
0
    def __init__(self, endpoint, *args, **kwargs):
        ResourceUri.__init__(self, *args, **kwargs)
        ResourceUtc.__init__(self)
        self.endpoint = endpoint
        self.parsers["get"] = reqparse.RequestParser(argument_class=ArgumentDoc)
        parser_get = self.parsers["get"]
        parser_get.add_argument("filter", type=six.text_type)
        parser_get.add_argument("from_datetime", type=DateTimeFormat(), default=None,
                                help="The datetime from which you want the schedules")
        parser_get.add_argument("until_datetime", type=DateTimeFormat(), default=None,
                                help="The datetime until which you want the schedules")
        parser_get.add_argument("duration", type=int, default=3600 * 24,
                                help="Maximum duration between datetime and the retrieved stop time")
        parser_get.add_argument("depth", type=depth_argument, default=2)
        parser_get.add_argument("count", type=default_count_arg_type, default=10,
                                help="Number of schedules per page")
        parser_get.add_argument("start_page", type=int, default=0,
                                help="The current page")
        parser_get.add_argument("max_date_times", type=UnsignedInteger(), deprecated=True,
                                help="DEPRECATED, replaced by `items_per_schedule`")
        parser_get.add_argument("forbidden_id[]", type=six.text_type, deprecated=True,
                                help="DEPRECATED, replaced by `forbidden_uris[]`",
                                dest="__temporary_forbidden_id[]",
                                default=[],
                                action='append',
                                schema_metadata={'format': 'pt-object'})
        parser_get.add_argument("forbidden_uris[]", type=six.text_type,
                                help="forbidden uris",
                                dest="forbidden_uris[]",
                                default=[],
                                action='append',
                                schema_metadata={'format': 'pt-object'})
        parser_get.add_argument("calendar", type=six.text_type,
                                help="Id of the calendar")
        parser_get.add_argument("distance", type=int, default=200,
                                help="Distance range of the query. Used only if a coord is in the query")
        parser_get.add_argument("show_codes", type=BooleanType(), default=False,
                                help="show more identification codes")
        #Note: no default param for data freshness, the default depends on the API
        parser_get.add_argument("data_freshness",
                                help='freshness of the data. '
                                     'base_schedule is the long term planned schedule. '
                                     'adapted_schedule is for planned ahead disruptions (strikes, '
                                     'maintenances, ...). '
                                     'realtime is to have the freshest possible data',
                                type=OptionValue(['base_schedule', 'adapted_schedule', 'realtime']))
        parser_get.add_argument("_current_datetime", type=DateTimeFormat(),
                                schema_metadata={'default': 'now'}, hidden=True,
                                default=datetime.utcnow(),
                                help='The datetime considered as "now". Used for debug, default is '
                                     'the moment of the request. It will mainly change the output '
                                     'of the disruptions.')
        parser_get.add_argument("items_per_schedule", type=UnsignedInteger(), default=10000,
                                help="maximum number of date_times per schedule")
        parser_get.add_argument("disable_geojson", type=BooleanType(), default=False,
                                help="remove geojson from the response")

        self.get_decorators.insert(0, ManageError())
        self.get_decorators.insert(1, get_obj_serializer(self))
        self.get_decorators.append(complete_links(self))
Пример #9
0
        def __init__(self):
            Uri.__init__(self, is_collection, "lines", output_type_serializer=api.LinesSerializer)
            self.get_decorators.insert(1, get_obj_serializer(self))

            self.parsers["get"].add_argument(
                "original_id", type=six.text_type, help="original uri of the object you want to query"
            )
Пример #10
0
 def __init__(self, *args, **kwargs):
     ResourceUri.__init__(self,
                          output_type_serializer=api.PtObjectsSerializer,
                          *args,
                          **kwargs)
     self.parsers["get"].add_argument("q",
                                      type=six.text_type,
                                      required=True,
                                      help="The data to search")
     self.parsers["get"].add_argument(
         "type[]",
         type=OptionValue(pt_object_type_values),
         action="append",
         default=pt_object_type_default_values,
         help="The type of data to search",
     )
     self.parsers["get"].add_argument(
         "count",
         type=default_count_arg_type,
         default=10,
         help="The maximum number of ptobjects returned")
     self.parsers["get"].add_argument(
         "search_type",
         type=int,
         default=0,
         hidden=True,
         help="Type of search: firstletter or type error")
     self.parsers["get"].add_argument(
         "admin_uri[]",
         type=six.text_type,
         action="append",
         help="If filled, will restrain the search within "
         "the given admin uris",
     )
     self.parsers["get"].add_argument("depth",
                                      type=DepthArgument(),
                                      default=1,
                                      help="The depth of objects")
     self.parsers["get"].add_argument(
         "_current_datetime",
         type=DateTimeFormat(),
         schema_metadata={'default': 'now'},
         hidden=True,
         default=datetime.now(),
         help='The datetime considered as "now". Used for debug, default is '
         'the moment of the request. It will mainly change the output '
         'of the disruptions.',
     )
     self.parsers['get'].add_argument(
         "disable_geojson",
         type=BooleanType(),
         default=False,
         help="remove geojson from the response")
     self.parsers['get'].add_argument(
         "disable_disruption",
         type=BooleanType(),
         default=False,
         help="remove disruptions from the response")
     self.collection = 'pt_objects'
     self.get_decorators.insert(0, get_obj_serializer(self))
Пример #11
0
 def __init__(self):
     ResourceUri.__init__(self,
                          output_type_serializer=api.CalendarsSerializer)
     parser_get = self.parsers["get"]
     parser_get.add_argument("depth",
                             type=depth_argument,
                             default=1,
                             help="The depth of your object")
     parser_get.add_argument("count",
                             type=default_count_arg_type,
                             default=10,
                             help="Number of calendars per page")
     parser_get.add_argument("start_page",
                             type=int,
                             default=0,
                             help="The current page")
     parser_get.add_argument("start_date",
                             type=six.text_type,
                             default="",
                             help="Start date")
     parser_get.add_argument("end_date",
                             type=six.text_type,
                             default="",
                             help="End date")
     parser_get.add_argument(
         "forbidden_id[]",
         type=six.text_type,
         deprecated=True,
         help="DEPRECATED, replaced by `forbidden_uris[]`",
         dest="__temporary_forbidden_id[]",
         default=[],
         action='append',
         schema_metadata={'format': 'pt-object'})
     parser_get.add_argument("forbidden_uris[]",
                             type=six.text_type,
                             help="forbidden uris",
                             dest="forbidden_uris[]",
                             default=[],
                             action="append",
                             schema_metadata={'format': 'pt-object'})
     parser_get.add_argument(
         "distance",
         type=int,
         default=200,
         help=
         "Distance range of the query. Used only if a coord is in the query"
     )
     parser_get.add_argument(
         "_current_datetime",
         type=DateTimeFormat(),
         schema_metadata={'default': 'now'},
         hidden=True,
         default=datetime.utcnow(),
         help='The datetime considered as "now". Used for debug, default is '
         'the moment of the request. It will mainly change the output '
         'of the disruptions.')
     self.collection = 'calendars'
     self.collections = calendars
     self.get_decorators.insert(0, ManageError())
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #12
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "vehicle_journeys",
                  output_type_serializer=api.VehicleJourneysSerializer)
     self.collections = get_collections(self.collection)
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #13
0
 def __init__(self):
     ResourceUri.__init__(self, output_type_serializer=api.TrafficReportsSerializer)
     parser_get = self.parsers["get"]
     parser_get.add_argument("depth", type=DepthArgument(), default=1, help="The depth of your object")
     parser_get.add_argument(
         "count", type=default_count_arg_type, default=10, help="Number of objects per page"
     )
     parser_get.add_argument("start_page", type=int, default=0, help="The current page")
     parser_get.add_argument(
         "_current_datetime",
         type=DateTimeFormat(),
         schema_metadata={'default': 'now'},
         hidden=True,
         default=datetime.utcnow(),
         help='The datetime considered as "now". Used for debug, default is '
         'the moment of the request. It will mainly change the output '
         'of the disruptions.',
     )
     parser_get.add_argument(
         "forbidden_id[]",
         type=six.text_type,
         deprecated=True,
         help="DEPRECATED, replaced by `forbidden_uris[]`",
         dest="__temporary_forbidden_id[]",
         default=[],
         action='append',
         schema_metadata={'format': 'pt-object'},
     )
     parser_get.add_argument(
         "forbidden_uris[]",
         type=six.text_type,
         help="forbidden uris",
         dest="forbidden_uris[]",
         default=[],
         action='append',
         schema_metadata={'format': 'pt-object'},
     )
     parser_get.add_argument(
         "distance",
         type=int,
         default=200,
         help="Distance range of the query. Used only if a coord is in the query",
     )
     parser_get.add_argument(
         "disable_geojson", type=BooleanType(), default=False, help="remove geojson from the response"
     )
     parser_get.add_argument(
         "tags[]",
         type=six.text_type,
         action="append",
         help="If filled, will restrain the search within the given disruption tags",
     )
     self.collection = 'traffic_reports'
     self.get_decorators.insert(0, ManageError())
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #14
0
 def __init__(self, *args, **kwargs):
     Uri.__init__(self,
                  is_collection,
                  "stop_points",
                  output_type_serializer=api.StopPointsSerializer,
                  *args,
                  **kwargs)
     self.collections = get_collections(self.collection)
     self.get_decorators.insert(1, get_obj_serializer(self))
     self.parsers["get"].add_argument(
         "original_id",
         type=six.text_type,
         help="original uri of the object you want to query")
Пример #15
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "datasets",
                  output_type_serializer=api.DatasetsSerializer)
     self.collections = [
         ("datasets",
          NonNullList(fields.Nested(dataset, display_null=False))),
         ("pagination", PbField(pagination)), ("error", PbField(error)),
         ("disruptions",
          fields.List(NonNullNested(disruption_marshaller),
                      attribute="impacts")),
         ("feed_publishers",
          NonNullList(fields.Nested(feed_publisher,
                                    display_null=False)))
     ]
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #16
0
    def __init__(self):
        ResourceUri.__init__(
            self, output_type_serializer=api.VehiclePositionsSerializer)
        ResourceUtc.__init__(self)
        parser_get = self.parsers["get"]
        parser_get.add_argument("depth",
                                type=DepthArgument(),
                                default=1,
                                help="The depth of your object")
        parser_get.add_argument("count",
                                type=default_count_arg_type,
                                default=25,
                                help="Number of objects per page")
        parser_get.add_argument("filter",
                                type=six.text_type,
                                default="",
                                help="Filter your objects")
        parser_get.add_argument("start_page",
                                type=int,
                                default=0,
                                help="The current page")
        parser_get.add_argument(
            "forbidden_uris[]",
            type=six.text_type,
            help="forbidden uris",
            dest="forbidden_uris[]",
            default=[],
            action="append",
            schema_metadata={'format': 'pt-object'},
        )
        parser_get.add_argument(
            "_current_datetime",
            type=DateTimeFormat(),
            schema_metadata={'default': 'now'},
            hidden=True,
            default=datetime.utcnow(),
            help='The datetime considered as "now". Used for debug, default is '
            'the moment of the request. It will mainly change the output '
            'of the disruptions.',
        )

        self.collection = 'vehicle_positions'
        self.get_decorators.insert(0, ManageError())
        self.get_decorators.insert(1, get_obj_serializer(self))
Пример #17
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "disruptions",
                  output_type_serializer=api.DisruptionsSerializer)
     self.collections = [
         ("pagination", PbField(pagination)), ("error", PbField(error)),
         ("disruptions",
          fields.List(NonNullNested(disruption_marshaller),
                      attribute="impacts")),
         ("feed_publishers",
          NonNullList(fields.Nested(feed_publisher,
                                    display_null=False)))
     ]
     self.get_decorators.insert(1, get_obj_serializer(self))
     self.parsers["get"].add_argument(
         "original_id",
         type=six.text_type,
         help="original uri of the object you want to query")
Пример #18
0
        def __init__(self):
            Uri.__init__(self,
                         is_collection,
                         "pois",
                         output_type_serializer=api.PoisSerializer)
            self.collections = [
                ("pois", NonNullList(fields.Nested(poi, display_null=False))),
                ("pagination", PbField(pagination)), ("error", PbField(error)),
                ("disruptions",
                 fields.List(NonNullNested(disruption_marshaller),
                             attribute="impacts")),
                ("feed_publishers",
                 NonNullList(fields.Nested(feed_publisher,
                                           display_null=False)))
            ]
            self.get_decorators.insert(1, get_obj_serializer(self))
            self.parsers["get"].add_argument(
                "original_id",
                type=six.text_type,
                help="original uri of the object you want to query")
            self.parsers["get"].add_argument(
                "bss_stands",
                type=BooleanType(),
                default=True,
                help="Show bss stands availability")
            self.parsers["get"].add_argument(
                "add_poi_infos[]",
                type=OptionValue(add_poi_infos_types),
                default=['bss_stands', 'car_park'],
                dest="add_poi_infos",
                action="append",
                help=
                "Show more information about the poi if it's available, for instance,"
                " show BSS/car park availability in the pois(BSS/car park) of "
                "response")

            args = self.parsers["get"].parse_args()
            if args["add_poi_infos"] or args["bss_stands"]:
                self.get_decorators.insert(2,
                                           ManageParkingPlaces(self, 'pois'))
Пример #19
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "poi_types",
                  output_type_serializer=api.PoiTypesSerializer)
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #20
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "commercial_modes",
                  output_type_serializer=api.CommercialModesSerializer)
     self.get_decorators.insert(1, get_obj_serializer(self))
Пример #21
0
 def __init__(self):
     Uri.__init__(self,
                  is_collection,
                  "contributors",
                  output_type_serializer=api.ContributorsSerializer)
     self.get_decorators.insert(1, get_obj_serializer(self))