Git Product home page Git Product logo

xml-tv-fr's Introduction

XML TV Fr

XML TV Fr est un service permettant de récupérer un guide des programmes au format XMLTV.

Prérequis

PHP >=5.4 avec les extensions

  • curl
  • zip
  • mbstring
  • xml
  • json

Configuration

Cette partie va vous permettre de configurer XML TV Fr.

Liste des chaines dans channels.json

La liste des chaines doit être indiquée dans le fichier channels.json au format JSON. Chaque chaine correspond à l'ID d'une chaine (Exemple : France2.fr) présente dans les fichiers de chaines par services (dossier channels_by_providers). La structure d'un item se fait comme ceci :

"IdDelaChaine":{"name":"Nom de la chaine","icon":"http://icone de la chaine","priority":["Service1","Service2"]}

Les champs name, icon et priority sont optionnels. Le champ priority donne un ordre de priorité différent de celui par défaut en indiquant les noms des services (nom des classes dans le dossier classes). Dans l'exemple, Service1 sera appelé en premier et Service2 ne sera appelé que si Service1 échoue. Par exemple si on met en priorité Télérama puis Orange, Télérama sera lancé. Si aucun programme n'est trouvé sur Télérama, Orange est lancé, sinon on continue. Si aucun programme n'est trouvé sur tous les services, la chaine est indiquée HS pour le jour concerné.

Configuration du programme config.json

Le fichier config.json est au format JSON. Le champ days correspond au nombre de jours suivant la date du jour que l'on souhaite obtenir.

Lancer le script

Pour démarrer la récupération du guide des programmes, lancez cette commande dans votre terminal (dans le dossier du programme).

php script_all.php

Sortie

Logs

Les logs sont stockés dans le dossier logs au format JSON.

XML TV

Les fichiers de sorties XML sont stockés dans le dossier xmltv au format XML, ZIP et GZ. Pour vérifier si celui-ci est valide, il suffit de lancer : php xmlvalidator.php Cette commande indiquera si le dernier fichier XML généré est valide.

Ajouter des services

Il est possible d'ajouter des services autres que ceux fournis. Pour cela, il faut ajouter une classe dans le dossier classes qui implémente la classe Provider. Le constructeur aura le chemin des XML temporaires d'indiqué. La méthode getPriority() renverra un flottant de préférence entre 0 et 1 pour indiquer la priorité par rapport à d'autres services (comparez les valeurs des autres scripts pour vous situer). La méthode constructEPG(channel,date) construira un fichier XML pour une chaine à une date donnée. Elle retourne true si la tâche s'est déroulée avec succès, sinon false. Le fichier doit être stocké dans le dossier des XML temporaires et doit être de la forme [ID de la chaine]_[Date].xml. La méthode statique generateFilePath(xmlpath,channel,date) dela classe Utils le construit automatiquement.

Attention, le nom de la classe du service doit correspondre à son nom de fichier. Bien que PHP, contrairement à Java autorise des noms différents, le programme ici ne le permet pas.

xml-tv-fr's People

Contributors

sebmourlhou avatar racacax avatar mmbarki avatar ludisnet avatar

Watchers

 avatar

Forkers

skred04 blackreb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.