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.