Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 28/02/2018, à 19:25

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Regarde message #23, la même trace sur la même action --> les valeurs passées sont différentes en $1 et CURRENT_URI !!!
J'ai l'impression que nemo ne sait tout simplement utiliser les scripts et que, en définitive, il ne passe rien en paramètre à PyRenamer qui s'ouvre donc toujours dans le répertoire /home/jarodd ou le répertoire courant, au hasard...
J'ai eu l'occasion de développer un autre type d'appel que par les scripts, pour Pixup que tu connais peut-être, car ils ne sont pas les mêmes d'un gestionnaire de fichiers à l'autre. Pour avoir une version fonctionnant dans toutes les variantes, je suis passé par la fonction "Ouvrir avec" et c'est bon !
Peut-être faut-il envisager cette solution pour venir à bout de ton problème, parce-que là, je donne ma langue au chat... Rien ne marche !
sad


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#27 Le 28/02/2018, à 20:18

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

Oui c'est bien ce qui me semblait aussi.
Ce qui est bizarre, c'est qu'avant mon crash de système et la réinstallation, cela fonctionnait, et de mémoire j'utilisais le script de la doc. Il y a donc autre chose (une conf de Nemo ?) qui a changé, mais malheureusement je ne vois pas quoi sad

Tant pis ce n'est pas bloquant au final, je ferai avec.
Encore merci pour ton aide :bisous:


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#28 Le 01/03/2018, à 15:44

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Un dernier truc : As-tu essayé le script que j5012 t'as indiqué dans son lien ?
Ça ne mange pas de pain et ça pourrait peut-être marcher. Il suffit de remplacer globalement le mot "NAUTILUS" par "NEMO" pour référencer les variables de ton gestionnaire.
Il y a dans cette version du script plusieurs choses intéressantes et, notamment, le lancement via "bash" pour le passage des paramètres, comme l'indique j5012 dans ses commentaires, et ça pourrait aider pour ton problème (à condition que Nemo n'envoie pas n'importe quoi différent à chaque appel, bien sûr).


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#29 Le 01/03/2018, à 20:31

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

Salut,

Je viens de l'essayer, et quel que soit l'endroit où je clique droit, ça m'ouvre invariablement /home/jarodd sad


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#30 Le 02/03/2018, à 08:11

J5012

Re : Pyrenamer: ouvrir dans le dossier courant

- à tester pyrenamer en terminal sans arguments
- puis avec un argument simple comme "pyrenamer ~/Bureau/dossier-de-test"
- puis avec un argument double comme "pyrenamer ~/Bureau/dossier-de-test/fichier-de-test"

c'est comme ca que je me suis rendu compte du comportement different de pyrenamer entre le lancement par exec et dans bash ...

Hors ligne

#31 Le 02/03/2018, à 16:41

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Il semble que ce soit sans appel : le nemo-script, c'est pas bon !
Pour être plus universel, compte-tenu des gestionnaires divers qu'on rencontre avec chaque variante, j'ai pour ma part utilisé l'option "Ouvrir avec..." qu'on trouve dans tous les gestionnaires.
Lorsqu'on active un script pour ouvrir un objet, ce script reçoit du gestionnaire un paramètre $1 indiquant le chemin absolu de l'objet pointé.
C'est éminemment pratique, car cette information est suffisante pour identifier aussi bien le répertoire courant que l'objet sélectionné et, dans le cas qui nous occupe, il est alors très facile de lancer PyRenamer avec en paramètre le chemin adéquat.
Le seul bémol, c'est que certains gestionnaires ne permettent pas de saisir une commande personnalisée pour ouvrir avec et nécessitent d'avoir un lanceur (desktop) pour lancer le script. Toutefois, cela n'a rien d'insurmontable et, à ma connaissance, le script "PixUp" que j'ai développé avec "cracolinux" fonctionne sur toutes les variantes sans problème...
Voulez-vous essayer de contourner le problème par ce biais ?


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#32 Le 02/03/2018, à 20:05

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

Voilà le résultat de l'appel via la commande :

Sans argument :

