diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b7efd60cc569b1db4a02c3313fdbf8d15a3b8360..f2d05d3023aa8c24f19b069efb47403c75042c7f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ stages: - test + - deploy unittest: stage: test @@ -10,3 +11,18 @@ unittest: - python3 verify.py - python3 display.py +pages: + stage: deploy + script: + - pip3 install -r requirements.txt + - python3 rss.py + - mkdir target + - mv rss.xml target + - mv atom.xml target + - mv target public + artifacts: + paths: + - public + only: + - master + diff --git a/requirements.txt b/requirements.txt index 3999ba211b7b00062d5b359563d51e3843f63280..5c0f6e9714ce58870b2f08d19761eb7b544e0ad9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ anytree==2.4.3 -six==1.11.0 +feedgen==0.7.0 +python-slugify==1.2.6 diff --git a/rss.py b/rss.py new file mode 100644 index 0000000000000000000000000000000000000000..51ceb3fbc1f052d24c05493756bceaf5941d13a6 --- /dev/null +++ b/rss.py @@ -0,0 +1,35 @@ +from feedgen.feed import FeedGenerator +from slugify import slugify +from json import load +import dateutil.parser + +data = load(open('weather.json','r')) + +def df(date): + dt = dateutil.parser.parse(date) + return dt.strftime("%d/%m/%Y à %Hh%M") + +fg = FeedGenerator() +fg.id('https://support.unistra.fr/') +fg.title('Maintenance des services numériques') +fg.subtitle('Annonces de la Direction du Numérique') +fg.link(href='https://support.unistra.fr/#go-weather') +fg.language('fr') +fg.link(href='https://support.unistra.fr/atom.php', rel='self') +fg.author(name='Direction du Numérique', email='support@unistra.fr') +fg.logo('http://www.unistra.fr/fileadmin/templates/unistra/images/uds_ico.ico') + +for item in data: + fe = fg.add_entry() + title=item['title'] + fe.title(title) + fe.id(slugify(title)) + content = "<p><b>Date de début : </b>{}</p><p><b>Date de fin : </b>{}</p>{}".format(df(item['start']), df(item['end']), item['content']) + fe.description(content) + fe.pubDate(item['start']) + +rssfeed = fg.rss_str(pretty=True) +fg.rss_file('rss.xml') + +atomfeed = fg.atom_str(pretty=True) +fg.atom_file('atom.xml')