Fricord ne répond plus ?

Sid mise à jour mais aussi nvelle Freebox V5 HD.
Je n’ai rien changé ds mes locales.
Quand je tape
$ fricord
voilà ce qu’il me répond :

ricardo@DD3:~$ fricord (fricorder.py:2530): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. Warning fricorder unsupported locale setting Traceback (most recent call last): File "./fricorder.py", line 38, in ? bindtextdomain(app_name, locale_dir) File "/usr/local/fricorder/SimpleGladeApp.py", line 56, in bindtextdomain __builtins__.__dict__["_"] = lambda x : x AttributeError: 'dict' object has no attribute '__dict__' ricardo@DD3:~$

Bien sûr, je peux enregistrer avec le boîtier mais je voulais faire l’essai d’enregistrer deux chaînes différentes en m^ tps. :unamused: :mrgreen:

Que donne
mafreebox.freebox.fr/freeboxtv/playlist.m3u

Oui, de ce côté, pas de problèmes, je regarde les ttes les chaînes parfaitement sur mon écran d’ordi.

phpBB m’a viré le wget…

Que donne donc

wget l’adresse donnée plus haut, ça te rapatrie le bazar?

Ce n’est pas un problème avec la Freebox ou la playlist.

Il s’agit d’un problème de localisation de l’application.
On peut voir dans le traceback que l’application a planté lors de l’appel à bindtextdomain(app_name, locale_dir).

python.org/doc/2.5.2/lib/node731.html

[quote]bindtextdomain( domain[, localedir])
Bind the domain to the locale directory localedir. More concretely, gettext will look for binary .mo files for the given domain using the path (on Unix): localedir/language/LC_MESSAGES/domain.mo, where languages is searched for in the environment variables LANGUAGE, LC_ALL, LC_MESSAGES, and LANG respectively.

If localedir is omitted or None, then the current binding for domain is returned.21.1[/quote]

Quelle locale utilises-tu ? (commande locale)
Quelles locales sont installées ? (commande locale -a). Je pense que les locales UTF-8 ne sont pas installé sur ton système.

fricord impose l’existence d’une locale UTF8 compilée, par exemple fr_FR.UTF8. Mais je ne vois pas le rapport avec le changement de la freebox… Comme je sais que Free a modifié la gestion de la playlist (désormais elle n’est plus dans la freebox mais vient d’une redirection vers un de leur site), il n’était pas impossible que ça pose un souci sur les V5 d’où ma question surtout que fricord fonctionnait avec sa V4 si j’ai bien compris. Sinon, pour les locales, il suffit de recompiler une locate UTF8 par exemple fr_FR.UTF8 mais je ne comprends pas comment changer de freebox a planté ses locales…

[quote=“fran.b”]phpBB m’a viré le wget…

Que donne donc

wget l’adresse donnée plus haut, ça te rapatrie le bazar?[/quote]

Ben il a l’air de bien vouloir mais ça n’affiche rien de plus.

