def add_all_saints_day(self, year):
     """Add recurring event for all saint's day."""
     event = Holiday(date(year, 1, 1), 'Alla helgons dag')
     rrule = vRecur()
     rrule['FREQ'] = vFrequency('YEARLY')
     rrule['BYDAY'] = vWeekday('SA')
     rrule['BYMONTHDAY'] = 31
     rrule['BYMONTH'] = 10
     event.add('rrule', rrule)
     self.add_component(event)
     event2 = Holiday(date(year, 1, 1), 'Alla helgons dag')
     rrule2 = vRecur()
     rrule2['FREQ'] = vFrequency('YEARLY')
     rrule2['BYDAY'] = vWeekday('SA')
     rrule2['BYMONTHDAY'] = (1, 2, 3, 4, 5, 6)
     rrule2['BYMONTH'] = 11
     event2.add('rrule', rrule2)
     self.add_component(event2)
 def add_all_saints_eve(self, year):
     """Add recurring event for all saint's eve."""
     event = Holiday(date(year, 1, 1), 'Allhelgonaafton', Work.DEPENDS)
     rrule = vRecur()
     rrule['FREQ'] = vFrequency('YEARLY')
     rrule['BYDAY'] = vWeekday('FR')
     rrule['BYMONTHDAY'] = (30, 31)
     rrule['BYMONTH'] = 10
     event.add('rrule', rrule)
     self.add_component(event)
     event2 = Holiday(date(year, 1, 1), 'Allhelgonaafton', Work.DEPENDS)
     rrule2 = vRecur()
     rrule2['FREQ'] = vFrequency('YEARLY')
     rrule2['BYDAY'] = vWeekday('FR')
     rrule2['BYMONTHDAY'] = (1, 2, 3, 4, 5)
     rrule2['BYMONTH'] = 11
     event2.add('rrule', rrule2)
     self.add_component(event2)
 def add_midsummer_day(self, year):
     """Add recurring event for the midsummer day."""
     event = Holiday(date(year, 1, 1), 'Midsommardagen')
     rrule = vRecur()
     rrule['FREQ'] = vFrequency('YEARLY')
     rrule['BYDAY'] = vWeekday('SA')
     rrule['BYMONTHDAY'] = (20, 21, 22, 23, 24, 25, 26)
     rrule['BYMONTH'] = 6
     event.add('rrule', rrule)
     self.add_component(event)
 def add_midsummers_eve(self, year):
     """Add recurring event for midsummer's eve."""
     event = Holiday(date(year, 1, 1), 'Midsommarafton', Work.DEFACTO)
     rrule = vRecur()
     rrule['FREQ'] = vFrequency('YEARLY')
     rrule['BYDAY'] = vWeekday('FR')
     rrule['BYMONTHDAY'] = (19, 20, 21, 22, 23, 24, 25)
     rrule['BYMONTH'] = 6
     event.add('rrule', rrule)
     self.add_component(event)
예제 #5
0
def icalevent(e):
    if not all(prop in e for prop in ['date', 'title']):
        return
    iev = Event()
    iev.add('dtstamp', datetime.now())
    iev.add('dtstart', e['date'])
    iev.add('dtend', e['date'] + timedelta(1))
    rrule = vRecur()
    rrule['freq'] = vFrequency('yearly')
    iev.add('rrule', rrule)
    iev.add('summary', vText("{:04d}: {}".format(e['date'].year, e['title'])))
    iev.add('uid', "{}@icalaniversary.invalid".format(slugify(iev['summary'])))
    desc = [e.get('link'), e.get('desc')]
    if any(desc):
        desc = "\n".join([x for x in desc if x])
        iev.add('description', vText(desc))
    return iev
 def __init__(self, dtstart, summary, work=Work.FREE):
     super().__init__(dtstart, summary, work)
     rrule = vRecur()
     rrule['FREQ'] = vFrequency('YEARLY')
     self.add('rrule', rrule)