""" gps_service_coral8.py Coral8 server for gps event """ from coral8 import Coral8 uri = 'ccl://damir5:6789/Stream/' uri += 'Default/GpsEvent/GpsIn' time_keys = ['TimeUTC'] def send(msg): try: d = eval(msg) except: return False r = False if type(d) == type({}): try: fix_timestamp(d) publisher = Coral8.Publisher(uri) tp = Coral8.Tuple(d.keys()) for k, v in d.items(): tp.setvalue(k, v) publisher.write_tuple(tp) r = True except: pass return r def fix_timestamp(d): for tk in time_keys: if tk in d: s = d[tk].replace('T',' ') s = s.replace('Z','') d[tk] = s if __name__ == "__main__": m = "{" m += "'Entity':'DS_GPS_AB'" m += ",'Latitude':43.625" m += ",'Longitude':-79.42" m += ",'Course':35.2" m += ",'Speed':11.4" m += ",'%s':'2009-01-15T22:17:45Z'" % time_keys[0] m += "}" print eval(m) print send(m)