jarodd@ubuntu:~$ pyrenamer 
option --root requires argument
Run 'pyrenamer --help' to see a full list of available command line options.
jarodd@ubuntu:~$

Le programme ne s'est pas ouvert.

Avec un répertoire :

jarodd@ubuntu:~$ pyrenamer /home/jarodd/Telechargements/jdo/mp4/
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer.py:120: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
  self.glade_tree = gtk.glade.XML(pyrenamerglob.gladefile, "main_window")
Using hachoir for music renaming.
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer.py:1390: Warning: Source ID 221 was not found when attempting to remove it
  removed = gobject.source_remove(i)

Le programme s'ouvre dans /home/jarodd

jarodd@ubuntu:~$ pyrenamer /home/jarodd/Telechargements/jdo/mp4/2018-02-24.mp4 
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer.py:120: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
  self.glade_tree = gtk.glade.XML(pyrenamerglob.gladefile, "main_window")
Using hachoir for music renaming.
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer.py:1390: Warning: Source ID 220 was not found when attempting to remove it
  removed = gobject.source_remove(i)
jarodd@ubuntu:~$

Le programme s'ouvre dans /home/jarodd


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#33 Le 02/03/2018, à 20:07

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

erresse a écrit :

Voulez-vous essayer de contourner le problème par ce biais ?

Moi je veux bien essayer tout ce qu'on me propose ! A vous de voir si vous avez assez de patience smile


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#34 Le 02/03/2018, à 22:26

J5012

Re : Pyrenamer: ouvrir dans le dossier courant

J5012 a écrit :

- à tester pyrenamer en terminal sans arguments
- puis avec un argument simple comme "pyrenamer ~/Bureau/dossier-de-test"
- puis avec un argument double comme "pyrenamer ~/Bureau/dossier-de-test/fichier-de-test"

c'est comme ca que je me suis rendu compte du comportement different de pyrenamer entre le lancement par exec et dans bash ...

je viens de me debugger wink

vu que les variables de zenity n'encode ni les espaces ni les caracteres accentués , je m'en suis débarassé :
https://doc.ubuntu-fr.org/utilisateurs/ … _pyrenamer

le code sans les commentaires superflus :

