TECHNICAL SUPPORT / WEB APPs BUGS


uiWebPrevious1uiWebNext

#1 Report | Quote[fr] 

Ce n'est pas vraiment un souci technique, mais je ne vois pas où d'autre demander ça sur le forum.


Lorsqu'on fait une capture d'écran, elle se nomme de manière incrémentielle : screenshot001.tga, screenshot002.tga, screenshot003.tga...

Si on déplace les fichiers, ryzom comble les trous lors des lucios suivant. Si bien qu'en triant les lucios, on se retrouve parfois avec plusieurs screenshot001.tga.

Et pour faciliter le tri, ça m'arrangerait bien qu'il y ait la date et l'heure des prises de vue...

Du style
        screenshot069.tga et screenshot069_z.tga
        devindrait =>
        2012-12-04-105623-069.tga et 2012-12-04-105623_z.tga


Y'a-t-il moyen de changer ça (genre une phrase dans le client.cfg ou un truc dans un endroit caché de la configuration) ?
Ou quelqu'un a-t-il déjà inventé une solution, genre petit script qui marche sous linux à lancer à la fin de la session ? Solution vers laquelle je penche, mais j'aime pas réinventer la lune (si quelqu'un a mieux...) et surtout je ne maitrise pas beaucoup les langages de programmation, même basique ^^

---

Plus d'histoires ici.

#2 Report | Quote[fr] 

Tu peux consulter la date et heure de création du fichier dans ses propriétés, ou même régler l'affichage de ta fenêtre pour les afficher automatiquement, pour ton tri.
Enfin, je pense que ça doit exister aussi sous linux.
Et quand tu déplace tes fichiers, tu n'as qu'à les renommer de suite, pour éviter des soucis.

Le problème avec tes noms de fichiers, là, c'est qu'on ne sait plus si c'est un screenshot ^^
Et si on rajoute le mot screenshot dans ta proposition, ça va faire un truc à rallonge, les noms de fichier doivent être limités ...

---

Fey-Lin Liang
Li'laï-ko
Talian-Zu

#3 Report | Quote[fr] 

Le fait que ce soit un .tga montre que c'est une image ; préciser que c'est un screenshot pour moi c'est redondant (dans mon utilisation des images, hein !).

Oui, il y a bien sûr moyen de voir la date de création et de trier dans le dossier avec ça, mais c'est le nom des fichiers qui me pose souci. Par exemple dans mon dossier "roi", en octobre je cale screenshot050.tga qui montre gubakoo, puis en novembre j'ajoute Igakya... malheur, comme je vide le dossier screenshot régulièrement, j'ai le même nom de fichier pour les deux (screenshot050.tga) et il me demande si je veux écraser...

Et si je cherche un renommage en masse, c'est que parfois je mitraille pour essayer de chopper LA bonne image. Une chasse au roi fait facilement 10-15 lucios (et pas une de parfaite :p ).

Actuellement je tente de corriger le tir avec Pyrenamer, qui est pas mal, mais n'a pas de règle pour extraire la date de création du fichier ; ce qui serait bien pratique, ici... Enfin, il y a avec les métadonnés des images, mais il semblerais que ça ne marche pas avec les fichiers de ryzom (les métadonnées-images ne sont pas remplis ?).

*espère trouver d'ici la fin de la journée ;) *

---

Plus d'histoires ici.

#4 Report | Quote[fr] 

Ça m'a pris plus de temps que prévu :D

Mais je crois être arrivé à faire un petit script pour le renommage. Je le partage pour ceux que ça intéresse :
#!/bin/sh
for name in $(find screenshot*); do
    newname="$(date -r $name +%y-%m-%d)_$(date +%H%M%S)_$(echo $name|sed "s/screenshot//")"
    mv $name $newname
done

Enregistrer ça dans un fichier nommé renom.sh (par exemple), executable.
Il suffit de se mettre dans le repertoire et de faire
sh ./renom.sh
dans un terminal.

Pour détailler un peu :
*      for name in $(find screenshot*); do
permet de ne selectionner que les fichiers commençant par "screenshot" (utile pour ne pas renommer dossiers, scripts, etc...)

*      date -r $name +%y-%m-%d
Va extraire la date de dernière modification du fichier. Sur les screenshots, c'est la date de création. Pratique. La date est formaté année-mois-jour.

*    $(date +%H%M%S)
C'est une sécurité qui est sans doute en trop, pour éviter d'avoir des renames semblables. Si le même jour, vous avez videz votre dossier screenshot (ou si vous avez deux clients), vous avez potentiellement deux screenshot0001.tga. Avec l'heure en seconde de l'execution du script, on a un chiffre qui différencie les deux, donc pas de risque d'écrasement.

*    $(echo $name|sed "s/screenshot//")"
on enlève le motif "screenshot" dans le nom :D (le nom est déjà assez long, même si très identifiable)

*    mv $name $newname
Va appliquer le renommage. Si vous avez peur des bêtises, vous pouvez faire plutot la commande
      cp $name ./rangement/$newname
ce qui copiera les fichiers renommés dans le dossier rangement, en laissant les originaux dans le dossier de base. Mais pensez à créer un dossier "rangement" avant sinon ça va râler :)


Tout ça concerne linux. C'est sans doute adaptable sur les autres OS mais ça dépasse largement mes compétences...

Last edited by Laofa (1 decade ago)

---

Plus d'histoires ici.

#5 Report | Quote[fr] 

Nan ! Venez sous linux si vous voulez des screens avec de beaux noms ! Ça vous apprendra :p

---

#6 Report | Quote[fr] 

Petite amélioration grâce à Icus
#!/bin/sh
racine=`pwd`;
for dossier in $(find -type d); do
cd $dossier;
    for name in $(find screenshot*); do
            newname="$(date -r $name +%y-%m-%d)_$(date +%H%M%S)_$(echo $name|sed "s/screenshot//")";
            mv $name $newname;
    done
    cd $racine;
done

On ajoute une boucle, afin que cela fonctionne de facon récursive. Donc à présent ça va chercher dans les sous-repertoires.
Par contre ça coince sur les repertoires ayant des espaces. Le plus simple : enlever les espaces dans les noms :P

---

Plus d'histoires ici.

#7 Report | Quote[fr] 

Bah si tu veux ôter les espaces sur tes fichiers, tu n'as qu'à faire un petit nospace.sh :
# Script pour oter les espaces dans les noms de fichiers et de répertoires
#!/bin/sh
for a in * ;do
b=$(echo $a | sed -e 's/[[:blank:]]/_/g');
if [ -e "$b" ];then
echo "">/dev/null;
else
mv "$a" "$b";
fi
done

---

Eveillé de l'Académie Wa-Kwai
*** Mort pendant le second Essaim ***
uiWebPrevious1uiWebNext
 
Last visit Tuesday, 26 November 18:42:10 UTC
P_:G_:PLAYER

powered by ryzom-api