예제 #1
0
import six


week_pattern = {
    "monday": fields.Boolean(),
    "tuesday": fields.Boolean(),
    "wednesday": fields.Boolean(),
    "thursday": fields.Boolean(),
    "friday": fields.Boolean(),
    "saturday": fields.Boolean(),
    "sunday": fields.Boolean(),
}

calendar_period = {"begin": fields.String(), "end": fields.String()}

calendar_exception = {"datetime": fields.String(attribute="date"), "type": enum_type()}
validity_pattern = {'beginning_date': fields.String(), 'days': fields.String()}
calendar = {
    "id": NonNullString(attribute="uri"),
    "name": NonNullString(),
    "week_pattern": NonNullNested(week_pattern),
    "active_periods": NonNullList(NonNullNested(calendar_period)),
    "exceptions": NonNullList(NonNullNested(calendar_exception)),
    "validity_pattern": NonNullProtobufNested(validity_pattern),
}

calendars = {
    "calendars": NonNullList(NonNullNested(calendar)),
    "error": PbField(error, attribute='error'),
    "pagination": NonNullNested(pagination),
    "disruptions": fields.List(NonNullNested(disruption_marshaller), attribute="impacts"),
예제 #2
0
            'nb_vj_extentions': obj.nb_vj_extentions,
            'nb_sections': obj.nb_sections,
        }
        if hasattr(obj, 'internal_id'):
            debug['internal_id'] = obj.internal_id

        return debug


section = {
    "type":
    section_type(),
    "id":
    fields.String(),
    "mode":
    enum_type(attribute="street_network.mode"),
    "duration":
    fields.Integer(),
    "from":
    section_place(place, attribute="origin"),
    "to":
    section_place(place, attribute="destination"),
    "links":
    SectionLinks(attribute="uris"),
    "display_informations":
    PbField(display_informations_vj, attribute='pt_display_informations'),
    "additional_informations":
    NonNullList(PbEnum(response_pb2.SectionAdditionalInformationType)),
    "geojson":
    SectionGeoJson(),
    "path":
예제 #3
0
        if not args["from_datetime"] and args["until_datetime"]\
                and self.endpoint[:4] == "next":
            self.endpoint = "previous" + self.endpoint[4:]

        self._register_interpreted_parameters(args)
        return i_manager.dispatch(args,
                                  self.endpoint,
                                  instance_name=self.region)


date_time = {
    "date_time": SplitDateTime(date='date', time='time'),
    "additional_informations": additional_informations(),
    "links": stop_time_properties_links(),
    'data_freshness': enum_type(attribute='realtime_level'),
}

row = {
    "stop_point": PbField(stop_point),
    "date_times": fields.List(fields.Nested(date_time))
}

header = {
    "display_informations":
    PbField(display_informations_vj, attribute='pt_display_informations'),
    "additional_informations":
    NonNullList(PbEnum(response_pb2.SectionAdditionalInformationType)),
    "links":
    UrisToLinks()
}
예제 #4
0
class date_time_links(fields.Raw):

    def output(self, key, obj):
        disruption_links = [create_internal_link(_type="disruption", rel="disruptions", id=uri)
                            for uri in obj.impact_uris]
        properties_links = pt.make_properties_links(obj.properties)
        return properties_links + disruption_links


date_time = {
    "date_time": SplitDateTime(date='date', time='time'),
    "base_date_time": DateTime(),
    "additional_informations": additional_informations(),
    "links": date_time_links(),
    'data_freshness': enum_type(attribute='realtime_level'),
}

row = {
    "stop_point": PbField(stop_point),
    "date_times": fields.List(fields.Nested(date_time))
}

header = {
    "display_informations": PbField(display_informations_vj,
                                    attribute='pt_display_informations'),
    "additional_informations": NonNullList(PbEnum(response_pb2.SectionAdditionalInformationType)),
    "links": UrisToLinks()
}
table_field = {
    "rows": fields.List(fields.Nested(row)),
예제 #5
0
seats_description = {
    "total": Integer(),
    "available": Integer(),
}

individual_rating = {
    "value": fields.Raw,
    "count": Integer(),
    "scale_min": fields.Raw,
    "scale_max": fields.Raw,
}

individual_information = {
    "alias": fields.String(),
    "image": fields.String(),
    "gender": enum_type(attribute="gender"),
    "rating": PbField(individual_rating, attribute="rating"),
}

ridesharing_information = {
    "operator": fields.String(),
    "network": fields.String(),
    "driver": PbField(individual_information, attribute="driver"),
    "seats": PbField(seats_description, attribute="seats"),
}

section = {
    "type": section_type(),
    "id": fields.String(),
    "mode": enum_type(attribute="street_network.mode"),
    "duration": Integer(),
예제 #6
0
    "tuesday": fields.Boolean(),
    "wednesday": fields.Boolean(),
    "thursday": fields.Boolean(),
    "friday": fields.Boolean(),
    "saturday": fields.Boolean(),
    "sunday": fields.Boolean(),
}

calendar_period = {
    "begin": fields.String(),
    "end": fields.String(),
}

calendar_exception = {
    "datetime": fields.String(attribute="date"),
    "type": enum_type(),
}
validity_pattern = {
    'beginning_date': fields.String(),
    'days': fields.String(),
}
calendar = {
    "id": NonNullString(attribute="uri"),
    "name": NonNullString(),
    "week_pattern": NonNullNested(week_pattern),
    "active_periods": NonNullList(NonNullNested(calendar_period)),
    "exceptions": NonNullList(NonNullNested(calendar_exception)),
    "validity_pattern": NonNullProtobufNested(validity_pattern)
}

calendars = {
예제 #7
0
            'streetnetwork_duration': obj.sn_dur,
            'transfer_duration': obj.transfer_dur,
            'min_waiting_duration': obj.min_waiting_dur,
            'nb_vj_extentions': obj.nb_vj_extentions,
            'nb_sections': obj.nb_sections,
        }
        if hasattr(obj, 'internal_id'):
            debug['internal_id'] = obj.internal_id

        return debug


section = {
    "type": section_type(),
    "id": fields.String(),
    "mode": enum_type(attribute="street_network.mode"),
    "duration": Integer(),
    "from": section_place(place, attribute="origin"),
    "to": section_place(place, attribute="destination"),
    "links": SectionLinks(attribute="uris"),
    "display_informations": PbField(display_informations_vj,
                                    attribute='pt_display_informations'),
    "additional_informations": NonNullList(PbEnum(response_pb2.SectionAdditionalInformationType)),
    "geojson": SectionGeoJson(),
    "path": NonNullList(NonNullNested({"length": Integer(),
                                       "name": fields.String(),
                                       "duration": Integer(),
                                       "direction": fields.Integer()}),
                        attribute="street_network.path_items"),
    "transfer_type": enum_type(),
    "stop_date_times": NonNullList(NonNullNested(stop_date_time)),
예제 #8
0
파일: Journeys.py 프로젝트: vmulard/navitia
seats_description = {
    "total": Integer(),
    "available": Integer(),
}

individual_rating = {
    "value": fields.Raw,
    "count": Integer(),
    "scale_min": fields.Raw,
    "scale_max": fields.Raw,
}

individual_information = {
    "alias": fields.String(),
    "image": fields.String(),
    "gender": enum_type(attribute="gender"),
    "rating": PbField(individual_rating, attribute="rating"),
}

ridesharing_information = {
    "operator": fields.String(),
    "network": fields.String(),
    "driver": PbField(individual_information, attribute="driver"),
    "seats": PbField(seats_description, attribute="seats"),
}

section = {
    "type":
    section_type(),
    "id":
    fields.String(),