3 # Rules for tackling facebook and google calendar - I want visibility of the
4 # organiser... not useful Google!
8 def facebookOrganiser(cal):
9 '''Adds organiser details to the body of facebook calendars.'''
11 if cal.contents.has_key(u'prodid'):
12 if not "Facebook" in cal.prodid.value: return cal
14 for event in cal.vevent_list:
15 if not event.contents.has_key(u'organizer'): continue
16 organizer = "Organised by: " + event.organizer.cn_param + " ("
17 organizer += event.organizer.value.lstrip('MAILTO:') + ")\n\n"
19 event.description.value = organizer + event.description.value
24 '''Marks events public so google calendar doesn't have a sad about them.'''
26 for event in cal.vevent_list:
27 if event.contents.has_key(u'class'):
28 del event.contents[u'class']
29 # Bit of a hack as class is a reserved word in python
30 event.add('class').value = "PUBLIC"
35 '''Drops microsoft keys, good for outlook, just bandwidth when not.'''
37 eventBlacklist = [x.lower() for x in [
39 "X-MICROSOFT-CDO-BUSYSTATUS",
40 "X-MICROSOFT-CDO-IMPORTANCE",
41 "X-MICROSOFT-DISALLOW-COUNTER",
42 "X-MS-OLK-ALLOWEXTERNCHECK",
43 "X-MS-OLK-AUTOSTARTCHECK",
45 "X-MS-OLK-AUTOFILLLOCATION"
48 vcalBlacklist = [x.lower() for x in [
64 for event in cal.vevent_list:
65 for blacklist in eventBlacklist:
66 if event.contents.has_key(blacklist): del event.contents[blacklist]
68 for blacklist in vcalBlacklist:
69 if cal.contents.has_key(blacklist): del cal.contents[blacklist]