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()
def on_toolButtonEvents_clicked(self): ev = list(sqliteUtils.fetchAllEvents()) self.updateEventsView(ev) self.resetGeom() self.stackedWidget.setCurrentIndex(4)