pull calendar script
This commit is contained in:
parent
b3725ac2ac
commit
992b8a6dcf
3 changed files with 95 additions and 1 deletions
21
.gitignore
vendored
21
.gitignore
vendored
|
@ -2,3 +2,24 @@ public/
|
||||||
node_modules/
|
node_modules/
|
||||||
*.swp
|
*.swp
|
||||||
.awsclirc
|
.awsclirc
|
||||||
|
|
||||||
|
reated by https://www.toptal.com/developers/gitignore/api/venv
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=venv
|
||||||
|
|
||||||
|
### venv ###
|
||||||
|
# Virtualenv
|
||||||
|
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
|
||||||
|
.Python
|
||||||
|
[Bb]in
|
||||||
|
[Ii]nclude
|
||||||
|
[Ll]ib
|
||||||
|
[Ll]ib64
|
||||||
|
[Ll]ocal
|
||||||
|
[Ss]cripts
|
||||||
|
pyvenv.cfg
|
||||||
|
.venv
|
||||||
|
pip-selfcheck.json
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/venv
|
||||||
|
|
||||||
|
script/calendar_generator/.gitignore
|
||||||
|
|
73
script/pull_calendar/pull_event.py
Normal file
73
script/pull_calendar/pull_event.py
Normal file
|
@ -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)
|
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue