Andesi - forum

Forum francophone pour Debian

Vous n'êtes pas identifié(e).

#1 10/01/2009 23:34:17

ledub
Membre
Lieu : Creil (60)
Inscription : 22/04/2003
Messages : 4 545

Script Amarok pour exporter les paroles en fichier .txt

Je viens de passer quelques heures à essayer de faire fonctionner le script Lyrics Manager pour récupérer en format .txt les paroles d'une chanson depuis la base de données Amarok.
De (deux ?) guerre lasse, j'ai écrit mon petit shell qui le fait très bien et comme je suis gentil (pas simplet attention !!!!) je vous le donne :

#!/bin/bash
COMPTE=mon_compte
PWD=mon_mot_de_passe
mysql -u${COMPTE} -p${MDP} <<END1 > RESULTAT.txt
use amarok
SELECT url FROM tags where url like '%Mes_mp3%'
END1
for MP3 in $(cat RESULTAT.txt)
do
    mysql -u${COMPTE} -p${MDP} <<END > $(basename ${MP3}.tmp)
use amarok
SELECT lyrics FROM lyrics where url="${MP3}"
END
    FILE_SOURCE=$(basename ${MP3}.tmp)
    FILE_TXT=${MP3#*\.}
    FILE_TXT=${FILE_TXT%\.*}.txt
    echo -e $(cat ${FILE_SOURCE}) | grep -v "lyrics <lyrics title=" | sed 's/<\/lyrics>//'> ${FILE_TXT}
    rm ${FILE_SOURCE}
done

Il vous faudra changer les valeurs de

COMPTE=mon_compte
PWD=mon_mot_de_passe

et peut-être le nom du répertoire qui contient vos MP3, ici Mes_mp3
Vous trouverez les paroles de chaque chanson dans le même répertoire que vos fichiers MP3, avec le même nom sauf son extension qui sera ".txt"

LeDub qui se demande pourquoi on ne trouve pas de simple script SQL pour Amarok ?


« Ne doutez pas qu'un petit nombre de personnes déterminées puisse changer le monde. En fait, ça a même toujours marché comme ça.»
Margaret Mead
---
VeoSearch est un moteur de recherche solidaire qui permet de financer des projets associatifs de développement durable par vos recherches Internet. Utilisez-le !!!

Hors ligne

#2 11/01/2009 17:43:07

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : Script Amarok pour exporter les paroles en fichier .txt

2 questions rapide à peine levé du lit et sans café:

Pourquoi ne pas faire une seule requête SQL avec un LEFT JOIN (moins couteux qu'un JOIN) sur la valeur qu'il faut ?

Ne sachant pas vraiment ce qu'il y a dans la variable MP3, tu peux me détailler ces deux notations de variables:
    FILE_TXT=${MP3#*\.}
    FILE_TXT=${FILE_TXT%\.*}.txt
ça fait quoi ?? Je suis intrigué smile

/me pas reveillé et encore au lit


[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

#3 12/01/2009 10:56:35

ledub
Membre
Lieu : Creil (60)
Inscription : 22/04/2003
Messages : 4 545

Re : Script Amarok pour exporter les paroles en fichier .txt

ioguix a écrit :

2 questions rapide à peine levé du lit et sans café:

Pourquoi ne pas faire une seule requête SQL avec un LEFT JOIN (moins couteux qu'un JOIN) sur la valeur qu'il faut ?

je vais tester.

ioguix a écrit :

Ne sachant pas vraiment ce qu'il y a dans la variable MP3, tu peux me détailler ces deux notations de variables:

MP3 est la variable contenant le nom du fichier mp3 avec son arborescence complète.
Donc
    FILE_TXT=${MP3#*\.} => supprime tous les caractères jusqu'à la rencontre avec premier le "."
    FILE_TXT=${FILE_TXT%\.*}.txt => supprime tous les caractères depuis le dernier "."

Dans le même registre, tu as :
${VARIABLE##*\.} => Supprime tous les caractères jusqu'à la dernière rencontre avec le caractère "."
${VARIABLE%%*\.} => Supprime tous caractères depuis le premier "."

ioguix a écrit :

ça fait quoi ?? Je suis intrigué smile

T'ai-je bien répondu ?

ioguix a écrit :

/me pas reveillé et encore au lit

Bises à Gigi. big_smile

LeDub qui ne manque pas un prétexte pour étaler sa faible science.


« Ne doutez pas qu'un petit nombre de personnes déterminées puisse changer le monde. En fait, ça a même toujours marché comme ça.»
Margaret Mead
---
VeoSearch est un moteur de recherche solidaire qui permet de financer des projets associatifs de développement durable par vos recherches Internet. Utilisez-le !!!

Hors ligne

#4 13/01/2009 04:13:25

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : Script Amarok pour exporter les paroles en fichier .txt

Oui, tu as bien répondu merci dudub !

J'ai même été localiser ce comportement dans la doc histoire de pouvoir le retrouver la prochaine fois que j'en aurais besoin !

Adieu l'utilisation excessive de cut et autre perlerie ou awkerie pour des petites choses comme ça !

big_smile


[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

#5 13/01/2009 10:39:05

Tihz
Membre
Lieu : Paname
Inscription : 02/11/2006
Messages : 876

Re : Script Amarok pour exporter les paroles en fichier .txt

Salut,

Bien joué pour le script cool

Maintenant un petit jeu : Un petit bug s'est glissé au sein du script. Saurez-vous la retrouver ?


Ce qu'il y a de bien avec les standards, c'est qu'il y en a beaucoup entre lesquels choisir.

Hors ligne

#6 13/01/2009 11:04:55

ledub
Membre
Lieu : Creil (60)
Inscription : 22/04/2003
Messages : 4 545

Re : Script Amarok pour exporter les paroles en fichier .txt

Tihz a écrit :

Salut,

Bien joué pour le script cool

Merci

Tihz a écrit :

Maintenant un petit jeu : Un petit bug s'est glissé au sein du script. Saurez-vous la retrouver ?

Est-ce que ça commence par My et se termine par SQL ?

LeDub qui n'aime pas les bugs mais supporte encore MySQL


« Ne doutez pas qu'un petit nombre de personnes déterminées puisse changer le monde. En fait, ça a même toujours marché comme ça.»
Margaret Mead
---
VeoSearch est un moteur de recherche solidaire qui permet de financer des projets associatifs de développement durable par vos recherches Internet. Utilisez-le !!!

Hors ligne

#7 13/01/2009 14:18:37

ustilago
Membre
Lieu : Charente-Maritime
Inscription : 14/08/2004
Messages : 1 540
Site Web

Re : Script Amarok pour exporter les paroles en fichier .txt

Pwet,

Je croyais que tu utilisais pgSQL ? roll

Sinon c'est sympa Amarok wink

Usti-pourrisseur mou de discussion


Faut pas énerver un tigre ...

Hors ligne

#8 13/01/2009 14:27:02

ledub
Membre
Lieu : Creil (60)
Inscription : 22/04/2003
Messages : 4 545

Re : Script Amarok pour exporter les paroles en fichier .txt

ustilago a écrit :

Pwet,

Je croyais que tu utilisais pgSQL ? roll

Zut, un chat qui a de la mémoire !!!!
Pas d'polémique, siou-plaît !!!

Sur mon portable, j'ai PostgreSQL mais pas sur mon fixe !!

ustilago a écrit :

Sinon c'est sympa Amarok wink

Oui mais comme je l'ai déjà dit, je pense insuffisantes les ressources permettant de bidouiller dedans !!!

ustilago a écrit :

Usti-pourrisseur mou de discussion

Pourrir une de mes conversations n'est plus tellement du pourrissage mais plutôt un simple bavardage !

LeDub qui va faire passer Amarok de son fixe sur PostgreSQL.


« Ne doutez pas qu'un petit nombre de personnes déterminées puisse changer le monde. En fait, ça a même toujours marché comme ça.»
Margaret Mead
---
VeoSearch est un moteur de recherche solidaire qui permet de financer des projets associatifs de développement durable par vos recherches Internet. Utilisez-le !!!

Hors ligne

#9 18/01/2009 21:30:48

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : Script Amarok pour exporter les paroles en fichier .txt

Tihz a écrit :

...
Maintenant un petit jeu : Un petit bug s'est glissé au sein du script. Saurez-vous la retrouver ?

Mhhhh, je ne connais pas vraiment le comportement du client de mysql, mais ma logique me dit qu'il manque des ';' après les use amarok...

Mais à part ça, c'est quoi au fait l'avantage d'utiliser PgSQL sur MySQL pour amarok ?
j'imagine qu'ils apportent tous deux de meilleurs performances par rapport à SQLite, mais à part un PgSQL pré-existant sur la machine ou simplement par religion, je ne vois pas vraiment d'autre avantage (et vous connaissez ma religion smile)...

/me forcé à travailler contre sa religion


[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

#10 20/01/2009 16:05:26

Tihz
Membre
Lieu : Paname
Inscription : 02/11/2006
Messages : 876

Re : Script Amarok pour exporter les paroles en fichier .txt

Et non rien à voir avec mysql (surtout que je m'y connais moins que vous là dedans)

A défaut de bonne réponse, la voici :

#!/bin/bash
COMPTE=mon_compte
PWD=mon_mot_de_passe

mysql -u${COMPTE} -p${MDP} <<END1 > RESULTAT.txt
(...)

d'autant plus que $PWD est le chemin du home de l'utilisateur si je ne m'abuse wink

Après pour le use amarok, je n'en sais strictement rien (cf première ligne). Mais ça me semblerais plutôt logique.

Dernière modification par Tihz (20/01/2009 16:06:38)


Ce qu'il y a de bien avec les standards, c'est qu'il y en a beaucoup entre lesquels choisir.

Hors ligne

#11 20/01/2009 16:58:56

ledub
Membre
Lieu : Creil (60)
Inscription : 22/04/2003
Messages : 4 545

Re : Script Amarok pour exporter les paroles en fichier .txt

Tihz, je te présente, ainsi qu'aux autres Andesiens, mes excuses.
La cause de cette erreur entre le PWD et le MDP est une modification après le copier/coller sur le forum.
Pour le 'use', je vous fais un petit retour ce soir.

LeDub content de voir un peu d'activité sur Andesi.


« Ne doutez pas qu'un petit nombre de personnes déterminées puisse changer le monde. En fait, ça a même toujours marché comme ça.»
Margaret Mead
---
VeoSearch est un moteur de recherche solidaire qui permet de financer des projets associatifs de développement durable par vos recherches Internet. Utilisez-le !!!

Hors ligne

Pied de page des forums