#1 Le 29/04/2014, à 06:55
- roger65
Script pour récupérer les métadata d'un livre.
Bonjour
Je cherche à écrire un script. J'en suis malheureusement là (voir plus bas). Le but du script est d'utiliser la commande fetch-ebook-metadata qui fait partie du logiciel Calibre (fetch-edit-metadata -help). Elle interroge sur Internet un serveur central, qui, après une latence pouvant aller jusqu'à une minute (maxi) fournit en retour les informations demandées dans la fenêtre du terminal.
On peut demander les infos selon le titre, le nom de l'auteur ou le numéro isbn. L'interrogation selon le titre est la plus user-friendly et c'est celle que je voudrais retenir dans le script. Je l'ai testée avec le terminal et elle fonctionne très bien.
#!/bin/bash
# Paquets nécessaires: zenity, calibre
name=$(zenity --entry --title "Titre du livre recherché" --text "titre du livre recherché" --entry-text=Nom?)
echo "name=$nameIN"
gnome-terminal -e
fetch-ebook-metadata -t "${name}".epub > "${name}".txt
Je reçois bien immédiatement un fichier texte mais aucune interrogation n'a été faite et le fichier est vierge.
Si quelqu'un avait une idée pour faire travailler le terminal...
Dernière modification par roger65 (Le 29/04/2014, à 07:02)
Hors ligne
#2 Le 29/04/2014, à 07:28
- gl38
Re : Script pour récupérer les métadata d'un livre.
Il me semble que si on enlève le .epub après le titre, ça marche mieux.
Cordialement,
Guy
Hors ligne
#3 Le 29/04/2014, à 13:50
- roger64
Re : Script pour récupérer les métadata d'un livre.
Bonjour
J'ai changé d'identifiant au passage (j'ai rajeuni d'un numéro) mais ta remarque est - évidemment - parfaitement judicieuse.
Je vais voir comment marquer résolu.
Merci.
Hors ligne
#4 Le 29/04/2014, à 14:02
- roger64
Re : Script pour récupérer les métadata d'un livre.
... mais malheureusement, le script ne fonctionne pas encore et me crache un .txt vide.
#!/bin/bash
# Paquets nécessaires: zenity, calibre
name=$(zenity --entry --title "Titre du livre recherché" --text "Titre du livre recherché" --entry-text=Nom?)
echo "name=$name"
fetch-ebook-metadata -t "${name}" > "${name}".txt
echo "Terminé"
zenity --info --text "Terminé"
En fait , il y a un mieux en ce sens qu'avant d'envoyer "terminé", il semble qu'il respecte la période de latence. J'obtiens "terminé" non plus immédiatement mais au bout de trente secondes, ce qui est logique. Mais le fichier .txt reste vide.
Dernière modification par roger64 (Le 29/04/2014, à 14:16)
Hors ligne
#5 Le 29/04/2014, à 14:52
- gl38
Re : Script pour récupérer les métadata d'un livre.
Si je mets "The Country Girls" comme titre, j'ai une réponse de 3771 octets, qui est à peu près bonne (pourquoi aller chercher chez Amazon ?, le titre n'est pas tout à fait exact et le numéro isbn m'a l'air fantaisiste).
Cordialement,
Guy
Hors ligne
#6 Le 29/04/2014, à 16:51
- roger64
Re : Script pour récupérer les métadata d'un livre.
Décidément, il faut qu'on me prenne par la main. Oui, ça fonctionne.
Le numéro isbn est donné sans les traits d'union habituels, je ne sais pas pourquoi. De la même façon, beaucoup de titres (tous les titres) perdent leurs accents. Je suppose sans en être sûr que c'est les contraintes de la base de données. En tout cas, c'est bien pratique pour avoir la date exacte de publication, le résumé, etc.
Pourquoi Amazon? Je suppose que c'est pour la même raison que l'on exporte aux formats EPUB et/ou AZW3: le poids des parts de marché.
Merci encore pour ton aide sympa.
Dernière modification par roger64 (Le 29/04/2014, à 16:53)
Hors ligne