From f3219064352739699dab7622ce08a69d849fd2a0 Mon Sep 17 00:00:00 2001 From: Matthew Grove Date: Sun, 25 Aug 2024 18:12:27 +0100 Subject: [PATCH 1/2] [FEAT] Allow changing published name of calendar Use `publish_name` yaml property at the `calendar` level --- calendar.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/calendar.go b/calendar.go index 3d4dfa1..3041168 100644 --- a/calendar.go +++ b/calendar.go @@ -16,10 +16,11 @@ import ( // CalendarConfig definition type CalendarConfig struct { - Name string `yaml:"name"` - Token string `yaml:"token"` - FeedURL string `yaml:"feed_url"` - Filters []Filter `yaml:"filters"` + Name string `yaml:"name"` + PublishName string `yaml:"publish_name"` + Token string `yaml:"token"` + FeedURL string `yaml:"feed_url"` + Filters []Filter `yaml:"filters"` } // Downloads iCal feed from the URL and applies filtering rules @@ -44,6 +45,10 @@ func (calendarConfig CalendarConfig) fetch() ([]byte, error) { return nil, err } + if (calendarConfig.PublishName != "") { + cal.SetName(calendarConfig.PublishName) + } + // process filters if len(calendarConfig.Filters) > 0 { slog.Debug("Processing filters", "calendar", calendarConfig.Name) From 7dad3626e29104d27bb9692fea93faf76b306677 Mon Sep 17 00:00:00 2001 From: Matthew Grove Date: Sun, 25 Aug 2024 18:28:55 +0100 Subject: [PATCH 2/2] Update docs for changing calendar name --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 699beef..d2cc6fd 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,7 @@ calendars: # basic example - name: example # used as slug in URL - e.g. ical-filter-proxy:8080/calendars/example/feed?token=changeme + publish_name: "My Calendar" # the published name of the calendar - uses upstream value if this line is skipped token: "changeme" # token used to pull iCal feed - authentication is disabled when blank feed_url: "https://my-upstream-calendar.url/feed.ics" # URL for the upstream iCal feed filters: # optional - if no filters defined the upstream calendar is proxied as parsed @@ -105,6 +106,7 @@ calendars: # example: removing noise from an Office 365 calendar - name: outlook + publish_name: "My Outlook Calendar" # the published name of the calendar - uses upstream value if this line is skipped token: "changeme" feed_url: "https://outlook.office365.com/owa/calendar/.../reachcalendar.ics" filters: