def getVehiclePosition(feedentity, posinfo): feedentity.vehicle.trip.start_date = posinfo['operatingday'].replace('-', '') feedentity.vehicle.trip.schedule_relationship = TripDescriptor.SCHEDULED feedentity.vehicle.position.longitude, feedentity.vehicle.position.latitude = rdwgs84(posinfo['rd-x'], posinfo['rd-y']) feedentity.vehicle.current_status = getStopStatusByType(posinfo['messagetype']) feedentity.vehicle.stop_id, feedentity.vehicle.current_stop_sequence, feedentity.vehicle.trip.trip_id = getStopSequenceTripId(posinfo['dataownercode'], posinfo['lineplanningnumber'], posinfo['journeynumber'], posinfo['operatingday'], posinfo['userstopcode'], posinfo['passagesequencenumber']) feedentity.vehicle.timestamp = int(time.mktime(iso8601.parse_date(posinfo['timestamp']).timetuple())) return feedentity
def getVehiclePosition(feedentity, posinfo): feedentity.vehicle.trip.start_date = posinfo['operatingday'].replace( '-', '') feedentity.vehicle.trip.schedule_relationship = TripDescriptor.SCHEDULED feedentity.vehicle.position.longitude, feedentity.vehicle.position.latitude = rdwgs84( posinfo['rd-x'], posinfo['rd-y']) feedentity.vehicle.current_status = getStopStatusByType( posinfo['messagetype']) feedentity.vehicle.stop_id, feedentity.vehicle.current_stop_sequence, feedentity.vehicle.trip.trip_id = getStopSequenceTripId( posinfo['dataownercode'], posinfo['lineplanningnumber'], posinfo['journeynumber'], posinfo['operatingday'], posinfo['userstopcode'], posinfo['passagesequencenumber']) feedentity.vehicle.timestamp = int( time.mktime(iso8601.parse_date(posinfo['timestamp']).timetuple())) return feedentity
subscriptions.add(node) subscriptions = subscriptions.union(set(filter(lambda s: node.startswith(s), xmpp.subscriptions.keys()))) if len(subscriptions) > 0: result = serializer.loads(result) print result if 'rd_x' not in result: continue if 'description' in result: extra = '<description>%(description)s</description><locality>%(locality)s</locality><timestamp>%(timestamp)s</timestamp>' % result else: extra = '<timestamp>%(timestamp)s</timestamp>' % result normal = '<lon>%f</lon><lat>%f</lat>' % rdwgs84(result['rd_x'], result['rd_y']) items = EventItems() items['node'] = node item = EventItem() item['id'] = '%(dataownercode)s_%(vehiclenumber)s' % result item['payload'] = ET.XML('<geoloc xmlns="http://jabber.org/protocol/geoloc">'+normal+extra+'</geoloc>') items.append(item) msg = xmpp.Message() msg['id'] = 'kv6_update0' msg['from'] = xmpp.boundjid.bare msg['pubsub_event'].append(items) for subscription in subscriptions: for jid in xmpp.subscriptions[subscription]: