From aa5743e1e8d88a8bf2e6d4fa58928c67c9112790 Mon Sep 17 00:00:00 2001 From: Emmy D'Anello Date: Fri, 21 Apr 2023 12:06:48 +0200 Subject: [PATCH] =?UTF-8?q?Ajouts=20d=C3=A9placements=20+=20popovers=20ave?= =?UTF-8?q?c=20les=20informations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Emmy D'Anello --- deplacements.json | 321 +++++++++++++++++++++++++-- generate.py | 10 +- templates/France_departements.svg.j2 | 16 +- templates/template.html.j2 | 12 +- 4 files changed, 335 insertions(+), 24 deletions(-) diff --git a/deplacements.json b/deplacements.json index a76d210..ce47c9d 100644 --- a/deplacements.json +++ b/deplacements.json @@ -1,16 +1,309 @@ { - "67": [ - { - "date": "2023-04-19", - "day_number": 2, - "description": "Emmanuel Macron en déplacement Muttersholtz et à Sélestat dans le Bas-Rhin pour parler Jeux Olympiques" - } - ], - "34": [ - { - "date": "2023-04-20", - "day_number": 3, - "description": "Emmanuel Macron en déplacement à Ganges en Hérault pour parler éducation" - } - ] + "05": { + "title": "Déplacements dans les Hautes-Alpes", + "moves": [ + { + "day_number": 11, + "description": "Marc Fesneau sera à Gap au salon de l’élevage." + } + ] + }, + "14": { + "title": "Déplacements dans le Calvados", + "moves": [ + { + "day_number": 5, + "description": " Mobilisation à Caen à 11h place Bouchard contre la venue de la caravane SNU." + } + ] + }, + "21": { + "title": "Déplacements en Côte d'Or", + "moves": [ + { + "day_number": 3, + "cancelled": true, + "description": "Annulation de la venue d’Agnès Firmin Le Bodo à la conférence sur le thème de la fin de vie à Dijon à la salle Devosges" + } + ] + }, + "25": { + "title": "Déplacements dans le Doubs", + "moves": + [ + { + "day_number": 4, + "description": "Venue du ministre des armées Sébastien Lecornu à 17h rue Max Vuillemain à Besançon" + } + ] + }, + "26": { + "title": "Déplacements dans la Drôme", + "moves": [ + { + "day_number": 3, + "cancelled": true, + "description": "Annulation de la visite d'Éric Dupond Moretti." + }, + { + "day_number": 4, + "description": "Venue du ministre chargé de l'industrie Roland Lescure et de la ministre de la transition énergétique Agnès Pannier-Runacher sur le site de la centrale nucléaire du Tricastin." + } + ] + }, + "28": { + "title": "Déplacements en Eure-et-Loir", + "moves": [ + { + "day_number": 1, + "description": "Comité d'accueil lors de la venue d'Olivier Dussopt pour la mise en œuvre de la réforme des retraites." + } + ] + }, + "31": { + "title": "Déplacements en Haute-Garonne", + "moves": [ + { + "day_number": 4, + "description": "Annulation de la visite de Carole Grandjean à 11h au lycée hôtelier de Toulouse." + } + ] + }, + "33": { + "title": "Déplacements en Gironde", + "moves": [ + { + "day_number": 0, + "cancelled": true, + "description": "Déplacement annulé de Darmanin et Fesneau à La-Teste-de-Buch sur les moyens dédiés à la lutte contre les incendies" + } + ] + }, + "34": { + "title": "Déplacements dans l'Hérault", + "moves": [ + { + "day_number": 3, + "description": "Manifestation à la gare de Montpellier Saint-Roch contre la venue d'Emmanuel Macron dans l'Hérault." + }, + { + "day_number": 3, + "description": "Emmanuel Macron en déplacement à Ganges pour parler éducation." + }, + { + "day_number": 3, + "description": "Annulation du déplacement prévu d'Emmanuel Macron à Lunel." + } + ] + }, + "36": { + "title": "Déplacements dans l'Indre", + "moves": [ + { + "day_number": 4, + "description": " Elisabeth Borne en déplacement à Valençay et à Châteauroux." + } + ] + }, + "39": { + "title": "Déplacements dans le Jura", + "moves": [ + { + "day_number": 4, + "description": "Venue de la ministre à l'égalité hommes-femmes à Lons-le-Saunier. Comité de non-accueil organisé par l'intersyndicale." + } + ] + }, + "44": { + "title": "Déplacements en Loire-Atlantique", + "moves": [ + { + "day_number": 2, + "cancelled": true, + "description": "Le village du SNU de Nantes plie bagage au bout d'1h et Sarah El Haïry renonce à venir faire un discours." + }, + { + "day_number": 4, + "description": "Olivia Grégoire à la Baule à 8h30 et à Guérande à 9h40." + } + ] + }, + "47": { + "title":"Déplacements dans le Lot-et-Garonne", + "moves": [ + { + "day_number": 2, + "description": "Casserolade et mise en sobriété énergétique du bar à Agen qui accueillait le ministre de la Transition Numérique Jean-Noël Barrot." + } + ] + }, + "57": { + "title": "Déplacements en Moselle", + "moves": [ + { + "day_number": 1, + "cancelled": true, + "description": "Annulation de la participation de la ministre de la Culture Rima Abdul-Malak à Politéïa, le festival qu’elle avait décidé de marrainer" + } + ] + }, + "60": { + "title": "Déplacements dans l'Oise", + "moves": [ + { + "day_number": 0, + "cancelled": true, + "description": "Jean-Christophe Combe, le ministre des Solidarités, de l’Autonomie et des Personnes Handicapées, ne viendra pas à Chantilly." + } + ] + }, + "64": { + "title": "Déplacements dans les Pyrénées-Atlantiques", + "moves": [ + { + "day_number": 4, + "description": "Gabriel Attal, repas officiel à la villa St Basil's dans le quartier Trespoey à Pau." + } + ] + }, + "67": { + "title": "Déplacements dans le Bas-Rhin", + "moves": [ + { + "day_number": 2, + "description": "Emmanuel Macron en déplacement Muttersholtz et à Sélestat dans le Bas-Rhin pour parler Jeux Olympiques" + } + ] + }, + "71": { + "title": "Déplacements en Saône-et-Loire", + "moves": [ + { + "day_number": 4, + "description": "Visite d'Olivier Dussopt à 9h à l'entreprise Margaritelli à Fontaines." + }, + { + "day_number": 4, + "description": "Visite d'Olivier Dussopt à l'entreprise Novium à 14h à Montceau les Mines." + } + ] + }, + "72": { + "title": "Déplacements dans la Sarthe", + "moves": [ + { + "day_number": 2, + "description": "Casserolades au Mans et en forêt de Bercé pour accueillir Christophe Béchu." + } + ] + }, + "80": { + "title": "Déplacements dans la Somme", + "moves": [ + { + "day_number": 4, + "description": "Bruno Le Maire et Christophe Béchu en déplacement à Nesle." + } + ] + }, + "75": { + "title": "Déplacements à Paris", + "moves": [ + { + "day_number": 15, + "cancelled": true, + "description": "Annulation de la visite d’État du président algérien." + }, + { + "day_number": 1, + "description": " Comité de non accueil pour JC. Combe et G. Darrieussecq en visite à la CAF de Paris." + } + ] + }, + "77": { + "title": "Déplacements en Seine-et-Marne", + "moves": [ + { + "day_number": 2, + "description": "Comité de non accueil pour la visite de Yaël Braun-Pivet au Centre Social et Culturel de Pontault-Combault." + }, + { + "day_number": 12, + "description": " Caravane du SNU devant le centre commercial BAY 2 à Torcy." + } + ] + }, + "78": { + "title": "Déplacements dans les Yvelines", + "moves": [ + { + "day_number": 3, + "description": "Comité de non accueil pour la ministre des sports Amélie Oudéa-Castéra vers l'Arena de Nanterre." + }, + { + "day_number": 9, + "description": "Caravane du SNU Place Notre-Dame à Versailles." + } + ] + }, + "83": { + "title": "Déplacements dans le Var", + "moves": [ + { + "day_number": 10, + "cancelled": true, + "description": "Le président de la République devait participer à une réunion à Toulon sur le thème du Service national universel (SNU). Il a finalement renoncé à ce projet en raison du contexte social." + }, + { + "day_number": 3, + "description": "Olivier Véran en visite à Brignolles." + } + ] + }, + "90": { + "title": "Déplacements dans le Territoire de Belfort", + "moves": [ + { + "day_number": 3, + "description": "Comité de non accueil pour Lecronu au 1er régiment d'artillerie à Bourogne, près de Belfort" + }, + { + "day_number": 4, + "description": "Visite d'Olivier Becht, le ministre du commerce extérieur et de l'attractivité, à l'usine d'Alstom à Belfort en début d'après-midi" + } + ] + }, + "91": { + "title": "Déplacements dans l'Essonne", + "moves": [ + { + "day_number": 1, + "cancelled": true, + "description": "Sylvie Retailleau annule sa venue à l'Université Paris Saclay où un bâtiment a été mis en sobriété énergétique." + } + ] + }, + "93": { + "title": "Déplacements en Seine-Saint-Denis", + "moves": [ + { + "day_number": 4, + "cancelled": true, + "description": "Annulation de la participation d'Olivier Klein à l’Assemblée Générale Ordinaire de l’ADIL de la Seine-Saint-Denis." + }, + { + "day_number": 4, + "cancelled": true, + "description": "Annulation de la venue du ministre de la santé François Braun à Ville Evrard." + }, + { + "day_number": 4, + "description": "Venue du ministre de la Santé François Braun à 13h30 au centre médical Cap Horn à Montreuil." + }, + { + "day_number": 2, + "description": "Casserolades lors de la visite de la ministre Carole Grandjean au CFA des métiers du luxe à Pantin." + } + ] + } } diff --git a/generate.py b/generate.py index 956f8c5..984666b 100755 --- a/generate.py +++ b/generate.py @@ -34,9 +34,13 @@ def generate(): for event in day['events']: for medium in event['media']: if 'subtitles_link' in medium: + dest_file = os.path.join('output/subtitles', medium['subtitles_file']) + if os.path.isfile(dest_file): + continue + req = requests.get(medium['subtitles_link'], stream=True) - with open(os.path.join('output/subtitles', medium['subtitles_file']), 'wb') as f: + with open(dest_file, 'wb') as f: for chunk in req.iter_content(chunk_size=1024): if chunk: f.write(chunk) @@ -46,12 +50,12 @@ def generate(): template = env.get_template("template.html.j2") with open('output/index.html', 'w') as f: - f.write(template.render(data=data, current_day=(date.today() - BASE_DATE).days)) + f.write(template.render(data=data, current_day=(date.today() - BASE_DATE).days, departement_shapes=shapes, apaisement=movings, today=date.today())) svg_template = env.get_template("France_departements.svg.j2") with open('output/France_departements.svg', 'w') as f: - f.write(svg_template.render(data=data, departement_shapes=shapes, apaisement=movings, today=date.today())) + f.write(svg_template.render(data=data, current_day=(date.today() - BASE_DATE).days, departement_shapes=shapes, apaisement=movings, today=date.today(), svg_only=True)) if __name__ == '__main__': diff --git a/templates/France_departements.svg.j2 b/templates/France_departements.svg.j2 index c907837..4e80747 100644 --- a/templates/France_departements.svg.j2 +++ b/templates/France_departements.svg.j2 @@ -1,4 +1,3 @@ - @@ -19,7 +18,7 @@ .dpt-path { opacity: 1; color: #000000; - fill: #ff0000; + fill: #aaaaff; fill-opacity: 1; fill-rule: evenodd; stroke: #5d5d5d; @@ -40,13 +39,17 @@ } .dpt-apaise { - fill: #00ff00; + fill: #55ff55; } .dpt-prevu { fill: #ffa500; } + .dpt-cancelled { + fill: #aa1111; + } + .pref-path { opacity: 1; color: #000000; @@ -106,7 +109,10 @@ {% for dpt, path in departement_shapes.items() %} - + {% endfor %} @@ -202,8 +208,6 @@ - - diff --git a/templates/template.html.j2 b/templates/template.html.j2 index e64eee6..bfde94d 100644 --- a/templates/template.html.j2 +++ b/templates/template.html.j2 @@ -118,7 +118,13 @@
- Carte des différents rassemblements par département + {% include "France_departements.svg.j2" %} +

+ Une autre carte similaire ayant inspiré le jeu de données est disponible sur le site d'ATTAC. +

+

+ Récupérez la carte au format SVG ici. +

@@ -134,6 +140,10 @@