2 # -*- coding: utf-8 -*-
5 from dateutil.tz import *; from datetime import *
13 pw = getpass.getpass()
15 url = urlparse.urlparse(urlstr)
16 headers = {"User-Agent": "Mozilla/5.0",
17 "Content-Type": "text/xml",
20 headers['authorization'] = "Basic %s" % (("%s:%s" % (username, pw)).encode('base64')[:-1])
21 handle = httplib.HTTPSConnection('tree.se','8443')
22 res = handle.request('GET', 'CALENDAR PATH', "", headers)
23 r = handle.getresponse()
25 print "Failed to connect! Wrong Password ?"
29 headers = ['dtstart','summary','location','description']
30 for cal in vobject.readComponents(s):
31 for ev in cal.vevent_list:
35 for p in ev.getChildren():
36 details[p.name.lower()] = p.value
37 events.append(details)
40 sortedevents = sorted(events, key=lambda k: k['dtstart'], reverse=True)
42 <variablelist role="calendar" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
43 <title>%s</title>''' % (u'Stammtisch träffar')
44 for ev in sortedevents:
45 loc = ev['location'].split('[')[0]
46 if ev['location'].find('['):
47 lat = ev['location'].split('[')[1].split(',')[0]
48 lon = ev['location'].split('[')[1].split(',')[1].replace(']','')
49 loc = ' <link xlink:href="http://openstreetmap.org/?mlat=%s&mlon=%s&zoom=17">%s</link>' % (lat,lon,loc)
50 output += u'''<varlistentry>
52 <date role="calendar">%s %s %s</date>
59 <listitem><para>%s</para></listitem>
63 <listitem><para>%s</para></listitem>
66 <term>Beskrivning</term>
67 <listitem><para role="desc">%s</para></listitem>
71 </varlistentry>''' % (ev['dtstart'].strftime('%Y'),
72 ev['dtstart'].strftime('%b'),
73 ev['dtstart'].strftime('%d'),
75 ev['dtstart'].strftime('%H:%M'),
77 '</para><para>'.join(re.split('\n\n',unicode(ev['description']))))
78 output += u'</variablelist>'
79 print output.encode("utf-8")