diff --git a/system-modules/calendar-lr.nix b/system-modules/calendar-lr.nix index bb707b2..6605ea8 100644 --- a/system-modules/calendar-lr.nix +++ b/system-modules/calendar-lr.nix @@ -25,25 +25,27 @@ import requests def filter_events(events): return [event for event in events if ("LR" in event.name) or ("TBD" in event.name)] -def fetch_and_save_ical_events(ical_url, save_path): +def fetch_and_save_ical_events(ical_urls, save_path): """ Fetch events from an iCal URL and save them as a single combined calendar. """ try: - # Fetch the iCal data - response = requests.get(ical_url) - response.raise_for_status() - - # Parse the iCal data - calendar = Calendar(response.text) - - # Adjust events - adjusted_events = filter_events(list(calendar.events)) - # Create a new combined calendar combined_calendar = Calendar() - for event in adjusted_events: - combined_calendar.events.add(event) + + for url in ical_urls: + # Fetch the iCal data + response = requests.get(url) + response.raise_for_status() + + # Parse the iCal data + calendar = Calendar(response.text) + + # Adjust events + adjusted_events = filter_events(list(calendar.events)) + + for event in adjusted_events: + combined_calendar.events.add(event) # Save the combined calendar to a single .ics file with open(save_path, 'w') as file: @@ -58,10 +60,13 @@ def fetch_and_save_ical_events(ical_url, save_path): if __name__ == "__main__": # Replace with your iCal URL and target file path - ICAL_URL = "https://zlypher.github.io/lol-events/cal/league-of-legends-nlc.ical" + ICAL_URLS = [ + "https://zlypher.github.io/lol-events/cal/league-of-legends-nlc.ical", + "https://zlypher.github.io/lol-events/cal/league-of-legends-emea-masters.ical" + ] SAVE_PATH = "${config.services.nginx.virtualHosts."${hyper.domain}".root}/lr.ics" - fetch_and_save_ical_events(ICAL_URL, SAVE_PATH) + fetch_and_save_ical_events(ICAL_URLS, SAVE_PATH) ''); in '' ${nx_cal_lr}/bin/nx_cal_lr