Esto es purrr, una herramienta para cambiar el nombre de los archivos de forma masiva escrita en PyGTK.


¿Qué?
=====

Purrr le permite renombrar múltiples archivos de acuerdo con un esquema especificado.
Los esquemas son en realidad un lenguaje de programación en miniatura.
Permite automatizar la no tan divertida tarea de renombrar tropecientos archivos casi idénticos a mano.
Si alguna vez ha descargado una serie de anime con archivos llamados de forma inteligente que van del
kimi_ga_ep1_divx_mp3 [23ed4xc]. avi al kimi_ga_ep13_divx_mp3 [4c00ddd]. avi, seguramente se hace una idea
de lo que se pretende con este programa.

¿Cómo?
====

Se renombra siguiendo un esquema. El esquema consiste en una cadena de carácteres, que
(en general) puede tener dos partes distintas. Una de ellas es _normal_, es decir, cadena que se copia tal cual. La otra es  _especial_,
es decir, que hace referencia a un tipo determinado de valor. Todas las referencias especiales se escriben entre corchetes ([y]). Hay 4 tipos especiales:

* Contadores. [C]. Un contador es la herramienta básica que se utilizará para insertar una sucesión de números en los nombres de los archivos. El número se va incrementando al pasar al siguiente archivo. Puede tener 3 argumentos separados por comas: valor de inicio, diferencia entre números y longitud en dígitos del número.

   Por ejemplo, el uso de este esquema: "archivo [C,10,5,3].txt" le dará:

   aaa -> archivo 010.txt
   bbb -> archivo 015.txt
   ccc -> archivo 020.txt

(números de 3 dígitos, que empiezan por el 10 y que van de 5 en 5)

* Nombre de referencia. [N] sustituye al nombre de referencia de cada archivo dejándolo tal cual.
   Opcional es el uso de "_" que sustituirá los nombres con guiones bajos por espacios en blanco. Por ejemplo, "[N_]" le dará:

   aaa -> aaa
   bbb -> bbb
   ccc -> ccc
   some_long_name -> some long name

* Base del nombre. [B] es igual que [N], pero sin extensión. Así que, "[B_].dat" dará:

   aaa -> aaa.dat
   bbb -> bbb.dat
   ccc -> ccc.dat
   some_name.txt -> some name.dat

* Extensión de referencia. Insertando [E], se mantendrán las extensiones de los archivos originales. Por ejemplo, con "archivo.[E]":

   aaa.txt -> archivo.txt
   aaa.jpg -> archivo.jpg
   aaa.mkv -> archivo.mkv

El uso de mayúsculas es indiferente, es decir, [C] dará el mismo resultado que [c]). Las referencias que no se reconozcan se escribirán tal cual, de modo que [algo xxx, #?], insertará la cadena "algo xxx, #?" en el nombre del archivo resultante. Pero para conseguir los corchetes (o la misma barra invetida) tendrá que escapar estos caracteres con "\". 

¿Cuánto?
=========

No mucho. Purrr es software libre liberado bajo licencia GPL. Para ejecutarlo, se necesita
por lo menos Python 2.3, PyGTK con 2.4 y las bibliotecas de Gnome instalado. También necesitarás
libglade, que se utiliza para construir la interfaz de usuario en tiempo de ejecución.

Si usa Nautilus, puede instalar nautilus script que llama a purrr en los
archivos seleccionados. Está disponible bajo el nombre "Mass renamer" en el menú contextual.

¿Quién?
====

Purrr fue desarrollado por Maciej Katafiasz (http://mathrick.org), quien se divirtió mucho escribiéndolo.
