Avec cet outil, vous récupérez les horaires des séances ciné directement dans le terminal.
- Python 3.11 ou une version ultérieure
- uv
uv tool install --upgrade allocineCommencez par rechercher l’identifiant de votre cinéma sur allocine.fr.
Recherchez votre cinéma et relevez son identifiant dans l’URL. Dans cet exemple, il s’agit de P0645.
seances --help
Usage: seances [OPTIONS] ID_CINEMA
Les séances de votre cinéma dans le terminal, avec ID_CINEMA : identifiant
du cinéma sur Allociné, ex: C0159 pour l’UGC Ciné Cité Les Halles. Se
trouve dans l’url :
http://allocine.fr/seance/salle_gen_csalle=<ID_CINEMA>.html
Options:
-j, --jour TEXT jour des séances souhaitées (au format DD/MM/YYYY ou +1
pour demain), par défaut : aujourd’hui
-s, --semaine affiche les séance pour les 7 prochains jours
-e, --entrelignes ajoute une ligne entre chaque film pour améliorer la
lisibilité
--help Show this message and exit.seances P2235
27/12/2018
┌──────────────────────────────────────────────────────────┬──────┬───────┬───────┬───────┬───────┐
│ Astérix - Le Secret de la Potion Magique... (VF) - 01h25 │ 4.1* │ 10:15 │ │ │ │
│ L’Empereur de Paris (VF) - 01h50 │ 3.4* │ │ │ 17:15 │ │
│ Ma mère est folle (VF) - 01h35 │ 3.0* │ │ 14:15 │ │ │
│ Marche ou crève (VF) - 01h25 │ 3.6* │ │ │ │ 20:15 │
└──────────────────────────────────────────────────────────┴──────┴───────┴───────┴───────┴───────┘seances P2235 -j+1 --entrelignes
28/12/2018
┌────────────────────────────────────────────────────┬──────┬───────┬───────┬───────┐
│ Casse-noisette et les quatre royaumes (VF) - 01h39 │ 3.1* │ │ │ 20:15 │
├────────────────────────────────────────────────────┼──────┼───────┼───────┼───────┤
│ Ma mère est folle (VF) - 01h35 │ 3.0* │ │ 17:15 │ │
├────────────────────────────────────────────────────┼──────┼───────┼───────┼───────┤
│ Marche ou crève (VF) - 01h25 │ 3.6* │ 14:15 │ │ │
└────────────────────────────────────────────────────┴──────┴───────┴───────┴───────┘seances P2235 --jour 29/12/2018seances P2235 --semainefrom allocine import Allocine
with Allocine() as allocine:
showtimes = allocine.get_showtimes("P2235")
for showtime in showtimes:
print(showtime)Exemple de sortie :
27/12/2018 10:15 : Astérix - Le Secret de la Potion Magique [244560] (VF) (01h25)
27/12/2018 14:15 : Ma mère est folle [260370] (VF) (01h35)
27/12/2018 17:15 : L’Empereur de Paris [258914] (VF) (01h50)
27/12/2018 20:15 : Marche ou crève [258052] (VF) (01h25)
28/12/2018 14:15 : Marche ou crève [258052] (VF) (01h25)
28/12/2018 17:15 : Ma mère est folle [260370] (VF) (01h35)
28/12/2018 20:15 : Casse-noisette et les quatre royaumes [245656] (VF) (01h39)
29/12/2018 14:15 : Astérix - Le Secret de la Potion Magique [244560] (VF) (01h25)
[...]Chaque film expose également showtime.movie.release_date (datetime.date | None) : la plus ancienne sortie
cinéma initiale référencée par Allociné (Released, type THEATER), uniquement si sa date est précise au jour.
Les ressorties, la VOD et les supports physiques sont exclus. Si aucune sortie initiale avec une date complète
n’est disponible, la valeur est None. Cette information provient des réponses des séances, sans requête supplémentaire,
et est conservée par showtime.movie.get_movie(). L’attribut year reste l’année de production.
Le cache est activé par défaut. Les réponses sont enregistrées dans le répertoire de cache utilisateur du système :
- macOS:
~/Library/Caches/allocine - Linux:
${XDG_CACHE_HOME:-~/.cache}/allocine - Windows:
%LOCALAPPDATA%\\allocine\\Cache
Videz le cache en ligne de commande (aucun identifiant de cinéma n’est nécessaire) :
seances --clear-cacheCréez l’environnement virtuel et installez le paquet avec ses dépendances de développement :
uv sync --extra devInstallez les hooks pre-commit une première fois, puis utilisez make check pour analyser, formater et vérifier les types
de l’ensemble du code :
uv run pre-commit install
make checkExécutez chaque vérification sans modifier les fichiers :
uv run ruff check .
uv run ruff format --check .
uv run ty checkExécutez manuellement tous les hooks pre-commit avec :
uv run pre-commit run --all-filesLes utilisateurs de VS Code doivent accepter les recommandations d’extensions de l’espace de travail afin d’activer les diagnostics Ruff et ty en temps réel, ainsi que le formatage Ruff à l’enregistrement.
Le workflow de publication publie sur PyPI les tags de version tels que 0.0.13 grâce à Trusted Publishing, sans
stocker de jeton d’API. Avant la première publication :
- Créez un environnement GitHub nommé
pypi. Il est recommandé d’exiger une approbation avant tout déploiement. - Dans les paramètres de publication PyPI du projet
allocine, ajoutez un Trusted Publisher GitHub avec le propriétairetducret, le dépôtallocine-python, le workflowrelease.ymlet l’environnementpypi.
Le tag Git définit la version du paquet ; aucun fichier de version ne doit être mis à jour. Ajoutez le tag au commit à publier. Le workflow rejette les distributions dont la version ne correspond pas au tag et effectue un test rapide du wheel et de la distribution source avant leur publication :
VERSION=0.0.13
git tag -a ${VERSION} -m ${VERSION}
git push origin ${VERSION}

