Files
FreeboxMoviePlanner/Readme.md

78 lines
3.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FreeboxMoviePlanner
===
A few words in English
---
A Python script to help you select the movies you want to record with your Freebox, provided by Free, a french ISP. As such, the rest of this Readme will be in French.
Introduction
---
**FreeMoviePlanner** est un outil qui vous facilite la plannification
d'enregistrements avec votre *Freebox*.
Concrètement, l'outil effectue les opérations suivantes :
* Récupérer les film de la semaine à partir du [planning *Télé 7 Jours*](https://www.programme-television.org/?bouquet=free)
* Retirer les chaînes auxquelles vous n'avez pas accès
* Trouver les notes des films sur [*TMDb*](https://www.themoviedb.org/) (*The Movie Database*)
* Exclure les films en dessous d'une certaine note (paramétrable)
* Afficher les résumés des films et vous demander de sélectionner ceux qui vous intéressent.
* Planifier les enregistrements sur votre *Freebox*.
* Vous prévenir si des conflits sont identifiés pour que vous les résolviez depuis l'interface de votre *Freebox*.
![FreeboxMoviePlanner en action](https://djib.fr/djib/FreeboxMoviePlanner/raw/branch/master/screenshot.png)
Installation
---
### À partir de l'exécutable
[Téléchargez](https://djib.fr/djib/FreeboxMoviePlanner/releases) le fichier qui correspond à votre système d'exploitation (Linux ou Windows).
Extrayez ensuite ce fichier à l'emplacement de votre choix.
### À partir des sources
Pour utiliser **FreeboxMoviePlanner** à partir des sources, il vous faut Python, ainsi que les 3 packages suivants (à installer par exemple avec `pip install [nom du packet]`) :
* `beautifulsoup4`
* `tmdbsimple`
* `zeroconf`
Il vous faut ensuite récupérer le code du projet, le plus simple étant en clonant le dépôt git.
```bash
git clone --recurse-submodules https://djib.fr/djib/FreeboxMoviePlanner.git
```
Configuration
---
Ensuite, il vous faut créer un fichier de conf `config.json`. Vous pouvez tout simplement renommer le fichier `config.template.json`.
Dans ce fichier vous devrez renseigner une clef API TMDb. Pour cela vous aurez besoin d'[ouvrir un compte](https://www.themoviedb.org/account/signup) sur leur site et de [demander une clef API](https://www.themoviedb.org/settings/api).
Le fichier de config vous permet aussi de configurer la marge avant et après chaque enregistrement, ou la note en dessous de laquelle les films ne s'afficheront pas.
Exécution
---
L'outil devrait vous afficher rapidement le petit texte `Working the magic, please wait…` puis, après environ une minute (ou plus si votre réseau est lent), le détail des films.
À la première exécution, l'outil vous demandera aussi d'autoriser le script sur votre Freebox (`Please go to your Freebox and accept the authentication.`)
À ce moment, l'affichage de votre boîtier *Freebox* vous demandera de valider cette demande d'authentification. Vous devez donc physiquement valider l'accès à partir de votre box (sur la V6, il s'agit de presser la flèche de droite).
Notez que les films de *Canal+* s'afficheront par défaut. La *Freebox* indique que la chaîne est disponible, probablement car elle est parfois visible en clair. Vous pouvez forcer son exclusion avec le paramètre `-e Canal+`.
Enjoy!
Documentation
---
```shell
usage: FreeboxMoviePlanner.py [-h] [-d] [-l] [-e EXCLUDE] [-x EXCLUDE_DIRECTORY]
Schedule movie recordings on your Freebox
optional arguments:
-h, --help show this help message and exit
-d, --day Search movies for current day only instead of a full week
-l, --log Display more log messages
-e EXCLUDE, --exclude EXCLUDE
Exclude the following Channel
-x EXCLUDE_DIRECTORY, --exclude-directory EXCLUDE_DIRECTORY
Do not display movies available in the following directory. This will prevent you from recording the same movie multiple times.
```