Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 09b3535525 | |||
| 9363618157 |
5 changed files with 11 additions and 44 deletions
|
|
@ -1 +0,0 @@
|
|||
{{ block "main" . }}{{ .Content }}{{ end }}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//CCCB//Calendar//DE
|
||||
{{ with .Title }}
|
||||
X-WR-CALNAME:{{ . }}
|
||||
{{ end }}
|
||||
CALSCALE:GREGORIAN
|
||||
METHOD:PUBLISH
|
||||
{{ range .Pages }}
|
||||
{{ if .Date }}
|
||||
BEGIN:VEVENT
|
||||
UID:{{ .File.UniqueID }}@berlin.ccc.de
|
||||
DTSTAMP:{{ .Date.Format "20060102T150405Z" }}
|
||||
DTSTART:{{ .Date.Format "20060102T150405Z" }}
|
||||
SUMMARY:{{ .Title }}
|
||||
DESCRIPTION:{{ .Summary | plainify }}
|
||||
URL:{{ .Permalink }}
|
||||
END:VEVENT
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
END:VCALENDAR
|
||||
12
layouts/_default/list.xml.xml
Normal file
12
layouts/_default/list.xml.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<events>
|
||||
{{ range .Pages }}
|
||||
<event>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<date>{{ .Date.Format "2006-01-02" }}</date>
|
||||
<description>{{ .Summary | plainify }}</description>
|
||||
{{ with .Params.location }}<location>{{ . }}</location>{{ end }}
|
||||
</event>
|
||||
{{ end }}
|
||||
</events>
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//CCCB//Calendar//DE
|
||||
{{ with .Title }}
|
||||
X-WR-CALNAME:{{ . }}
|
||||
{{ end }}
|
||||
CALSCALE:GREGORIAN
|
||||
METHOD:PUBLISH
|
||||
{{ if .Date }}
|
||||
BEGIN:VEVENT
|
||||
UID:{{ .File.UniqueID }}@berlin.ccc.de
|
||||
DTSTAMP:{{ .Date.Format "20060102T150405Z" }}
|
||||
DTSTART:{{ .Date.Format "20060102T150405Z" }}
|
||||
{{ with .Params.event.end }}DTEND:{{ dateFormat "20060102T150405Z" . }}{{ end }}
|
||||
SUMMARY:{{ .Title }}
|
||||
DESCRIPTION:{{ .Summary | plainify }}
|
||||
URL:{{ .Permalink }}
|
||||
{{ with .Params.location }}LOCATION:{{ . }}{{ end }}
|
||||
END:VEVENT
|
||||
{{ end }}
|
||||
END:VCALENDAR
|
||||
|
|
@ -3,13 +3,23 @@
|
|||
import sys
|
||||
import logging
|
||||
import locale
|
||||
from dateutil.parser import parse
|
||||
from dateutil.parser import parse as _parse
|
||||
from datetime import datetime, timedelta
|
||||
from dateutil.rrule import rruleset, rrulestr
|
||||
|
||||
import icalendar
|
||||
|
||||
|
||||
def parse(value):
|
||||
# Some templates emit DTSTART with a trailing "Z" (e.g. 20260507T190000Z)
|
||||
# which produces tz-aware datetimes, while others emit naive local times.
|
||||
# Normalize to naive so comparisons and sorting don't mix the two.
|
||||
dt = _parse(value)
|
||||
if dt.tzinfo is not None:
|
||||
dt = dt.replace(tzinfo=None)
|
||||
return dt
|
||||
|
||||
|
||||
def vevent_to_event(event, rrstart=None):
|
||||
if rrstart == None:
|
||||
begin = parse(event["DTSTART"].to_ical())
|
||||
|
|
|
|||
Loading…
Reference in a new issue