web-dev-qa-db-fra.com

Comment puis-je exporter ma galerie Shotwell?

Donc, j'aime beaucoup Shotwell et je l'utilise depuis environ six mois maintenant.

Le seul problème, il n’existe pas de fonction d’exportation, et j’ai regroupé tous mes événements et les ai nommés.

Existe-t-il un script ou un plug-in que je pourrais exporter dans une structure de dossiers telle que 2012_02 Event XY?

3
Dan

Ok, puisque je n'ai pas modifié les images dans Shotwell, ce petit script me convient:

from pysqlite2 import dbapi2 as sqlite
import os
import shutil

targetdirectory = "/home/dan/pictures new/"

db = sqlite.connect('photo.db')
cur = db.cursor()
cur.execute('SELECT strftime("%Y_%m", datetime(PhotoTable.timestamp, "unixepoch")) ||" "|| EventTable.name, PhotoTable.filename FROM PhotoTable LEFT JOIN EventTable ON PhotoTable.event_id = EventTable.id')
for row in cur:

    dir = os.path.dirname(targetdirectory + str(row[0]) +"/")
    if not os.path.exists(dir):
            os.makedirs(dir)
    try:
        if os.path.exists(str(row[1])) and not os.path.exists(targetdirectory + str(row[0]) + "/" + os.path.basename(str(row[1]))):
            shutil.copyfile(row[1], targetdirectory + str(row[0]) + "/" + os.path.basename(row[1]))
    except UnicodeEncodeError:
        print "Error: " + str(row[0])

Je pense qu’il est très important d’avoir la possibilité de changer d’outil si vous le souhaitez :)

3
Dan

Le script mentionné dans l'article de Robert fonctionne bien (merci beaucoup !!), mais il recherche une table appelée BackingPhotoTable qui n'existe pas toujours (peut-être créée après la modification des photos?). Dans le cas contraire, le script d'exportation échouera.

Cela va créer la table et résoudre le problème. CREATE TABLE IF PAS EXISTES BackingPhotoTable (id INTEGER PRIMARY KEY, chemin du fichier TEXT UNIQUE NOT NULL, horodatage INTEGER, taille de fichier INTEGER, largeur INTEGER, hauteur INTEGER, original_orientation INTEGER, format_fichier INTEGER, time_created INTEGER).

Le chemin par défaut pour le fichier photo.db ne semble pas fonctionner, mais le spécifier dans un paramètre le fait.

0
Pete

Vous ne pouvez pas exporter les dossiers directement, mais vous pouvez ouvrir un dossier> Tout sélectionner (Ctrl+A) et exportation (Shift+Ctrl+E)> vers> Lieu. (nommer le dossier)

J'ai trouvé un script qui peut être adapté de https://github.com/johey/shotup

Le Read me dit:

Shotup est un outil permettant d’exporter une galerie de photos de Shotwell vers une galerie en ligne consultable.

0
Ringtail

Il existe maintenant un script d'exportation Shotwell basé sur l'exemple de Dan. Il va vider toute la bibliothèque multimédia de Shotwell dans un répertoire.

Appelez comme ça pour répondre à vos besoins:

shotwell-export --filename "{y}_{m} {event}/{file}"

Disclaimer : c'est écrit/adapté par moi. Inclut des correctifs pour les problèmes unicode et ajoute de la souplesse aux arguments.

0
Robert