Skip to content

A small http server in go to merge and filter url based .ics files

License

Notifications You must be signed in to change notification settings

Fesaa/iCalMerger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iCal Merger

Very simple web server used to merge and filter .ics files provided by a url. Configuration is done via a config.yaml file, calenders can be filtered with rules which must point to a component (Defined here) and use a specific check.

Example:

webhook: <discord url>
adress: "127.0.0.1"
port: "4040"
sources:
- end_point: filtered_calender
  heartbeat: 60
  xwr_name: My Merged Calender
  info:
    - name: Personal
      url: <URL>
      rules:
        - name: Vacation
          component: LOCATION
          check: EQUALS 
          data: 
            - Japan
            - Zambia
            - Belgium
        - name: Kids
          component: SUMMARY
          check: CONTAINS
          data:
            - Food
            - Hobbies
    - name: Work
      url: <URL2>
      modifiers:
        - name: Work starting soon # Used as alarm nam
          action: ALARM
          data: "-PT60M" # one hour
          rules:
              - check: "FIRST_OF_DAY"

- end_point: full_calender
  heartbeat: 30
  xwr_name: My Full Calender
  info:
    - name: Personal
      url: <URL>
    - name: Work
      url: <URL>

These will now be accessible on http://127.0.0.1:4040/filtered_calender.ics and http://127.0.0.1:4040/full_calender.ics

Quickly made to make my school calender work because my school sucks 😝

About

A small http server in go to merge and filter url based .ics files

Resources

License

Stars

Watchers

Forks