Sur les épaules de Darwin, émission proposée par Jean-Claide Ameisen. Diffusée sur France Inter tous les samedi matin de 11h à 12h, depuis Septembre 2009.
Ce projet contient les scripts python que j'utilise pour générer la page http://clementgrimal.fr/darwin/
Il est composé de 3 scripts python :
darwin_create_database.py
: construit et exporte une base de données (dans un fichier json)darwin_create_webpage.py
: construit la page web à partir de la base de données (et d'un template)darwin_download.py
: télécharge les fichiers mp3 à partir de la base de données
Et je donne également un exemple de script bash qui les utilise (pour automatiser la mise à jour) :
darwin_update.sh
: met à jour la base de données et la page web en prenant les épisodes des deux derniers mois
- python
- python-pyquery
- python-lxml
- python-pip
- requests
- python-mutagen (pour le téléchargement uniquement)
- slugify (pour le téléchargement uniquement)
- l'outil megacmd (pour l'upload vers MEGA uniquement)
Pour tout installer, sur une distribution de type Debian/Ubuntu :
sudo apt-get install python-pyquery python-lxml python-pip
sudo pip install requests mutagen slugify
Il faut commencer par créer une base de données de toutes les émissions :
python darwin_create_database.py
Cette commande va exporter dans output/darwin_base.json
la liste des épisodes et des données suivantes :
- date de diffusion
- lien vers le lecteur flash de France Inter pour ré-écouter l'émission
- lien vers la page de l'épisode
- lien direct vers le fichier mp3 de l'épisode
- titre
- rediffusion : nombre de diffusions antérieures de cet épisode (En cours)
Les paramètres (et valeurs par défaut) de ce script sont les suivants :
-id
: l'identifiant de l'émission. Défaut :137151
-debut
: le mois de départ au format YYYY-MM. Défaut :2010-09
-fin
: le mois de fin au format YYYY-MM. Défaut :2013-08
-dest
: Le fichier JSON dans lequel enregistrer la base de données. Défaut :./output/darwin_base.json
On peut ensuite générer la page web à partir de la base de données JSON :
python darwin_create_webpage.py
Cette commande va se baser sur la base de données JSON pour générer une page web, utilisant un template. Les paramètres (et valeurs par défaut) de ce script sont les suivants :
-base
: le fichier JSON qui contient la base de données. Défaut :./output/darwin_base.json
-web
: le fichier contenant la page web créee. Défaut :./output/index.php
-template
: le fichier de template de la page web. Défaut :./output/index_public.html
C'est un peu bonus (et pourtant j'ai fait tout ça pour ça au départ !), mais on peut également télécharger tous les épisodes que l'on souhaite avec :
python darwin_download.py
Cette commande va se baser sur les liens mp3 de la base de données JSON pour télécharger les épisodes. Les paramètres (et valeurs par défaut) de ce script sont les suivants :
-base
: le fichier JSON qui contient la base de données. Défaut :./output/darwin_base.json
-dossier
: le dossier qui contient les fichiers mp3. Défaut :./
-debut
: le mois de départ au format YYYY-MM. Défaut :2010-09
-fin
: le mois de fin au format YYYY-MM. Défaut :2013-08