#!/usr/bin/python3.6 # from google.transit import gtfs_realtime_pb2 from google.transit import gtfs_realtime_pb2 as gtfspb import urllib.request import sys print("ok") print(gtfs_realtime_pb2) def gtfs_vehicle_position(vp = None): if vp is None: vp = gtfspb.VehiclePosition() vp.trip.trip_id = "trip_ok" vp.trip.route_id = "route_ok" vp.trip.direction_id = 0 vp.trip.start_time = "start_time_ok" vp.trip.start_date = "start_date_ok" vp.trip.schedule_relationship = gtfspb.TripDescriptor.ScheduleRelationship.SCHEDULED vp.stop_id = "x" vp.current_stop_sequence = 3 vp.current_status = gtfspb.VehiclePosition.VehicleStopStatus.INCOMING_AT vp.timestamp = 123 vp.congestion_level = gtfspb.VehiclePosition.CongestionLevel.UNKNOWN_CONGESTION_LEVEL vp.occupancy_status = gtfspb.VehiclePosition.OccupancyStatus.NO_DATA_AVAILABLE vp.occupancy_percentage = 0 vp.vehicle.id = "9999" vp.vehicle.label = "label_ok" vp.vehicle.license_plate = "unknown" vp.position.latitude = 0 vp.position.longitude = 0 vp.position.bearing = 90 vp.position.odometer = 0 vp.position.speed = 0 #vp.position = p return vp def gtfs_alert(): a = gtfspb.Alert() return a def gtfs_trip_update(): u = gtfspb.TripUpdate() return u def gtfs_feed_entity(f = None): if f is None: f = gtfspb.FeedEntity() f.id = "ok" gtfs_vehicle_position(f.vehicle) return f def gtfs_feed_message(fm = None): if fm is None: fm = gtfspb.FeedMessage() fm.header.gtfs_realtime_version = "2.0" fm.header.timestamp = 0 for i in range(2): gtfs_feed_entity(fm.entity.add()) return fm feedmsg = gtfs_realtime_pb2.FeedMessage() #vp = gtfs_realtime_pb2.VehiclePosition() vp = gtfs_vehicle_position() vp.stop_id = "ok" print(">>>\n", vp) fe = gtfs_feed_entity() print("feed entity>>>\n", fe) feedmsg = gtfs_feed_message() print("feed message>>>\n", feedmsg) fp = open("outpy.pb", "wb") fp.write(feedmsg.SerializeToString()) fp.close()