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.

#1 Le 19/12/2013, à 22: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, à 01: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.