Esempio n. 1
0
class StopTimeSerializer(PbNestedSerializer):
    arrival_time = TimeField()
    utc_arrival_time = TimeField()
    departure_time = TimeField()
    utc_departure_time = TimeField()
    headsign = jsonschema.Field(schema_type=str)
    journey_pattern_point = JourneyPatternPointSerializer()
    stop_point = StopPointSerializer()
Esempio n. 2
0
class StopTimeSerializer(PbNestedSerializer):
    arrival_time = TimeField()
    utc_arrival_time = TimeField()
    departure_time = TimeField()
    utc_departure_time = TimeField()
    headsign = jsonschema.Field(schema_type=str)
    journey_pattern_point = JourneyPatternPointSerializer()
    stop_point = StopPointSerializer()
    pickup_allowed = BoolField()
    drop_off_allowed = BoolField()
    skipped_stop = BoolField()
Esempio n. 3
0
class ImpactedStopSerializer(PbNestedSerializer):
    stop_point = jsonschema.MethodField(schema_type=lambda: StopPointSerializer())
    base_arrival_time = TimeField(attr='base_stop_time.arrival_time')
    base_departure_time = TimeField(attr='base_stop_time.departure_time')
    amended_arrival_time = TimeField(attr='amended_stop_time.arrival_time')
    amended_departure_time = TimeField(attr='amended_stop_time.departure_time')
    cause = jsonschema.Field(schema_type=str, display_none=True)
    stop_time_effect = EnumField(attr='effect')
    departure_status = EnumField()
    arrival_status = EnumField()

    def get_stop_point(self, obj):
        if obj.HasField(str('stop_point')):
            return StopPointSerializer(obj.stop_point, display_none=False).data
        else:
            return None
Esempio n. 4
0
class LineSerializer(PbGenericSerializer):
    code = jsonschema.Field(schema_type=str, display_none=True)
    color = jsonschema.Field(schema_type=str)
    text_color = jsonschema.Field(schema_type=str)
    comments = CommentSerializer(many=True, display_none=False)
    comment = FirstCommentField(attr='comments', display_none=False)
    codes = CodeSerializer(many=True, required=False)
    physical_modes = PhysicalModeSerializer(many=True)
    commercial_mode = CommercialModeSerializer(display_none=False)
    routes = RouteSerializer(many=True, display_none=False)
    network = NetworkSerializer(display_none=False)
    opening_time = TimeField()
    closing_time = TimeField()
    properties = PropertySerializer(many=True, display_none=False)
    geojson = MultiLineStringField(display_none=False)
    links = DisruptionLinkSerializer(attr='impact_uris', display_none=True)
    line_groups = LineGroupSerializer(many=True, display_none=False)
Esempio n. 5
0
class VehicleJourneySerializer(PbGenericSerializer):
    journey_pattern = JourneyPatternSerializer(display_none=False)
    stop_times = StopTimeSerializer(many=True)
    comments = CommentSerializer(many=True, display_none=False)
    comment = FirstCommentField(attr='comments', display_none=False)
    codes = CodeSerializer(many=True, required=False)
    validity_pattern = ValidityPatternSerializer()
    calendars = CalendarSerializer(many=True)
    trip = TripSerializer()
    disruptions = DisruptionLinkSerializer(attr='impact_uris',
                                           display_none=True)
    start_time = TimeField(display_none=False)
    end_time = TimeField(display_none=False)
    headway_secs = jsonschema.MethodField(schema_type=int, display_none=False)

    def get_headway_secs(self, obj):
        if obj.HasField(str('headway_secs')):
            return obj.headway_secs
        else:
            return None