73 lines
1.8 KiB
Python
73 lines
1.8 KiB
Python
#!/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)
|