Aller au contenu

Outil De Conversion Xmltv Vers Epg Videostation


Messages recommandés

Posté(e)

Trouvé !!!

C'est la concaténation entre string et variable qui ne fonctionne pas avec des ',' chez moi mais des '.'

ex:


	 print OUT "	  {\n";

	 print OUT "		 \"duration\" : ".$prog->{duration}.",\n";

	 print OUT "		 \"event_id\" : ".$eventid++.",\n";

	 print OUT "		 \"event_name\" : ".quote($event_name).",\n";

	 print OUT "		 \"finalprogram\" : ".( $islatest  ? "true" : "false").",\n";

	 print OUT "		 \"start_time\" : ".$prog->{start_time}.",\n";

	 print OUT "		 \"text_name\" : ".quote($text_name)."\n";

	 print OUT "	  }".($islatest ? "" : ",")."\n";

Posté(e) (modifié)

Trouvé !!!

C'est la concaténation entre string et variable qui ne fonctionne pas avec des ',' chez moi mais des '.'

Mais ce n'est pas que chez toi, l'opérateur de contatanation de chaines est bien le "." en perl.

Mais, je ne vois pas bien ou est cette virgule fautive dans mon script?

**EDIT**

Vu, en effet j'ai mis des "," pour séparer les arguments de print

Malgrès cela je ne percute pas: la commade

print OUT chaine1 . chaine2 . etc ...
devrait se comporter à l'identique de
print OUT chaine1 , chaine2 , etc ...[/code]




En effet, dans le premier cas on invoque print avec un *unique* argument constitué de la concaténation des chaines et dans le second cas avec n arguments, chacun constitués d'une chaine.



C'est la seule modification que tu as apporté au script?



Pourrais-tu faire stp la commande suivante:

[CODE]perl -V[/code]

et nous donner le résultat ici ?

Modifié par CoolRaoul
Posté(e)

Oui mis à part l'utilisation du perl syno, c'est la seule chose que j'ai changée.

Voici la version de mon perl


Summary of my perl5 (revision 5 version 8 subversion 3) configuration:

  Platform:

    osname=linux, osvers=2.6.15, archname=PPC_853X

    uname='linux  2.6.15'

    config_args=''

    hint=recommended, useposix=true, d_sigaction=define

    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=unde					  f

    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef

    use64bitint=undef use64bitall=undef uselongdouble=undef

    usemymalloc=n, bincompat5005=undef

  Compiler:

    cc='/usr/local/powerpc-linux-gnuspe/bin/powerpc-linux-gnuspe-ccache-gcc', cc					  flags ='-I/usr/local/powerpc-linux-gnuspe/include -mcpu=8548 -mhard-float -mfloa					  t-gprs=double -DSYNO_PPC_853X -gstabs -O2 -I/usr/syno/include -g -DSYNO_PLATFORM					  =PPC_853X -fno-strict-aliasing -fexpensive-optimizations -fomit-frame-pointer -g					   ',

    optimize='-O',

    cppflags='-fno-strict-aliasing'

    ccversion='', gccversion='2.95.3 20010125 (prerelease)', gccosandvers=''

    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321

    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8

    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize					  =8

    alignbytes=4, prototype=define

  Linker and Libraries:

    ld='/usr/local/powerpc-linux-gnuspe/bin/powerpc-linux-gnuspe-ld', ldflags ='					  '

    libpth=/usr/local/powerpc-linux-gnuspe/lib /usr/syno/lib

    libs=-lnsl -ldl -lm -lcrypt -lc -lutil -lc -L/usr/local/powerpc-linux-gnuspe					  /lib/gcc/powerpc-linux-gnuspe/3.4.3/ -lgcc_s -L/source/perl-5.8.6 -lperl

    perllibs=-lnsl -ldl -lm -lcrypt -lc -lutil -L//usr/local/powerpc-linux-gnusp					  e/lib/gcc/powerpc-linux-gnuspe/3.4.3/ -lgcc_s

    libc=/usr/local/powerpc-linux-gnuspe/lib/libc-2.3.3.so, so=so, useshrplib=tr					  ue, libperl=libperl.so

    gnulibc_version='2.2.2'

  Dynamic Linking:

    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-I/usr/local/power					  pc-linux-gnuspe/include -mcpu=8548 -mhard-float -mfloat-gprs=double -DSYNO_PPC_8					  53X -gstabs -O2 -I/usr/syno/include -g -DSYNO_PLATFORM=PPC_853X -fno-strict-alia					  sing -fexpensive-optimizations -fomit-frame-pointer -g '

    cccdlflags='-I/usr/local/powerpc-linux-gnuspe/include -mcpu=8548 -mhard-floa					  t -mfloat-gprs=double -DSYNO_PPC_853X -gstabs -O2 -I/usr/syno/include -g -DSYNO_					  PLATFORM=PPC_853X -fno-strict-aliasing -fexpensive-optimizations -fomit-frame-po					  inter -g ', lddlflags='-shared -L/usr/local/powerpc-linux-gnuspe/lib/gcc/powerpc					  -linux-gnuspe/3.4.3/ -lgcc_s -L/usr/syno/lib'


