Exemplo n.º 1
0
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
Exemplo n.º 2
0
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]: