|
Process.py
Este módulo pretende automatizar el proceso de crear scripts para Nautilus. Con él podemos ejecutar un comando cualquiera de linea de comandos desde un script, creando un archivo con una llamada a una función. Vamos a ver un ejemplo: Imaginamos que queremos rotar una imagen hacia la derecha. Si tenemos instalado ImageMagick lo haríamos así: convert -rotate 90 imagen.jpg imagen.jpg Ahora queremos hacer esto desde un script. Haciendo uso Process.py, lo haríamos así: #!/usr/bin/env python import Process Process.ProcessFiles( "convert -rotate 90 $FILE$ $FILE$", # comando "jpg|png", # tipo de archivos False, # leer directorios? False, # procesar directorio como un archivo "Las imágenes se rotaron bien") # mensaje final Lo primero es copiar en el mismo directorio
¿Qué hemos hecho? Pues hemos llamado a una función de la librería Process y por cada uno de los archivos seleccionados en Nautilus ejecutará el primer argumento pasado en la función. Este argumento es: convert -rotate 90 $FILE$ $FILE$ Supongo que ya os habréis dado cuenta que donde se ponía el archivo, en la función tenéis que poner $FILE$. El programa cambiará el nombre del archivo seleccionado por $FILE$. Veamos otro ejemplo: cp $FILE$ copia_$FILE$ Esto haría una copia de cada archivo seleccionado y a la copia le colocaría al principio del archivo "copia_". ¿Fácil no?. A partir de ahí lo que quieras. Los parámetros de la función ProcessFiles son estos 5:
Existen dos funciones en Process.py, una es ProcessFiles que ya hemos visto, y la otra es ProcessTogetherFiles. Esta última ejecuta un sólo comando con todos los archivos seleccionados. Por ejemplo si queremos abrir varias imágenes simultáneamente con el program GThumb hacemos esto: gthumb imagen1.jpg imagen2.jpg imagen3.jpg imagen4.jpg Con Process.py crearemos el siguiente archivo: #!/usr/bin/env python import Process Process.ProcessTogetherFiles( "gthumb $FILES$", # comando a ejecutar "jpg", # tipo de archivos "") # mensaje final Esta vez $FILES$ reemplaza a todos los archivos que hemos seleccionado, sólo archivos, los directorio se los saltará. Los parámetros de la función ProcessTogetherFiles son estos 5:
Para finalizar he creado un par de script llamados Process Gui que sirven para ejecutar directamente comandos sobre los archivos seleccionados en nautilus. Una par de screen:
Así se podrá ejecutar directamente los scripts. Los textos entre símbolos de $, colocan en ese lugar un texto con el nombre del archivo. Las tres posibilidades son:
Así podemos hacer cosas como estas: cp $FILE$ $NAME$_copia.$EXT$ Haremos una copia de cada archivo seleccionado colocando detrás del nombre "_copia", por ejemplo un archivo llamado "imagen.jpg" tendría una copia llamada "imagen_copia.jpg"
|
|