2012-11-12 5 views
6

Kann mir jemand ein Beispiel für die Generierung eines VTIMEZONE-Abschnitts einer icalendar Datei mit der Python icalendar-Bibliothek geben?Wie die python icalendar.cal.Timezone-Klasse verwenden, um einen icalendar zu erstellen VTIMEZONE

Ich glaube, dass dies mithilfe der Klasse icalend.cal.Timezone Component getan werden kann, aber noch nicht genau wissen, wie.

Vorzugsweise wäre der resultierende Teil der Icalendar-Datei diesem exportierten Sample aus dem Mac OS X ICal-Programm ähnlich (oder analog, aber immer noch gültiges Icalendar-Format).

BEGIN:VTIMEZONE 
TZID:America/Denver 
BEGIN:DAYLIGHT 
TZOFFSETFROM:-0700 
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU 
DTSTART:20070311T020000 
TZNAME:MDT 
TZOFFSETTO:-0600 
END:DAYLIGHT 
BEGIN:STANDARD 
TZOFFSETFROM:-0600 
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU 
DTSTART:20071104T020000 
TZNAME:MST 
TZOFFSETTO:-0700 
END:STANDARD 
END:VTIMEZONE 

Bisher habe ich diesen Arbeits Code, aber es enthält nicht die benötigten Winter- und Sommer VTIMEZONE Elemente.

+1

als dies geschieht * von Hand * in der [test] (https://github.com/collective/icalendar/blob/master/src/icalendar/tests/test_timezoned.py#L50), ich fürchte, das ist der Weg, den man gehen sollte –

Antwort

0

Derzeit scheint es nicht möglich zu sein, zumindest nicht mit schwerem Hacking mit Pytz.

Es gibt eine laufende Diskussion mit relativ neuen Updates auf der entsprechenden icalendar issue. Sie können dort einen Hacky-Code finden.

Diese other icalendar issue scheint zu sein, wo etwas für die VTIMEZONE-> icalendar Konvertierung implementiert wird.