Aaron Straup Cope
August 2006
PIM
Internets
camera
content handlersupport
import httplib
import urllib
import location
from elementtree.ElementTree import XML
from pdis.xpath import compile
(mcc, mcc, lac, cellid) = location.gsm_location()
params = {'cellid':cellid, 'lac':lac, 'mnc':mnc, 'mcc':mcc, 'usertoken':usertoken, 'apptoken':apptoken, 'results':results}
url = "%s?%s" % (zonetag_endpoint, urllib.urlencode(params))
conn = httplib.HTTPConnection(zonetag_host)
conn.request('GET', url)
res = conn.getresponse()
xml = XML(res.read())
xp = compile("/rsp/Location")
results = []
for loc in xp.evaluate(xml) :
data = {}
if loc.find('Zipcode') != None :
for item in ['Country', 'State', 'City', 'Zipcode'] :
value = loc.find(item)
data[item.lower()] = value.text
results.append(data)
for place in results :
addr = "%s %s %s %s" % (place['city'], place['state'], place['country'], place['zipcode'])
params = urllib.urlencode({"appid":"restobook", "location":addr})
req = "%s?%s" % (geocoder_endpoint, params)
conn = httplib.HTTPConnection(geocoder_host)
conn.request('GET', req)
res = conn.getresponse()
content = res.read()
xml = XML(content)
res = xml.find("{urn:yahoo:maps}Result")
if res != None :
lat = res.find("{urn:yahoo:maps}Latitude")
lon = res.find("{urn:yahoo:maps}Longitude")
print "lat: %s long: %s" % (lat.text, lon.text)
plumbingfor other more interesting applications.
restobookwith your address book.
plumbing.
.icsfiles — if that's all you wanted to do.
always on.