parent
cae46e21a8
commit
50de72bea1
2
Makefile
2
Makefile
|
@ -3,7 +3,7 @@ generate:
|
||||||
cp static/* output/
|
cp static/* output/
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm output/*
|
rm -r output/*
|
||||||
|
|
||||||
install:
|
install:
|
||||||
rsync -arvP --delete-after output/ proxy.adm.ynerant.fr:/var/www/apaisement/
|
rsync -arvP --delete-after output/ proxy.adm.ynerant.fr:/var/www/apaisement/
|
||||||
|
|
43
data.json
43
data.json
|
@ -1,7 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"index": 0,
|
"index": 0,
|
||||||
"subtitle": "Allocution présidentielle",
|
"subtitle": "Allocution présidentielle et rencontre avec des fachos",
|
||||||
"events": [
|
"events": [
|
||||||
{
|
{
|
||||||
"description": "Emmanuel Macron s'exprime à 20h devant les Français⋅es. Il fixe un cap de 100 jours pour appaiser le pays.",
|
"description": "Emmanuel Macron s'exprime à 20h devant les Français⋅es. Il fixe un cap de 100 jours pour appaiser le pays.",
|
||||||
|
@ -32,33 +32,46 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"index": 1,
|
"index": 1,
|
||||||
"subtitle": "La faute aux Maghrébin⋅es",
|
"subtitle": "Les aides sociales renvoyées au Maghreb",
|
||||||
"events": [
|
"events": [
|
||||||
{
|
{
|
||||||
"description": "Bruno Le Maire affirme que l'argent de l'État part au Maghreb.",
|
"description": "Bruno Le Maire estime que « Les Français⋅es en ont légitement ras-le-bol […] de voir que des personnes qui peuvent toucher des aides qu'iels paient elleux-même […] et les renvoyer au Maghreb ou ailleurs alors qu'iles n'y ont pas droit ».",
|
||||||
"url": null,
|
"media": [
|
||||||
"image": null
|
{
|
||||||
|
"type": "video",
|
||||||
|
"link": "https://bcboltnexti1-a.akamaihd.net/media/v1/pmp4/static/clear/876450610001/4805adbc-e458-4e9c-95d2-c1be1609607f/2fbad444-a28d-45a9-9150-9ba832d36647/main.mp4",
|
||||||
|
"subtitles_link": "https://bcboltnexti1-a.akamaihd.net/media/v1/dash/live/clear/876450610001/4805adbc-e458-4e9c-95d2-c1be1609607f/a85dfde4-7199-4ae9-93b1-cebf4c9739ff.vtt",
|
||||||
|
"subtitles_file": "2023-04-18-BFMTV.vtt",
|
||||||
|
"start": "00:07:58",
|
||||||
|
"end": "00:08:31",
|
||||||
|
"source_text": "Face-à-Face : Bruno Le Maire - 18/04, BFMTV",
|
||||||
|
"source_url": "https://www.bfmtv.com/replay-emissions/l-interview/face-a-face-bruno-le-maire-18-04_VN-202304180186.html"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "video",
|
||||||
|
"link": "https://bcboltnexti1-a.akamaihd.net/media/v1/pmp4/static/clear/876450610001/1893e56e-cda4-4054-bf95-4bfdad8b9c81/7d1e9809-ea15-4296-a06a-17dc300bda4f/main.mp4",
|
||||||
|
"source_text": "Olivier Dussopt : « La fraude est une question importante, sur laquelle nous devons consacrer beaucoup d'énergie et beaucoup de moyens », BFMTV",
|
||||||
|
"source_url": "https://www.bfmtv.com/politique/olivier-dussopt-la-fraude-est-une-question-importante-sur-laquelle-nous-devons-consacrer-beaucoup-d-energie-et-beaucoup-de-moyens_VN-202304180500.html"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"index": 2,
|
"index": 2,
|
||||||
"subtitle": "L'Alsace se rebèle",
|
"subtitle": "L'Alsace se rebelle",
|
||||||
"events": [
|
"events": [
|
||||||
{
|
{
|
||||||
"description": "Macron hué à Muttersholtz et à Sélestat.",
|
"description": "Macron hué à Muttersholtz et à Sélestat.",
|
||||||
"url": null,
|
"media": []
|
||||||
"image": null
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Le député LFI Emmanuel Fernandes baîlloné par le 49§3 devant Macron.",
|
"description": "Le député LFI Emmanuel Fernandes baîlloné par le 49§3 devant Macron.",
|
||||||
"url": null,
|
"media": []
|
||||||
"image": null
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "La nouvelle devise du pays selon Véran : « Travail, <s>Famille, Patrie</s> Ordre, Progrès",
|
"description": "La nouvelle devise du pays selon Véran : « Travail, <s>Famille, Patrie</s> Ordre, Progrès",
|
||||||
"url": null,
|
"media": []
|
||||||
"image": null
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -68,13 +81,11 @@
|
||||||
"events": [
|
"events": [
|
||||||
{
|
{
|
||||||
"description": "La préfecture de l'Hérault interdit le port d'objets sonores portatifs.",
|
"description": "La préfecture de l'Hérault interdit le port d'objets sonores portatifs.",
|
||||||
"url": null,
|
"media": []
|
||||||
"image": null
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Le député LFI Sébastien Rome remet à Macron un livre sur la Résistance dans la région",
|
"description": "Le député LFI Sébastien Rome remet à Macron un livre sur la Résistance dans la région",
|
||||||
"image": null,
|
"media": []
|
||||||
"url": null
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
19
generate.py
19
generate.py
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
from datetime import date, timedelta
|
from datetime import date, timedelta
|
||||||
import json
|
import json
|
||||||
|
import os.path
|
||||||
|
import requests
|
||||||
|
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
|
||||||
|
@ -13,9 +15,26 @@ def to_date(offset: int, date_format="%d/%m/%Y"):
|
||||||
|
|
||||||
|
|
||||||
def generate():
|
def generate():
|
||||||
|
if not os.path.exists('output'):
|
||||||
|
os.mkdir('output')
|
||||||
|
|
||||||
|
if not os.path.exists('output/subtitles'):
|
||||||
|
os.mkdir('output/subtitles')
|
||||||
|
|
||||||
with open('data.json') as f:
|
with open('data.json') as f:
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
|
|
||||||
|
for day in data:
|
||||||
|
for event in day['events']:
|
||||||
|
for medium in event['media']:
|
||||||
|
if 'subtitles_link' in medium:
|
||||||
|
req = requests.get(medium['subtitles_link'], stream=True)
|
||||||
|
|
||||||
|
with open(os.path.join('output/subtitles', medium['subtitles_file']), 'wb') as f:
|
||||||
|
for chunk in req.iter_content(chunk_size=1024):
|
||||||
|
if chunk:
|
||||||
|
f.write(chunk)
|
||||||
|
|
||||||
env = Environment(loader=FileSystemLoader("templates/"))
|
env = Environment(loader=FileSystemLoader("templates/"))
|
||||||
env.filters['to_date'] = to_date
|
env.filters['to_date'] = to_date
|
||||||
template = env.get_template("template.html.j2")
|
template = env.get_template("template.html.j2")
|
||||||
|
|
|
@ -46,13 +46,16 @@
|
||||||
</p>
|
</p>
|
||||||
{% elif medium.type == "youtube" %}
|
{% elif medium.type == "youtube" %}
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/{{ medium.code }}" title="Allocution du président de la République du 17 avril 2023" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/{{ medium.code }}?start={{ medium.start|default(0) }}" title="Allocution du président de la République du 17 avril 2023" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||||
</div>
|
</div>
|
||||||
{% elif medium.type == "video" %}
|
{% elif medium.type == "video" %}
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<div>
|
<div>
|
||||||
<video controls width="560" height="315">
|
<video controls width="560" height="315">
|
||||||
<source src="{{ medium.link }}">
|
<source src="{{ medium.link }}{% if medium.start %}#t={{ medium.start }}{% if medium.end %},{{ medium.end }}{% endif %}{% endif %}">
|
||||||
|
{% if medium.subtitles_file %}
|
||||||
|
<track label="Français" kind="subtitles" srclang="fr" src="subtitles/{{ medium.subtitles_file }}" default>
|
||||||
|
{% endif %}
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
|
|
Loading…
Reference in New Issue