#1 Le 19/12/2013, à 21:03
- polinux
script dans nautilus n'apparait pas
Bonjour à tous.
J'ai actuellement la version 10.12 d'ubuntu et sur mon ancien pc j'avais la version 10.04. sur mon pc avec la version 1.04 j'utilisais un petit script qui me permettait de réduire instantanément les images dans 4 formats au choix préprogrammé et les plaçait dans un dossier nomé vignette.
J'ai copié et collé le fichier de script dans .gnome2>nautilus-scripts puis relancer le pc mais rien n'apparait.
J'avais fais cette opération plusieurs fois quand je changeais de pc mais cette fois rien.
Voici le code de mon script :
#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Version adaptée à Nautilus
# Appel système (system,mkdir)
import os
# Manipulation des arborescences (join,isdirr)
import os.path
# Pour sortir de l'interpréteur
import sys
import commands
import urllib
# Mise en place des constantes
RepertoireVignette="Vignettes"
Debug=0
def nautilus_script_display_error():
"""This is a general error message display for nautilus scripts"""
import sys
#errors_fd,errors_name=tempfile.mkstemp() #This not available until python 2.3
errors_name=os.tmpnam()
errors_fd=file(errors_name,"w")
etype, emsg, etb = sys.exc_info()
errors_fd.write('line '+str(etb.tb_lineno)+': '+str(etype)+': '+str(emsg)+'\n')
errors_fd.write('\n$PWD: %s' % os.getcwd())
errors_fd.write('\nsys.argv: %s' % str(sys.argv[1:]))
for var in os.environ:
if var.startswith("NAUTILUS_"):
errors_fd.write("\n%s: %s" % (var,os.environ[var].replace('\n',"\\n")))
errors_fd.close()
pid = os.fork()
if pid == 0:
cmd = ["zenity", "--text-info", "--filename=%s" % errors_name, "--title=error", "--width=640", "--height=220"]
os.execvp(cmd[0],cmd)
os.waitpid(pid,0)
os.unlink(errors_name)
if __name__=='__main__':
try:
# Récupération du répertoire courant
Repertoire=os.environ["NAUTILUS_SCRIPT_CURRENT_URI"][7:]
# On se déplace dans ce répertoire
os.chdir(urllib.unquote(Repertoire))
# On vérifie qu'il existe un répertoire de vignette
if not os.path.isdir(RepertoireVignette):
os.mkdir(RepertoireVignette)
# Choix de la taille de réduction
StringCommand='zenity --title "test" --list --radiolist --column "" --column "Taille" FALSE "800x600" TRUE "640x480" FALSE "320x240" FALSE "150x113"'
Resolution=commands.getoutput(StringCommand)
if Debug :
# Ouverture d'un fichier pour le déboguage
FileID=file('log.txt','w')
FileID.write(Repertoire+"\n")
# Récupération des fichiers
for Fichier in os.environ['NAUTILUS_SCRIPT_SELECTED_FILE_PATHS'].split("\n")[0:-1]:
# Nouveau nom de fichier
Path,FileName=os.path.split(Fichier)
#FileID.write(Path +" "+FileName+"\n")
NouveauNom=os.path.join(os.path.join(Path,RepertoireVignette),FileName)
if Debug :
Avez vous des pistes pour faire apparaitre ce script dans nautilus ?
Merci d'avance
paul
Hors ligne
#2 Le 16/01/2014, à 00:07
- Compte anonymisé
Re : script dans nautilus n'apparait pas
Bonjour,
Le script est-il bien exécutable (attribut x) ?
Avec les nouvelles versions de nautilus (GTK3), les scripts sont à mettre dans .local/share/nautilus/scripts.