from vobject import readComponents
import sys
+from addr import mapimage, geocode
+from geohash import encode
+
+def coord2dms(coord):
+ ns = coord[0]
+ ew = coord[1]
+ mnt,sec = divmod(ns*3600,60)
+ deg,mnt = divmod(mnt,60)
+ out = u'''%d°%2d'%5.2f"%s''' % ( deg,mnt,sec,'N')
+ mnt,sec = divmod(ew*3600,60)
+ deg,mnt = divmod(mnt,60)
+ out += u''' %d°%2d'%05.2f"%s''' % ( deg,mnt,sec,'E')
+ return out
+
+
+def maplink(lat,lon):
+ return '''
+<uri type="location">
+ <link xlink:href=
+ "http://www.openstreetmap.org/?mlat=%s&mlon=%s&zoom=18&layers=M">
+ <inlinemediaobject>
+ <imageobject condition="web">
+ <imagedata fileref="%s.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>geo:%s,%s</phrase>
+ </textobject>
+ </inlinemediaobject>
+ <para>%s</para>
+ </link>
+</uri>
+''' % (lat, lon, encode(float(lat), float(lon)), lat, lon, coord2dms((lat, lon)))
for arg in sys.argv[1:]:
al = arg.split("=")
if al[0] == "xptr":
argument = al[1]
+
(cards,query) = argument.split('?')
(key, name) = query.split(':')
with open(cards, 'r') as f:
if t.value != '':
ad += '<phone>'+t.value+'</phone>'
ad += '</address>'
+ geostr = u''+a.value.street+', '+a.value.city+', '+a.value.country
+ (lat,lon) = geocode(geostr.encode('utf-8'))
+ mapimage([(float(lat),float(lon))])
+ ad += maplink(lat,lon)
o = ''
if 'org' in found.contents.keys():
if 'url' in found.contents.keys():
url += '<uri type="website"><link xlink:href="'+found.url.value+'"/></uri>'
geo = ''
-if 'geo' in found.contents.keys():
- (lat,lon) = found.geo.value.split(';')
- geo += '<uri type="location"><link xlink:href="http://www.openstreetmap.org/'+ \
- '?mlat='+lat+'&mlon='+lon+'&zoom=18&layers=M">geo:'+lat+','+lon+'</link></uri>'
+#if 'geo' in found.contents.keys():
+# (lat,lon) = found.geo.value.split(';')
+# mapimage([(float(lat),float(lon))])
+# # create picture
+# geo += maplink(lat,lon)
+
# Turn off email for now
email = ''