Characteristics of this binary (from libperl):

  Compile-time options: USE_LARGE_FILES

  Built under linux

  Compiled at Sep 27 2012 15:27:39

  @INC:

    /usr/lib/perl5/5.8.6/PPC_853X

    /usr/lib/perl5/5.8.6

    /usr/lib/perl5/site_perl/5.8.6/PPC_853X

    /usr/lib/perl5/site_perl/5.8.6

    /usr/lib/perl5/site_perl

Posté(e)

Voici la version de mon perl


Summary of my perl5 (revision 5 version 8 subversion 3)

Pas besoin de regarder plus avant, voici la mienne
Summary of my perl5 (revision 5 version 10 subversion 0)[/code]

Je crois que la est le problème

Tu es sous quelle version de DSM?

Posté(e)


osname=linux, osvers=2.6.15, archname=PPC_853X

Ah j'avais pas fait gaffe à ca, architecture power pc

Compiled at Sep 27 2012 15:27:39

Donc sacrément récent en plus

La version de perl DSM serait différente suivant les types de processeurs?

Quand meme etrange

Nan, je confirme, j'ai déjà vu ce type de chose sur samba il me semble, en DSM 3.0 ou DSM 3.1, la version de DSM était identique, mais 2 archi différentes, et les version des samba étaient plus anciennes sur le PPC

Posté(e)

Bon

Donc à version de perl différentes, ça explique que je n'ai pas pu reproduire le problème a l'identique sur mon matos.

paulpoule: tu vas devoir envisager l'option optware alors je pense.

Comment tu installes optware?

Sinon, mon script modifié fonctionne très bien maintenant :-)

Posté(e)

Pour optware il y a plein de tutos qui traînent, je n'ai pas de lien sous la main mais ca devrait se trouver facilement.

