diff --git a/contrib/get-missing/get-missing.py b/contrib/get-missing/get-missing.py new file mode 100755 index 0000000..33415aa --- /dev/null +++ b/contrib/get-missing/get-missing.py @@ -0,0 +1,42 @@ +#!/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