[scrapper] critères de recherche
-
Bonjour les gens,
J'ai une question ou plutôt un besoin autour du scrapper intégré à recalbox.
J'ai un système pour lequel j'ai les roms au format zip.
Le nom est de type : game example (1989)(ocp)(disk 1 of 4)
Si j'ai bien compris, le nom affiche sur le menu du système est le nom du fichier (moins l'extension).
Dans le fichier gamelist je ne retrouve que les jeux que j'ai scrappés manuellement.
Pour y arriver, j'ai supprimer le nom de l'éditeur et la mention des disks. Si je laisse la date entre parenthèse, ça passe.
Ce que je souhaite, c'est créer un fichier gamelist avec la liste complete des jeux du système (non scrappe). Puis ensuite modifier le fichier gamelist pour supprimer les infos entre parenthèses. Je ne souhaite pas faire la modification sur le nom des fichiers mais uniquement sur l'étiquette du fichier gamelist.
Est ce possible ? Y a t-il un moyen plus simple sachant que je n'ai pas de pc ?
L'idee est ensuite de lancer un scrap auto et complet.
En bonus, est il possible de modifier les critères de recherches, ou du moins de les adapter. Par exemple demander avant recherche de supprimer toutes les parenthèses et ce qui s'y trouve.
Merci
-
@b0bba tu peux générer un gamelist.xml avec qq lignes de shell, oui
Pour le reste : non
-
@substring said in [scrapper] critères de recherche:
@b0bba tu peux générer un gamelist.xml avec qq lignes de shell, oui
Pour le reste : non
Je peux trouver de la doc sur les commandes à lancer ?
-
@b0bba pas du tout, ca s'écrit assez facilement si on a qq notions de shell
-
@substring dans ce cas, pas de pb pour moi. Quel est le minimum attendu au niveau du contenu ?
Les balises path et le nom sont suffisantes ?Je boucle sur le répertoire, une petite regexp et ça devrait rouler.
-
un exemple de gamelist :
<gameList> <game> <path>./Buggy Heat.cdi</path> <name>BUGGY HEAT</name> <desc>BUGGY HEAT EST UN JEU DE COURSES SORTI BLABLABLA...</desc> <image>./downloaded_images/Buggy Heat-image.png</image> <rating>0.55</rating> <releasedate>19991014T000000</releasedate> <developer>SEGA</developer> <publisher>SEGA</publisher> <genre>COURSE, CONDUITE</genre> <players>1-2</players> <region/> <hidden/> </game> </gamelist>
je pense que tu peux garder uniquement les balises <path> et <name>, si les autres balises sont manquantes ou non renseignées ça n'affichera rien dans ES mais ça ne plantera pas.
-
@b0bba pk un regexp ? un heredoc que tu append à un fichier, c'est vraiment 10-20 lignes de shell
-
Ou un sed mais j'ai besoin de tronquer pour que la recherche fonctionne.
A priori, ça devrait fonctionner (non testé, jusqte écrit à main levée)
$ echo "<gamelist>";find -name "*.zip" -printf '%f\n' | while read file; do name=`echo "$file" | sed 's/\s(.*.zip//g'`; echo "<game>"; echo "<path>$file</path>"; echo "<name>$name</name>"; echo "</game>"; done ; echo "</gamelist>"
Je vais me retrouver avec le meme nom, je ferais ensuite le tri pour cacher ce qui n'est pas disk 1.
si j'ai le temps, je testerai ce soir.
-
@neeeeb voici le début du fichier généré
<?xml version="1.0"?> <gameList> <game> <path>./Gradius (1987)(Sharp - SPS).zip</path> <name>Gradius</name> </game> <game> <path>./Bubble Bobble (1989)(Dempa).zip</path> <name>Bubble Bobble</name> </game>
Il n'y a pas l'indentation, c'est le seul écart que je perçois. C'est important ?
Le fichier gamelist que j'ai créé est écrasé lors du redémarrage.
Édit : même avec l'indentation, le fichier gamelist.xml est écrasé. Je sèche...
<gameList> <game> <path>./Gradius (1987)(Sharp - SPS).zip</path> <name>Gradius</name> <desc></desc> <image></image> <developer></developer> <publisher></publisher> <genre></genre> </game>
-
l'indentation ES s'en fout, c'est juste pour que ça soit plus lisible.
Avant de remplacer le gamelist.xml tu dois stopper ES avec cette commande en SSH sur ton Pi
/etc/init.d/S31emulationstation stopquand c'est fait tu relances ES avec
/etc/init.d/S31emulationstation start -
@neeeeb super c'était bien ça.
Par contre ça ne fonctionne pas comme je l'espérais, le scrapeur cherche quand même avec le nom du fichier...
Je cherche donc un moyen de scraper sans modifier les noms des fichiers.