Organiza tus fotos con phockup

Introducción

Últimamente ando migrando todos mi ecosistema doméstico, he cambiado Nextcloud por Syncthing, y una de las cosas que me gustaba de Nextcloud es que subía directamente a mi nube las fotografías hechas con mis dispositivos móviles y las ordenaba por año y mes en carpetas, cosa que Syncthing no hace.

Finalmente he encontrado una solución que consiste en subir todas las fotos a una carpeta almacén y después ejecutar Phockup para que las organice. Si además programo un cron para ello, problema resuelto.

Phockup es una herramienta escrita en python que nos va a permitir organizar nuestras fotografías o vídeos en carpetas ordenadas por año, mes o día, según lo configuremos.

Instalación

Es necesario tener instalado python3 y libimage-exiftool-perl, bajarnos la herramienta desde su repositorio, y descomprimirla


curl -L https://github.com/ivandokov/phockup/archive/latest.tar.gz -o phockup.tar.gz
tar -zxf phockup.tar.gz

Uso

Su utilización es muy sencilla, simplemente ejecutando

python3 ./phockup.py CARPETA-ENTRADA CARPETA-SALIDA

Por ejemplo, tenemos dos carpetas, prueba1 con las fotos que queremos clasificar y carpeta2 que es donde queremos que se guarden las fotos ordenadas.

Y desde la carpeta donde hemos descomprimido Phockup, simplemente escribiendo

/bin/python3 ./phockup.py  ~/Imágenes/Fotos/Familia/prueba1/ ~/Imágenes/Fotos/Familia/prueba2 -d YYYY/M~

Vemos como ha organizado las fotos en carpetas clasificadas en año

y por mes

Si en vez de copiar quieres mover los ficheros debemos de utilizar el parámetro -m

El argumento -d YYYY/M es el orden en el que se organizan las fotos, por años y mes, sin embargo podemos utilizar otros criterios de ordenación

Formatos soportados:
    YYYY - 2016, 2017 ...
    YY   - 16, 17 ...
    MM   - 07, 08, 09 ...
    M    - July, August, September ...
    m    - Jul, Aug, Sept ...
    DD   - 27, 28, 29 ... (day of month)
    DDD  - 123, 158, 365 ... (day of year)

Ejemplo:
    YYYY/MM/DD -> 2011/07/17
    YYYY/M/DD  -> 2011/July/17
    YYYY/m/DD  -> 2011/Jul/17
    YY/m-DD    -> 11/Jul-17

Cron

Podemos programar un cron para que todos los días a las 01:00 AM lea la carpeta almacén prueba1, y que mueva y ordene las fotos a la carpeta prueba2.

#! /bin/bash
 * 1 * * * python3 ./phockup.py /Imágenes/Fotos/Familia/prueba1/ ~/Imágenes/Fotos/Familia/prueba2/ -m -d YYYY/M