(Même si le repo optware n'est plus a jour pour PPC, dans tous les cas la version du perl sera largement plus récente que celle intégrée à DSM.)

Cela dit, ça serait bien d'avoir un perl dispo sous format spk (*) , mais ça ne doit pas être une mince affaire à packager dans l'environnement de cross compilation ...

* note: ceci est un message subliminal à l'attention de Diaoul, apres tout il n'y a pas que python dans la vie.

  • 4 semaines après...
  • 2 mois après...
Posté(e)

Bonjour,

J'ai pour ma part cette erreur :

xml2epg.pl: parsing /usr/local/etc/xml2epg.conf

xml2epg.pl: /usr/local/etc/xml2epg.conf:1syntaxerror.

Une piste svp ?

Merci.

Posté(e)

Bonjour,

J'ai pour ma part cette erreur :

xml2epg.pl: parsing /usr/local/etc/xml2epg.conf

xml2epg.pl: /usr/local/etc/xml2epg.conf:1syntaxerror.

xml2epg.pl ne parviens pas a comprendre la 1ere ligne du fichier xml2epg.conf

Faudrait nous la montrer stp (et une partie des suivantes aussi)

Tiens, tant que j'y suis, pour ceux qui ont forcé l'installation de la beta de videostation (ou qui sont en DSM beta 4.2), les chemins du répertoire EPG et de channels.conf ont changé (c'est du au support de plusieurs clés TNT USB simultanément) et les défauts utilisés par xml2epg.pl ne sont plus correct dans ce cas

En attendant que je corrige le script, la solution est de donner les chemins en dur, comme ceci par exemple:

VSDIR=/usr/syno/etc/packages/VideoStation
EPGDIR=$VSDIR/EPGs/0EPG
CHANCONF=$VSDIR/channels/0channels.conf
url=http://xmltv.dyndns.org/download/tnt_lite.zip
xml2epg.pl -d $EPGDIR -C $CHANCONF $url
 
Posté(e)

Merci pour ta réponse visiblement encodage mauvais, maintenant cela fonctionne à part les unicode...

Comment tester si l'on a optware ?

Il me semble pourtant l'avoir mis dans le temps et j'ai laissé la première ligne telle quelle #! /opt/bin/perl -w et cela fonctionne ?

Posté(e)

Merci pour ta réponse visiblement encodage mauvais, maintenant cela fonctionne à part les unicode...

Comment tester si l'on a optware ?

Il me semble pourtant l'avoir mis dans le temps et j'ai laissé la première ligne telle quelle #! /opt/bin/perl -w et cela fonctionne ?

Pour voir si le perl optware est bien là, taper "/opt/bin/perl -v"

Pour l'unicode, si tu es sous windows, je te conseille d'éditer le fichier avec notepad++ (choisir dans menu "encodage": utf8, de préférence sans BOM [je ne sais pas si mon script est compatible avec le préfixe BOM])

En attendant que je corrige le script,

Bon j'ai corrigé finalement: nouvelle version 2.10 dispo, compatible Videostation 1.0 (DSM 4.1) et 1.1 (DSM 4.2).

Voir 1er post du fil

  • 3 semaines après...
Posté(e)

Bonjour,

J'utilise le script ml2epg.pl de CoolRaoul pour mettre à jour le guide de programmes.

J'avais noté qu'il était préférable de désactiver la mise à jour interne VideoStation pour éviter tout conflit avec le script via la ligne de commande avec le compte admin :

chmod -x /volume1/@appstore/VideoStation/bin/synodvbepg

Ce matin, j'ai installé la dernière mise à jour de VidéoStation et je voulais désactiver de nouveau le processus synodvbepg.

Malheureusement la commande chmod me retourne le message d'erreur suivant :

chmod: /volume1/@appstore/VideoStation/bin/synodvbepg: Operation not permitted

Je n'arrive pas à comprendre car, il me semble faire la même chose que dans le passé.

Est ce que la nouvelle version de videostation empêche maintenant de modifier les permissions de ce programme ?

Cordialement.

Stéphane

Posté(e)

Malheureusement la commande chmod me retourne le message d'erreur suivant :

chmod: /volume1/@appstore/VideoStation/bin/synodvbepg: Operation not permitted

Tu est bien connecté "root" ? (je viens de vérifier, je suis en 4.2 et aucun problème sur le chmod)
Posté(e)

Tu est bien connecté "root" ? (je viens de vérifier, je suis en 4.2 et aucun problème sur le chmod)

Effectivement avec root ça fonctionne (j'étais avec le compte admin) : je vais mettre ma procédure à jour.

Merci pour ce retour, et par la même occasion merci pour le script ml2epg.pl qui fonctionne tip top.

Stéphane

Posté(e) (modifié)

Bonsoir à tous !

Je confirme, aucun soucis avec les scripts pour la MAJ de l'EPG avec la version DSM 4.2 sur un DS112, avec tuner PlayTV. Le tout automatisé dans crontab... c'est impeccable !

Frédéric

Envoyé de mon iPad à l'aide de Tapatalk HD

PS : le Tuner PlayTV de Sony étant un double-tuner, seul le premier est concerné par le script de MAJ de l'EPG.

Modifié par Dirac
Posté(e) (modifié)

Salut à tous,

Merci à toi CoolRaoul pour ce poste qui me servira bien :-) enfin quand cela marchera xd.

Quand j exécute me script j'ai un message d'erreur que je ne comprends pas.

Le voici :

Can't find string terminator "EOF" anywhere before EOF at ./xml2epg.pl line 94.

Modifié par davy77
Posté(e) (modifié)

Quand j exécute me script j'ai un message d'erreur que je ne comprends pas.

Le voici :

Can't find string terminator "EOF" anywhere before EOF at ./xml2epg.pl line 94.

Il semble que tu sois passé, pour récupérer le script, par un copier/coller dans un editeur windows qui modifie le terminateur de ligne.

Je te conseille de le récupérer directement sur le NAS par une commande wget:

wget -O xml2epg.pl http://tiny.cc/xml2epg-latest
 
Modifié par CoolRaoul
Posté(e) (modifié)

Merci pour cette réponse rapide. Donc maintenant le script fonctionne correctement mais quand je vais voir dans vidéo station aucun programme n est présent. Il faut faire quelque chose après avoir exécute le script ?

Modifié par davy77

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.