LightCodeSysadmin Open Source

SeriesWatcher

SeriesWatcher est un programme permettant de gérer sa bibliothèque de séries TV. Après avoir configuré rapidement le logiciel, SeriesWatcher sera en mesure d’afficher les épisodes de la série et vous dire lesquels sont présents sur votre disque dur, si vous les avez déjà vus… Vous pourrez également ouvrir les épisodes depuis l’interface, mais aussi les trier par saison ou encore rechercher un titre d’épisode.

Liste des fonctionnalités

  • Affiche le titre de la série ainsi que sa description, les épisodes, la date de création…
  • Le logiciel affichera quels épisodes vous avez déjà vu
  • Possibilité de filtrer les épisodes en fonction de la saison, des épisodes disponibles sur votre disque dur, des épisodes vus…
  • Vous pouvez rechercher un titre d’épisode
  • Vous pouvez ouvrir les épisodes depuis le logiciel (s’ils sont présent sur le disque dur)

Les épisodes sont téléchargés depuis une base de données libre Online TV Database et les met à jour automatiquement.

Installation

Sous Windows

Avec la version compilé (recommandé)
  • Télécharger la version “Windows” de SeriesWatcher sur cette page
  • Extraire les fichiers de l’archive ZIP
  • Exécuter serieswatcher.exe
Depuis les sources

Veuillez vérifier que Python 2.7 et PyQt soient installé. Si ce n’est pas le cas, voici les liens de téléchargement :

Ensuite vous pouvez :

  • Télécharger le code source de SeriesWatcher sur cette page
  • Extraire les fichiers de l’archive ZIP
  • Lancer le fichier serieswatcher.pyw

Sous Linux

  • Installer Python 2 et PyQt4 sur votre distribution
  • Télécharger le code source de SeriesWatcher sur cette page
  • Extraire les fichiers de l’archive ZIP
  • Tapez ensuite la commande python serieswatcher.py

Mise à jour

Pour mettre à jour SeriesWatcher, il faut extraire les fichiers de l’archive ZIP de la nouvelle version dans un dossier. Ensuite, il faut déplacer le dossier user de l’ancienne installation dans le nouveau dossier. Ouvrez ensuite SeriesWatcher et cliquez sur “Oui” pour mettre à jour l’ancienne base de données.

Raccourcis clavier

Dans la fenêtre principale :

  • F : met/enlève l’épisode sélectionné en favoris ;
  • P : joue l’épisode sélectionné ;
  • V : marque l’épisode comme vu/non vu ;
  • R : démarre la lecture aléatoire ;
  • Ctrl + E : éditer les séries ;
  • Ctrl + F : place le curseur dans le champs de recherche ;
  • Ctrl + K : marque la sélection comme vu ;
  • Ctrl + N : nouvelle série ;
  • Ctrl + R : recharge les épisodes de la série ;
  • Ctrl + U : met à jour les séries ;
  • Ctrl + Entrer : joue le premier épisode ;

Dans le lecteur :

  • B ou V : affiche les options ;
  • D : augmente la vitesse de lecture ;
  • I : affiche les barres ;
  • R : active la lecture aléatoire ;
  • S : diminue la vitesse de lecture ;
  • Echap : quitter le plein écran ;
  • Espace : mettre en pause ;
  • + ou flèche vers le haut : augmenter le volume ;
  • - ou flèche vers le bas : diminuer le volume ;
  • Flèche vers la gauche : épisode précédent ;
  • Flèche vers la droite : épisode suivant ;

Développement

SeriesWatcher est un programme codé avec Python en version 2.7. Il intègre également quelques bibliothèques :

  • PyQt4 : utilisé dans la création de l’interface graphique ;
  • SQLObject : il est utilisé pour la base de données SQLite ;
  • La librairie VLC : utilisée pour le lecteur de vidéos ;
  • Desktop : permet d’ouvrir les fichiers avec l’explorateur de fichier sur système d’exploitation ;
  • ConfigParser 3.2 ;

Arborescence

L’arborescence de base est organisée comme suit :

  • serieswatcher/ : contient le code source de SeriesWatcher ainsi que des librairies externes utilisées ;
  • themes/ : contient le thème de SeriesWatcher ;
  • user/ : contient toutes les données utilisateur.

Le code source de SeriesWatcher se trouve dans le dossier : serieswatcher/serieswatcher. Celui-ci s’organise sous la forme d’un package, structuré de cette manière :

  • upgraders/ : dans ce dossier sont stockés les fichiers nécessaires aux mises à jour de SeriesWatcher ;
  • widgets/ : dossier regroupant les widgets Qt créés pour SeriesWatcher ;
  • tasks/ : dossier contenant les tâbles ;
  • workers/ : dossier contenant les workers permettant d’initialiser les tâches ;
  • windows/ : dossier contenant toutes les fenêtres du programme ;
  • windows/main.py : fichier principal initialisant l’application et l’interface graphique ;
  • models.py : fichier contenant les deux classes Serie et Episode utilisées pour accéder à la base de données.

Le reste des fichiers contient d’autres classes permettant, par exemple, d’afficher des fenêtres.

La base de données

SeriesWatcher utilise SQLObject pour accéder à la base de donnée SQLite. Celle-ci est stockée dans le fichier user/series/series.sqlite. La base de données est constituée de deux tables : la table Serie qui stocke toutes les informations relatives à une série et la table Episode qui va stocker tous les épisodes de toutes les séries.