Categories
Technology

XMLTV, un format qui pourrait être bien

Il existe une application xml intéressante pour les enfants de la télé comme moi: le format xmltv. Destiné à décrire une liste de programmes TV, c’est un bon moyen d’avoir chez soi le programme TV d’une semaine sans avoir à acheter un magazine ou consulter les sites web.

Malheuresement, il ne semble exister aucune application valable pour les consulter: aussi bien sous Windows que sous Linux, je n’ai pas réussi à les utiliser convenablement. Étant donné que c’est du XML, la plupart des applications sont codées dans les langages facilitant la manipulation XML comme Java, C# ou Perl et qui nécessitent l’installation d’applications tierces pour fonctionner. Pourquoi ne pas faire d’application natives?

Sans compter qu’un fichier contenant toute une semaine pèse plusieurs mega octet et que les applications ont tendance à charger tout l’arbre en mémoire, d’où une lenteur irritante.

J’ai bien essayé de transformer le fichier XMLTV en iCal (description de calendrier) afin de le lire dans Mozilla Sunbird, mais sans succès.

Je crois bien que je vais devoir continuer à passer par le web pour consulter le programme TV…

6 replies on “XMLTV, un format qui pourrait être bien”

Je vais peut-être pas répondre à ta question, mais moi j’utilise Nextview EPG pour avoir le programme TV des 6 chaines hertzienne via ma carte tuner et sans internet.
Mais je sais pas si c’est du xmltv en natif il doit le faire en export ou import(à vérifier).
nxtvepg.sourceforge.net/i…
PS : ça marche très bien et j’en suis très content.

De ce que j’ai vu, nexTView permet de récuperer les programmes émis en même temps que les émissions pour constituer une base exportable au format xmltv.
Il faut donc une carte TV, ce que je n’ai pas, et c’est pour cela que je voulais exploiter un fichier tout prêt déjà en ligne.

Si t’es sous Linux je viens de faire ce tuto, pour win je cherche un équivalent mais j’ai pas encore trouvé, si quelqu’un à une piste …

Il existe une solution qui marche bien, c’est ce XSL :
web.archive.org/web/20040…

qu’on peu modifier comme ceci :

<?xml version=’1.0′ encoding=’ISO-8859-1′?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Trans... version=’1.0′>
<xsl:template match="tv">
<xsl:for-each select="channel">
<xsl:variable name="channel-id" select="@id"/>
<xsl:variable name="channel-name" select="display-name"/>
<xsl:document method="text" encoding="UTF-8" indent="no" href="{$channel-name}.ics">BEGIN:VCALENDAR
CALSCALE:GREGORIAN
X-WR-CALNAME: <xsl:value-of select="display-name" />
PRODID: Irvin TV ical generator
VERSION:2.0
<xsl:for-each select="/tv/programme"><xsl:if test="@channel = $channel-id">BEGIN:VEVENT
UID:<xsl:value-of select="generate-id()" />
SUMMARY:<xsl:call-template name="ical_text_format"><xsl:with-param name="text" select="title" /></xsl:call-template>
DESCRIPTION:<xsl:call-template name="ical_text_format"><xsl:with-param name="text" select="desc" /></xsl:call-template>
DTSTART:<xsl:value-of select="substring(@start,1,8)" />T<xsl:value-of select="substring(@start,9,6)" />Z
DTEND:<xsl:value-of select="substring(@stop,1,8)" />T<xsl:value-of select="substring(@stop,9,6)" />Z
END:VEVENT
</xsl:if></xsl:for-each>END:VCALENDAR
</xsl:document>
</xsl:for-each>
</xsl:template>

<xsl:template name="ical_text_format">
<xsl:param name="text"/>
<xsl:choose>
<xsl:when test="contains($text, ‘,’)">
<xsl:variable name="before" select="substring-before($text, ‘,’)"/>
<xsl:variable name="after" select="substring-after($text, ‘,’)"/>
<xsl:variable name="prefix" select="concat($before, ‘\,’)"/>
<xsl:value-of select="normalize-space($before)"/>
<xsl:value-of select="’\,’"/>
<xsl:call-template name="ical_text_format">
<xsl:with-param name="text" select="$after"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space($text)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

pour que le nom de fichier .ics soit le nom de la chaîne…

j’ai pas testé sous Sunbird, mais avec iCal sous OSX ça marche parfait…

là je suis sur un script PHP qui récupérerait les fichier quotidiennement, décompresserait le .rar et "sablotronerait" tout ça pour en faire des calendriers que l’on peut souscrire… si ça avance positivement je re-posterais une note.

a+

Comments are closed.