ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/FreeBSDAdmin/Reminder/creditcards.py
Revision: 1180
Committed: 2009-05-19T21:16:13-07:00 (16 years, 1 month ago) by douglas
Content type: text/x-python
File size: 1718 byte(s)
Log Message:
Working Wesabe upload.

File Contents

# Content
1 # Credit Cards
2 #
3 # Douglas Thrift
4 #
5 # $Id$
6
7 import atom
8 from datetime import date, timedelta
9 import gdata.calendar
10
11 def main(calendar, config, banks, debug):
12 for module in config.getlist('banks'):
13 bank = banks.bank(module)
14
15 for name, number in bank.accounts():
16 due = bank.due(number)
17 today = date.today()
18
19 if due <= today:
20 continue
21
22 title = '%s Due' % name
23 query = gdata.calendar.service.CalendarEventQuery('default', 'private', 'full', '"%s"' % title)
24 query.start_min = str(today)
25 events = calendar.CalendarQuery(query).entry
26
27 if events == []:
28 event = gdata.calendar.CalendarEventEntry()
29 event.title = atom.Title(text = title)
30 event.transparency = gdata.calendar.Transparency()
31 event.transparency.value = 'TRANSPARENT'
32 event.visibility = gdata.calendar.Visibility()
33 event.visibility.value = 'PRIVATE'
34
35 event.when.append(gdata.calendar.When(start_time = str(due), end_time = str(due + timedelta(1))))
36 event.when[0].reminder.append(gdata.calendar.Reminder(minutes = 10))
37
38 calendar.InsertEvent(event, '/calendar/feeds/default/private/full')
39 else:
40 for index, event in enumerate(filter(lambda event: event.title.text == title, events)):
41 if index == 0:
42 event.transparency.value = 'TRANSPARENT'
43 event.visibility.value = 'PRIVATE'
44 event.when[0].start_time = str(due)
45 event.when[0].end_time = str(due + timedelta(1))
46
47 if event.when[0].reminder != []:
48 event.when[0].reminder[0].minutes = str(10)
49 else:
50 event.when[0].reminder.append(gdata.calendar.Reminder(minutes = 10))
51
52 calendar.UpdateEvent(event.GetEditLink().href, event)
53 else:
54 calendar.DeleteEvent(event.GetEditLink().href)

Properties

Name Value
svn:keywords Id