#!/bin/bash
#Lance l'application Pyrenamer dans le dossier selectionné,
# ou
# dans le dossier du fichier selectionné
#
# Nautilus Script "pyrenamit" : Renommer en masse #
#
if [ "$1" = "" ];then
    wdir=${NAUTILUS_SCRIPT_CURRENT_URI#file://}
    else
    filetype=$(file "$1")
    filetype=${filetype##*: }
    
    if [ "$filetype" = "directory" ];then
    wdir="$1"
    else
    wdir=$(pwd "$1")
    fi
fi
zenity --info --text="pyrenamer '$wdir'"
pyrenamer "$wdir"

nb : dans la version de nautilus xenial, on ne peut plus lancer de script clic droit sur du vide, donc $1 n'est jamais nul ...
et on peut meme le cas echeant pre-associer wdir au resultat de la commande pwd qui accepte un argument nul :

pwd ""

donne le meme resultat que :

pwd

Hors ligne

#35 Le 03/03/2018, à 10:25

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

Je viens de tester ton script :

Après le clic sur le nom du script, j'ai une fenêtre "information" qui s'ouvre, avec le message :
pyrenamer '/home/jarodd/Telechargements/jdo/mp4'

Puis pyrenamer s'ouvre sur... /home/jarodd

Plutôt déprimant hein lol


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#36 Le 03/03/2018, à 12:00

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Jarodd, tes résultats au message #32 sont quand même très bizarres quand tu testes en appelant pyrenamer directement dans le terminal...
1 - Appel sans paramètre :
     Pourquoi se comporte-t-il comme si tu avais indiqué l'option -r ou --root pour changer de répertoire racine ?!?
     Du coup, comme il n'y a pas d'argument dans la commande, il capote et ne s'ouvre pas.
2 - Appel avec un sous-répertoire en paramètre :
     Pourquoi s'ouvre-t-il dans le répertoire racine (/home/jarodd) au lieu du répertoire cité en paramètre ?
     Note: Le même test chez moi ouvre bien pyrenamer dans le répertoire cité en paramètre.
3 - Appel avec un nom de fichier :
     Là, c'est normal qu'il s'ouvre dans le répertoire racine, parce-que le paramètre cité n'est pas un répertoire mais un fichier.
     Du coup, le paramètre est ignoré et il s'ouvre dans le répertoire racine.
On a donc un comportement plutôt étrange de pyrenanmer lui-même dans ton système... Il ne semble pas prendre en compte le paramètre lorsqu'on lui en passe un et, si on n'en passe pas, il échoue avec --root sans argument, alors que l'option n'est pas indiquée !
Il me semble que, avant de pouvoir appeler le programme via un script ou autre, il faudrait d'abord s'assurer que le programme lui-même fonctionne correctement, ce qui ne semble pas être le cas au vu des résultats que tu obtiens.

Dernière modification par erresse (Le 03/03/2018, à 12:02)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#37 Le 03/03/2018, à 15:07

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

Tu conseilles quoi alors ? Je le réinstalle ? J'ai pris le paquet indiqué dans la doc.

Edit : je viens de le remove puis install avec apt-get, sa version est la 0.6.0-1.2. Le site officiel ne fonctionne plus donc je ne peux pas vérifier que c'est la dernière stable.

Dernière modification par Jarodd (Le 03/03/2018, à 15:13)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#38 Le 03/03/2018, à 15:53

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

En tout cas, c'est bien la version installée par les dépôts : 0.6.0-1.2, j'ai la même et cette version fonctionne bien chez moi.
Mon conseil serait de vérifier le fonctionnement du programme que tu viens d'installer, en refaisant les commandes en terminal que j5012 a données au message #30.
Je pense que la valeur par défaut du répertoire racine dans pyrenamer, c'est le répertoire personnel de l'utilisateur qui le lance.
Lorsqu'on veut lui donner un répertoire racine différent, je pense qu'il faut le préciser avec l'option -r ou --root suivie du chemin (absolu tant qu'à faire) du répertoire qu'on désire avoir par défaut.
Si on lance pyrenamer sans paramètre, il doit s'ouvrir dans le répertoire racine par défaut.
Si on le lance avec un chemin se terminant par un nom de fichier, il doit aussi s'ouvrir dans ce répertoire par défaut, parce-que pyrenamer veut un répertoire en paramètre et non un fichier.
Si, enfin, on le lance avec un chemin se terminant par un nom de répertoire, alors il doit s'ouvrir dans le répertoire qu'on lui a passé en paramètre.
Voilà, à mon avis ce qu'on doit obtenir dans le cas de lancement en terminal.
À partir de là, si les résultats sont corrects, on pourra essayer le script de lancement (l'une ou l'autre version, mais avec les traces pour visionner les valeurs des paramètres transmis) et décider si c'est jouable ou s'il faut essayer une autre méthode.

Edit: Éventuellement, pourrais-tu faire une recherche (sudo updatedb; sudo locate pyrenamer) pour s'assurer qu'il n'y a pas quelque part un lanceur ou un script qui traîne et qui serait lancé prioritairement lorsque tu tapes la commande "pyrenamer" ?

Dernière modification par erresse (Le 03/03/2018, à 15:55)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#39 Le 03/03/2018, à 16:49

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

Voilà le résultat de ces commandes (je ne sais pas si c'est bon ou mauvais) :

jarodd@ubuntu:~$ sudo updatedb;
[sudo] Mot de passe de jarodd : 
jarodd@ubuntu:~$ sudo locate pyrenamer
/home/jarodd/.pyrenamer
/home/jarodd/.gconf/apps/pyrenamer
/home/jarodd/.gconf/apps/pyrenamer/%gconf.xml
/home/jarodd/.pyrenamer/patterns
/home/jarodd/.pyrenamer/patterns/images_dest
/home/jarodd/.pyrenamer/patterns/images_ori
/home/jarodd/.pyrenamer/patterns/main_dest
/home/jarodd/.pyrenamer/patterns/main_ori
/home/jarodd/.pyrenamer/patterns/music_dest
/home/jarodd/.pyrenamer/patterns/music_ori
/usr/bin/pyrenamer
/usr/lib/python2.7/dist-packages/pyrenamer
/usr/lib/python2.7/dist-packages/pyrenamer/EXIF.py
/usr/lib/python2.7/dist-packages/pyrenamer/EXIF.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/TreeViewTooltips.py
/usr/lib/python2.7/dist-packages/pyrenamer/TreeViewTooltips.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/__init__.py
/usr/lib/python2.7/dist-packages/pyrenamer/__init__.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_filefuncs.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_filefuncs.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_globals.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_globals.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_menu_cb.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_menu_cb.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_metadata.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_metadata.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_pattern_editor.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_pattern_editor.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_prefs.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_prefs.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_tooltips.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_tooltips.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_undo.py
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer_undo.pyc
/usr/lib/python2.7/dist-packages/pyrenamer/treefilebrowser.py
/usr/lib/python2.7/dist-packages/pyrenamer/treefilebrowser.pyc
/usr/local/bin/pyrenamer
/usr/share/pyrenamer
/usr/share/app-install/desktop/pyrenamer:pyrenamer.desktop
/usr/share/app-install/icons/_usr_share_pyrenamer_pyrenamer.png
/usr/share/applications/pyrenamer.desktop
/usr/share/doc/pyrenamer
/usr/share/doc/pyrenamer/AUTHORS
/usr/share/doc/pyrenamer/NEWS.gz
/usr/share/doc/pyrenamer/README
/usr/share/doc/pyrenamer/TODO
/usr/share/doc/pyrenamer/changelog.Debian.gz
/usr/share/doc/pyrenamer/copyright
/usr/share/doc/pyrenamer/treefilebrowser_example.py
/usr/share/gconf/schemas/pyrenamer.schemas
/usr/share/locale/de/LC_MESSAGES/pyrenamer.mo
/usr/share/locale/en/LC_MESSAGES/pyrenamer.mo
/usr/share/locale/es/LC_MESSAGES/pyrenamer.mo
/usr/share/locale/fr/LC_MESSAGES/pyrenamer.mo
/usr/share/man/man1/pyrenamer.1.gz
/usr/share/menu/pyrenamer
/usr/share/pixmaps/pyrenamer.png
/usr/share/pixmaps/pyrenamer.xpm
/usr/share/pyrenamer/pyrenamer.glade
/usr/share/pyrenamer/pyrenamer.png
/usr/share/pyrenamer/pyrenamer.svg
/usr/share/pyrenamer/stop.png
/var/cache/apt/archives/pyrenamer_0.6.0-1.2_all.deb
/var/lib/app-info/icons/ubuntu-xenial-universe/64x64/pyrenamer_pyrenamer.png
/var/lib/dpkg/info/pyrenamer.list
/var/lib/dpkg/info/pyrenamer.md5sums
/var/lib/dpkg/info/pyrenamer.postinst
/var/lib/dpkg/info/pyrenamer.postrm
/var/lib/dpkg/info/pyrenamer.prerm
jarodd@ubuntu:~$

Sinon, je viens de refaire les commande du message #30, et j'ai le même résultat. Quand je met un chemin absolu en paramètre, cela m'ouvre toujours pyrenamer dans /home/jarodd.

jarodd@ubuntu:~$ pyrenamer /home/jarodd/Telechargements/jdo/mp4
/usr/lib/python2.7/dist-packages/pyrenamer/pyrenamer.py:120: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
  self.glade_tree = gtk.glade.XML(pyrenamerglob.gladefile, "main_window")
Using hachoir for music renaming.

J'ai recopié le chemin depuis Nemo pour être sur de ne pas faute de faute, donc il existe vraiment. j'ai aussi essayé en mettant un "/" après mp4, même résultat.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#40 Le 03/03/2018, à 17:04

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

/usr/local/bin/pyrenamer

Je n'ai pas ça chez moi... Peux-tu voir ce qu'il y a là-dedans ?

ls -l /usr/local/bin/pyrenamer

et si c'est un script (PyRenamer est un script en python), liste une partie du code, juste 3 ou 4 pages pour voir si c'est une autre version :

cat /usr/local/bin/pyrenamer|less

et dans ce cas, pas de pitié, tu le supprimes !
Si ça se trouve c'est ça qui nous met le bazar et qui se lance à la place de la bonne version...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#41 Le 03/03/2018, à 17:06

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

jarodd@ubuntu:~$ ls -l /usr/local/bin/pyrenamer
-rwxr-xr-x 1 root root 259 févr. 11 20:28 /usr/local/bin/pyrenamer
jarodd@ubuntu:~$

cat /usr/local/bin/pyrenamer|less :

#!/bin/bash
# /usr/local/bin/pyrenamer (MagicMint) O0116
# pyRenamer wrapper for Nemo
 
cmd="/usr/bin/pyrenamer"
 
if [[ $# != 0 ]]; then
 #Remove "file://" from the 1st name
 dir=/`dirname "$1" | cut -d'/' -f4-`
fi
eval "$cmd" --root "$dir"
#End of script

Je supprime ou pas ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#42 Le 03/03/2018, à 17:19

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Oui, manifestement, c'est ce script qui est lancé lorsque tu appelles pyrenamer et qui modifie l'environnement !


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#43 Le 03/03/2018, à 17:40

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

BINGO !!!

En indiquant le chemin dans la commande, ça s'est enfin ouvert dans ce répertoire, et pas dans mon home big_smile
Pour le script clic droit, ce n'est pas le cas, je vais revenir en arrière avec les différents scripts qu'on a testé, pour trouvé lequel est le bon.
Merci pour votre aide ! cool


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#44 Le 03/03/2018, à 17:55

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Bon, enfin on progresse logiquement. Ce script a dû être installé avec la version que tu avais téléchargée hors dépôt, je suppose...
Peut-être est-il prévu pour un autre environnement.
Tiens-nous informé de l'avancement de tes tests.
smile


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#45 Le 03/03/2018, à 19:32

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

Alors je viens de tester plusieurs versions du script :
- version de J5012 (message #34)
- version de erresse (message #28)

Et dans les deux cas, pyrenamer s'ouvre et se referme immédiatement, quel que soit l'endroit ou je clique (répertoire, fichier, zone vide). Il ne s'ouvre correctement que dans le cas où je l'ouvre avec la commande (avec ou sans le répertoire en paramètre).

neutral


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#46 Le 04/03/2018, à 10:23

jdacier

Re : Pyrenamer: ouvrir dans le dossier courant

Bonjour

Je viens de tomber sur votre échange et j'arrive après la bataille.
J'ai eu le même problème et maintenant cela marche bien.
Pour info voici mon script

dujardin@dujardin-Syste:~/.config/caja/scripts$ cat script_appel_pyrename
#!/bin/bash
#Lance l'application Pyrenamer dans le dossier courant.
#########################################################################
# Nautilus "Renommer en masse" Script #
##########################################################################
if [ "$1" = "" ];then
wdir=${NAUTILUS_SCRIPT_CURRENT_URI#file://}
wdir=${wdir//%20/ }
else
filetype=$(file "$1")
filetype=${filetype##*: }
 
if [ "$filetype" = "directory" ];then
wdir=${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%%$1*}
wdir=$wdir/$1
else
wdir=${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%%$1*}
fi
fi
pyrenamer "$wdir"
dujardin@dujardin-Syste:~/.config/caja/scripts$ 

J'ai ubuntu 16.4 version MATE et mon script est dans  "/home/dujardin/.config/caja/scripts"
Avec nautilus le script a d'abord été dans "/home/utm/.gnome2/nautilus-scripts/ " et ensuite à partir de la version ubuntu 13.04 dans "/home/$USER/.local/share/nautilus/scripts/"

Si ces informations vous sont utiles

Salut

Hors ligne

#47 Le 04/03/2018, à 11:40

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

@jdacier: Ton script est la version de base issue de la documentation. C'est celle utilisée dès le départ et qui ne foctionne absolument pas dans le contexte de Jarodd, c'est pourquoi on est là à modifier et faire des essais divers pour en sortir.
Je suis aussi sous Mate et, comme pour toi, je n'ai pas de problème pour utiliser les caja-scripts, ça marche très bien chez nous...
Pour Jarodd, l'environnement n'est pas Mate et le gestionnaire de fichiers utilisé est Nemo et non Nautilus ou Caja, et du coup les scripts semblent moins bien gérés dans son cas.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#48 Le 04/03/2018, à 14:26

Jarodd

Re : Pyrenamer: ouvrir dans le dossier courant

erresse a écrit :

Je pense que la valeur par défaut du répertoire racine dans pyrenamer, c'est le répertoire personnel de l'utilisateur qui le lance.
Lorsqu'on veut lui donner un répertoire racine différent, je pense qu'il faut le préciser avec l'option -r ou --root suivie du chemin (absolu tant qu'à faire) du répertoire qu'on désire avoir par défaut.

Faut-il absolument un répertoire absolu ? Le man n'indique rien à ce sujet.
Si je lance :

pyrenamer /home/jarodd/Telechargements/jdo/mp4/

Il s'ouvre dans ce répertoire.

Par contre si je me place dans ce répertoire, et que je lance pyrenamer avec ".", il s'ouvre dans /home/jarodd :

cd pyrenamer /home/jarodd/Telechargements/jdo/mp4/ && pyrenamer .

(même résultat si je sépare en deux commandes distinctes)

Edit : je me réponds de suite :

cd /home/jarodd/ && pyrenamer Telechargements/jdo/mp4

ouvre dans /home/jarodd

cd /home/jarodd/ && pyrenamer /home/jarodd/Telechargements/jdo/mp4

ouvre dans ce répertoire mp4

Donc un chemin relatif ne fonctionne pas, il faut indiquer un absolu.

Dernière modification par Jarodd (Le 04/03/2018, à 14:30)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#49 Le 04/03/2018, à 16:33

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Jarodd a écrit :

Par contre si je me place dans ce répertoire, et que je lance pyrenamer avec ".", il s'ouvre dans /home/jarodd :

cd pyrenamer /home/jarodd/Telechargements/jdo/mp4/ && pyrenamer .

Cette commande est erronée, "pyrenamer" n'est pas un dossier courant (cd pyrenamer /home...).
Mais tu as fait apparemment le bon constat : il faut passer à pyrenamer un chemin absolu se terminant obligatoirement par un nom de répertoire, faute de quoi, le paramètre est ignoré et le programme s'ouvre dans le répertoire par défaut de l'utilisateur.
La contrainte n'est pas si terrible, on peut s'en arranger, mais là où le bât me blesse, c'est sur la valeur des paramètres et variables qu'on réceptionne de Nemo... Si on n'obtient pas quelque chose de fixe sur lequel on peut compter, comment construire un script qui tienne la route ? Or, jusqu'ici, on a des trucs plutôt aléatoires dans $1 et dans les variables de Nemo.
Je réfléchis encore à un moyen de contournement.
wink


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#50 Le 04/03/2018, à 17:40

erresse

Re : Pyrenamer: ouvrir dans le dossier courant

Essaie voir avec cette version de script :

#!/bin/bash
#Lance l'application Pyrenamer dans le dossier courant.
#########################################################################
# NEMO "Renommer en masse" Script #
##########################################################################
#log="$HOME/logscript"
#echo "Chemin courant="${PWD}" > "${log}"
#echo "Param=$1" >> "${log}"
wdir="${PWD}"
if [[ $# != 0 ]]; then
	sel="${1##*/}"
	filetype=$(file "${wdir}/${sel}")
	filetype="${filetype##*: }"
	if [ "$filetype" = "directory" ];then
		# ouvre dans le répertoire sélectionné
		wdir="${wdir}/${sel}"
	fi
fi
pyrenamer "${wdir}"
exit 0

Dans cette version, j'ai complètement abandonné les variables spéciales et j'essaie de pallier le paramètre reçu en $1.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne