logo chat

William Dodé - Informaticien indépendant

Diapy

Introduction

Diapy permet de générer un site html à partir d'un répertoire de photos créé par pyseen ou non. Il permet également, en option, d'extraire les photos gérés par pyseen d'après divers critères, sans générer de vignettes ni pages html.

En utilisant toujours la même source et destination, diapy va essayer d'optimiser les mises à jour. Modifier seulement ce qui a changé, effacé ce qui n'est plus et ajouter ce qui manque. (les options permettent de forcer les mises à jour car cela ne fonctionne pas encore très bien).

./diapy.py --source /home/mesphotos --target /home/monsite

Attention!

Le répertoire cible va être effacé !!!! (en fait seulement les fichiers .html, .jpg et les répertoires vides)

Type de génération

Par défaut diapy va générer un site web, c'est à dire redimensionner les photos trop grandes et créer des pages htmls des vignettes.

L'option copy-only permet d'extraire les photos sans générer quoique ce soit (équivalent à --no-html --no-thumb --no-resize).

Dans un cas comme dans l'autre l'option --symlink permet de créer un lien symbolique si la photo n'a pas besoin d'être redimensionnée, de même pour les thumbnails (la taille n'est pas vérifiée).

Dans un cas comme dans l'autre, les photos qui ne sont plus dans le source seront effacés du répertoire destination. De même pour les répertoires vides.

Critères de sélection

Les sélections utilisent le fichier pyseen.xml créé par pyseen.

La sélection s'effectue à l'aide d'une "évaluation python". Pour cette évaluation, les données concernant les photos sont converties en minuscules et contenues dans les champs :

name:nom du fichier de la photo
notes:commentaires de la photo
persons:liste des personnes
locations:liste des lieux
keywords:liste des mot-clés
year:année de la photo
month:mois
day:jour

De plus, le signe * permet de rechercher un extrait de chaine.

Quelques exemples d'expression :

Sélection des photos de laetitia à bagnères:

--select "'laetitia' in persons and 'bagnères' in locations"

Sélection des photos de 2004:

--select "year == 2004"

Sélection des photos de la famille dupont en 2005:

--select "'dupont:*' in persons and year == 2005"

Note

Toutes les données sont converties en minuscules avant les comparaisons

Modification de la présentation

Le plus simple est d'agir sur la feuille de style. Il suffit de copier le fichier style.css à la racine du répertoire cible et de le modifier éventuellement. Si le site est accessible dans une sous-url (/mesphotos/...) il faut soit copier la feuille de style à la racine du site, soit indiquer l'url absolue avec l'option --css-url.

--css-url /monstyle/style.css

Ensuite il est possible de modifier les templates (index.tmpl et image.tmpl). En copiant ceux existant dans le répertoire en cours (où est lancé diapy) ou dans le répertoire cible.

Ligne de commande

./diapy.py --help

usage: diapy.py [options]

options:
 --version             show program's version number and exit
 -h, --help            show this help message and exit
 --source=SOURCE       source path [/home/wilk/projets/imaging/pyseen]
 --target=TARGET       target path
 --image-size=IMAGE_SIZE
                       image size [800x600]
 --no-resize           no resize
 --resize-filter=RESIZE_FILTER
                       NEAREST(fast), BILINEAR, or [BICUBIC(slow)]
 --thumb-size=THUMB_SIZE
                       thumb size [200x200]
 --no-thumb            no thumb
 --force-image-update  force update of image and thumb
 --force-html          force html
 --no-html             no html
 --css-url=CSS_URL     css url
 --exit-html=EXIT_HTML
                       exit html
 --select              select query : 'leila' in persons and year==2005...
 --copy-only           no thumb, no html, no resize
 --symlink             symlink instead of copy when no resize
 -d, --debug           show debug infos
 -v, --verbose         show infos