aboutsummaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorAeddis Desauw <aeddis@deuxfleurs.fr>2024-05-07 22:28:52 +0200
committerAeddis Desauw <aeddis@deuxfleurs.fr>2024-05-07 22:48:29 +0200
commit992b8a6dcf77f5a69a9eae4f7fabfe5d9aa349fc (patch)
tree2e77918501957a2094913bea04042c26b6f9006c /script
parentb3725ac2ac548a99e4e70c4ee39ab9d05205a62a (diff)
downloadsite-calendar_generator.tar.gz
site-calendar_generator.zip
pull calendar scriptcalendar_generator
Diffstat (limited to 'script')
-rw-r--r--script/pull_calendar/pull_event.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/script/pull_calendar/pull_event.py b/script/pull_calendar/pull_event.py
new file mode 100644
index 0000000..51b04dc
--- /dev/null
+++ b/script/pull_calendar/pull_event.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python3
+import vobject
+import wget
+import csv
+from ics import Calendar, Event
+
+def get_month(month : int):
+ match month:
+ case 1:
+ return "Janvier"
+ case 2:
+ return "Fevrier"
+ case 3:
+ return "Mars"
+ case 4:
+ return "Avril"
+ case 5:
+ return "Mai"
+ case 6:
+ return "Juin"
+ case 7:
+ return "Juillet"
+ case 8:
+ return "Aout"
+ case 9:
+ return "Septembre"
+ case 10:
+ return "Octobre"
+ case 11:
+ return "Novembre"
+ case 12:
+ return "Decembre"
+
+if __name__ == "__main__":
+ url = "https://sogo.deuxfleurs.fr/SOGo/dav/public/lx/Calendar/22-63E29280-1-71341300.ics"
+ filename = wget.download(url)
+
+ # read the data from the file
+ data = open(filename).read()
+
+ c = Calendar(data)
+ for e in c.events:
+ html = "<li role=\"none\"><a href="
+ if (e.location is not None and "http" in e.location):
+ html += "\"" + e.location + "\""
+ else:
+ html += "\"#\""
+ html += ">"
+ html += e.name + "</a> "
+
+
+ if (e.location is not None and "http" in e.location):
+ html += " en ligne"
+ elif e.location is not None:
+ html += e.location
+ html += ","
+
+ html += "<span class=\"highlight\"> le " + str(e.begin.day) + " " + get_month(e.begin.month) + " " + str(e.begin.year)+ " à "
+
+ if e.begin.hour == 0:
+ html += "00:"
+ else:
+ html += str(e.begin.hour) + ":"
+
+ if e.begin.minute == 0:
+ html += "00 </span>"
+ else:
+ html += str(e.begin.minute) + "</span>"
+
+ if e.description is not None :
+ html += ".<br>" + e.description + "</li>"
+
+ print("\n" + html)