[code]ricardo@DD3:~$ wget http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
–2008-10-05 15:53:54-- http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
Résolution de mafreebox.freebox.fr… 212.27.38.253
Connexion vers mafreebox.freebox.fr|212.27.38.253|:80…connecté.
requête HTTP transmise, en attente de la réponse…302 Moved Temporarily
Emplacement: http://212.27.40.238/pub/playlist.m3u [suivant]
–2008-10-05 15:53:54-- http://212.27.40.238/pub/playlist.m3u
Connexion vers 212.27.40.238:80…connecté.
requête HTTP transmise, en attente de la réponse…200 OK
Longueur: 39086 (38K) [audio/x-mpegurl]
Saving to: `playlist.m3u’

100%[========================================================================================================================================>] 39 086 189K/s in 0,2s

2008-10-05 15:53:54 (189 KB/s) - « playlist.m3u » sauvegardé [39086/39086]

ricardo@DD3:~$
[/code]

[quote=“Desintegr”]
Quelle locale utilises-tu ? (commande locale)
Quelles locales sont installées ? (commande locale -a). Je pense que les locales UTF-8 ne sont pas installé sur ton système.[/quote]

[quote]ricardo@DD3:~$ locale
LANG=fr_FR@euro
LC_CTYPE="fr_FR@euro"
LC_NUMERIC="fr_FR@euro"
LC_TIME="fr_FR@euro"
LC_COLLATE="fr_FR@euro"
LC_MONETARY="fr_FR@euro"
LC_MESSAGES="fr_FR@euro"
LC_PAPER="fr_FR@euro"
LC_NAME="fr_FR@euro"
LC_ADDRESS="fr_FR@euro"
LC_TELEPHONE="fr_FR@euro"
LC_MEASUREMENT="fr_FR@euro"
LC_IDENTIFICATION="fr_FR@euro"
LC_ALL=

ricardo@DD3:~$ locale -a
C
français
french
fr_FR
fr_FR@euro
fr_FR.iso88591
fr_FR.iso885915@euro
fr_FR.utf8
POSIX
ricardo@DD3:~$ [/quote]

utf8 installé mais absente ds la 1ère liste :question:

J’ai reconfiguré mes locales en mettant
fr_FR.utf8
par défaut, au lieu de
fr_FR.iso885915@euro
essai négatif alors je reboute la machine mais essai tjrs négatif :

[code]ricardo@DD3:~$ fricord

(fricorder.py:2497): Gtk-WARNING **: Locale not supported by C library.
Using the fallback ‘C’ locale.
Warning fricorder unsupported locale setting
Traceback (most recent call last):
File “./fricorder.py”, line 38, in ?
bindtextdomain(app_name, locale_dir)
File “/usr/local/fricorder/SimpleGladeApp.py”, line 56, in bindtextdomain
builtins.dict["_"] = lambda x : x
AttributeError: ‘dict’ object has no attribute 'dict
ricardo@DD3:~$
[/code]

Je vais faire une expérience sur le DD ext qui n’a pas été MAJ depuis un certain tps et je reviens.

Ben ça fonctionne sur le DD ext :unamused:
il doit donc bien s’agir d’une modif de paquet récente et du coup, je ne MAJ pas cette Sid. :laughing:
au fait le noyau de celle qui fonctionne est

ricardo@DD-EXT:~$ uname -r 2.6.25-2-686

Là, je vais sortir un peu et ce soir je donnerai le noyau de celle qui déconne, je ne m’en souviens plus mais je crois que c’est 2.6.26.

EDIT :
ce qui est sûr, c’est que le changement de box V4 ==> V5 HD n’est pas en cause.
mais par exemple :

ricardo@DD-EXT:~$ locale LANG=fr_FR.UTF-8 LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE="fr_FR.UTF-8" LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES="fr_FR.UTF-8" LC_PAPER="fr_FR.UTF-8" LC_NAME="fr_FR.UTF-8" LC_ADDRESS="fr_FR.UTF-8" LC_TELEPHONE="fr_FR.UTF-8" LC_MEASUREMENT="fr_FR.UTF-8" LC_IDENTIFICATION="fr_FR.UTF-8" LC_ALL=

retour sur ma Sid principale et, bien que les locales soient identiques, maintenant, pas de rslt. :cry:
pour le noyau, c’est bien le 2.6.26-1-686

ricardo@DD3:~$ locale LANG=fr_FR.UTF-8 LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE="fr_FR.UTF-8" LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES="fr_FR.UTF-8" LC_PAPER="fr_FR.UTF-8" LC_NAME="fr_FR.UTF-8" LC_ADDRESS="fr_FR.UTF-8" LC_TELEPHONE="fr_FR.UTF-8" LC_MEASUREMENT="fr_FR.UTF-8" LC_IDENTIFICATION="fr_FR.UTF-8" LC_ALL=

[code]ricardo@DD3:~$ fricord

(fricorder.py:2595): Gtk-WARNING **: Locale not supported by C library.
Using the fallback ‘C’ locale.
Warning fricorder unsupported locale setting
Traceback (most recent call last):
File “./fricorder.py”, line 38, in ?
bindtextdomain(app_name, locale_dir)
File “/usr/local/fricorder/SimpleGladeApp.py”, line 56, in bindtextdomain
builtins.dict["_"] = lambda x : x
AttributeError: ‘dict’ object has no attribute ‘dict
[/code]

Ben essai ce soir sur le DD ext mais, bien que la fenêtre de programmation soit apparue, que les entrées et la validation aient été prises en compte, rslt négatif.
Au lieu du passage de la ligne au “rouge” quand l’enregistrement commence, la ligne est effacée purement et simplement et pas de fichier enregistré. :cry:
Tant pis, on fera avec la bobox. 8)

Oui, ces crétins ont changé le nom des flux (on se demande pourquoi) et il faut modifier quelque chose dans fricord. J’effectue la modification et met la nouvelle version en ligne.

Le patch suivant devrait fonctionner.
(cd /usr/local/fricoder ; patch -p1 < fichier_contenant_le_patch )

[code]— fricorder/libs/api.py~ 2006-01-25 17:14:03.000000000 +0100
+++ fricorder/libs/api.py 2008-10-06 15:17:53.000000000 +0200
@@ -48,7 +48,7 @@

     cmd_echo=["echo",
         "./frecord.sh",
  •        stream,
    
  •        "\""+stream+"\"",
           str(duree*60),  # convert en secondes !!!!
           quality.lower(),    #convert en minuscule
           '"%s"'%file,
    

— fricorder/frecord.sh~ 2007-03-08 18:55:15.000000000 +0100
+++ fricorder/frecord.sh 2008-10-06 15:13:10.000000000 +0200
@@ -42,7 +42,7 @@

c’est sleep qui se charge de ça

lance le process de timing d’enregistrement

  • fricorder/sleep.sh $LENGTH “$OUTFILE” “$pidfile” $STREAM $MODE “$haltfile” &
  • fricorder/sleep.sh $LENGTH “$OUTFILE” “$pidfile” “$STREAM” $MODE “$haltfile” &

sleep $LENGTH &

pid_sleep=$!
savePid $pid_sleep
— fricorder/sleep.sh~ 2007-03-08 18:46:26.000000000 +0100
+++ fricorder/sleep.sh 2008-10-06 15:12:44.000000000 +0200
@@ -23,12 +23,12 @@
case $MODE in
ogm)
EXTENSION=".ogm"

  • vlc $STREAM --filter deinterlace:bob --sout “#transcode{vcodec=mp4v,vb=512,scale=0.75,acodec=vorb,ab=64,channels=2}:std{access=file,mux=ogg,url=$OUTFILE}” -I dummy &
  • vlc “$STREAM” --filter deinterlace:bob --sout “#transcode{vcodec=mp4v,vb=512,scale=0.75,acodec=vorb,ab=64,channels=2}:std{access=file,mux=ogg,url=$OUTFILE}” -I dummy &
    PID_VLC=$!
    ;;
    *)
    EXTENSION=".mpg"
  • vlc $STREAM --filter deinterlace:bob --sout “#std{access=file,mux=ts,url=$OUTFILE}” -I dummy &
  • vlc “$STREAM” --filter deinterlace:bob --sout “#std{access=file,mux=ts,url=$OUTFILE}” -I dummy &
    PID_VLC=$!
    esac
    echo "PID: " $PID_VLC >> /var/log/fricorder.log
    [/code]

Je n’étais pas là aujourd’hui mais j’ai besoin d’explications, comme d’hab :unamused:
Je fais un fichier du code ci-dessus mais je l’appelle comment ce fichier :
api.py
:question:
ensuite, je n’ai qu’à entrer la ligne que tu donnes mais en tant qu’user ou en tant que root :question:

Tu recopie le fichier dans /tmp/patch puis tu fais

cd /usr/local/fricorder

patch -p1 --dry-run < /tmp/patch

si tout va bien, tu fais

patch -p1 < /tmp/patch

J’ai fait un paquet 0.6-14 dans mon dépot sid si tu veux.

essayé un 1ère fois = négatif = erreur ligne 25
rebouté et refait un 2eme essai mais pas mieux.
Demain, je teste le paquet complet sur ton site.

[quote]DD3:/usr/local/fricorder# patch -p1 --dry-run < /tmp/patch
patching file libs/api.py
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n] y
Hunk #1 FAILED at 48.
1 out of 1 hunk FAILED – saving rejects to file libs/api.py.rej
patching file frecord.sh
patch: **** malformed patch at line 25: @@ -23,12 +23,12 @@[/quote]

Fais les changements à la main, remplace $STREAM par “$STREAM” dans frecord.sh, met des «"» autour de $STREAM dans sleep.sh, donne moi le résultat de

$ grep -B3 -A5 ./frecord.sh fricorder/libs/api.py

Je suppose que tu voulais écrire
grep -B3 -A5 ./frecord.sh /usr/local/fricorder/libs/api.py
donc, rslt :

[code]ricardo@DD3:~$ grep -B3 -A5 ./frecord.sh /usr/local/fricorder/libs/api.py
code,date = t[0],t[1][:16]

        b=run(["at","-c",str(code)])
        if "./frecord.sh" in b:
            chaine,debut,duree = FileId.unmake(b)
            l.append( (code,chaine,debut,duree) )
return l

def delAt(code):

    file = os.path.join(destination,name)

    cmd_echo=["echo",
        "./frecord.sh",
        "\""+stream+"\"",
        str(duree*60),  # convert en secondes !!!!
        quality.lower(),    #convert en minuscule
        '"%s"'%file,
        ]

@staticmethod
def unmake(chaine):
    r=re.compile(r".*./frecord.sh.*\[([^\]]+)\]\[(\d+)-(\d+)-(\d+)_(\d+)-(\d+)\]\[([^\]]+)\]")

r=re.compile(r"[([^]]+)][(\d+)-(\d+)-(\d+)_(\d+)-(\d+)][([^]]+)]")

    g=r.search(chaine)
    if g:
        try:
            chaine=g.group(1)

ricardo@DD3:~$ [/code]

J’ai fait les changements comme écrit par toi plus haut, je tente et je reviens donner le rslt.

pas mieux !
rebouté :
pas mieux !

[code]ricardo@DD3:~$ fricord

(fricorder.py:2537): Gtk-WARNING **: Locale not supported by C library.
Using the fallback ‘C’ locale.
Warning fricorder unsupported locale setting
Traceback (most recent call last):
File “./fricorder.py”, line 38, in ?
bindtextdomain(app_name, locale_dir)
File “/usr/local/fricorder/SimpleGladeApp.py”, line 56, in bindtextdomain
builtins.dict["_"] = lambda x : x
AttributeError: ‘dict’ object has no attribute 'dict
ricardo@DD3:~$
[/code]