mirror of
https://github.com/owntracks/recorder.git
synced 2024-11-15 09:58:40 -07:00
43 lines
973 B
Python
Executable File
43 lines
973 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import geocoder
|
|
import json
|
|
import sys
|
|
import fileinput
|
|
import time
|
|
|
|
def reverse(lat, lon):
|
|
''' return JSON payload for ghash database from lat, lon '''
|
|
|
|
try:
|
|
g = geocoder.google([lat, lon], method='reverse')
|
|
|
|
# addr = '%s %s, %s %s, %s' % (g.street_long, g.housenumber, g.postal, g.city, g.country_long)
|
|
addr = g.address
|
|
|
|
data = {
|
|
'tst' : int(time.time()),
|
|
'cc' : g.country,
|
|
'addr' : addr,
|
|
'locality' : g.city_long
|
|
}
|
|
|
|
return json.dumps(data)
|
|
except Exception, e:
|
|
print >> sys.stderr, "lookup failed:", str(e)
|
|
return None
|
|
|
|
for line in fileinput.input():
|
|
line = line.rstrip()
|
|
ghash, lat, lon = line.split()
|
|
|
|
f = open("missing.again", "w")
|
|
|
|
payload = reverse(lat, lon)
|
|
if payload is None:
|
|
f.write("%s\n" % line)
|
|
continue
|
|
|
|
time.sleep(1)
|
|
print ghash, payload
|