def writeIcs():
    cal = Calendar()
    cal.add('PRODID', '-//Dayfacto Journal//dpd//')
    cal.add('VERSION', '1.0')
    cal.add('VERSION', 'GREGORIAN')
    timezone = Timezone()
    timezone.add('TZID', 'Europe/London')
    daylight = TimezoneDaylight()
    daylight.add('TZOFFSETFROM', datetime.timedelta(hours=0))
    daylight.add('TZOFFSETTO', datetime.timedelta(hours=1))
    daylight.add('TZNAME', 'BST')
    timezone.add_component(daylight)
    standard = TimezoneStandard()
    standard.add('TZNAME', 'GMT')
    standard.add('TZOFFSETFROM', datetime.timedelta(hours=1))
    standard.add('TZOFFSETTO', datetime.timedelta(hours=0))
    timezone.add_component(standard)
    cal.add_component(timezone)

    evtList = fetchAllEvents()
    count = 0
    for evt in evtList:
        event = Event()
        event.add('SUMMARY', evt[0])
        event.add('DTSTART', evt[2])
        if evt[5] > 1:
            event.add('RRULE', {'freq': numPeriod[evt[4]], 'interval': evt[6], 'count': evt[5]})
        event['uid'] = str(datetime.datetime.today().time()) + str(evt[8]) \
                       + '*****@*****.**'
        # event.add('DESCRIPTION', 'This is another description')
        # event.add('VJOURNAL', 'This is another journal entry')
        cal.add_component(event)
        # print(numPeriod[evt[4]])
        count += 1
    print(count)
    f = open('example.ics', 'wb')
    f.write(cal.to_ical())
    f.close()
Пример #2
0
 def on_toolButtonEvents_clicked(self):
     ev = list(sqliteUtils.fetchAllEvents())
     self.updateEventsView(ev)
     self.resetGeom()
     self.stackedWidget.setCurrentIndex(4)