Come posso riempire a livello di codice un flash drive con le mie ultime foto di iPhoto?

5

Supponiamo di voler riempire un'unità flash con le foto più recenti nella Libreria iPhoto.

  • Voglio finire con un'unità esterna che contiene tutte le mie foto in una singola directory (nessuna cartella nidificata)

  • Quelle foto che sono state modificate, voglio che la versione modificata della foto finisca nell'unità.

  • Quelle foto che non sono state modificate, voglio che la versione originale della foto finisca nell'unità

  • Voglio iniziare con la foto più recente e tornare indietro nel tempo, quindi quando l'unità si riempie, le ultime foto saranno incluse nell'unità esterna.

  • Mi aspetto che l'unità esterna non possa contenere tutte le immagini nella mia libreria. Qualsiasi avviso a questo effetto deve essere non modale e non impedire allo script di riempire l'unità con le foto più recenti nella mia libreria, quindi arrestare con grazia quando il disco è pieno.

  • Voglio farlo a livello di codice (shell o AppleScript), senza avviare iPhoto.

Qualcuno sa come fare per fare questo? Ho scritto alcuni script di shell nel corso degli anni, ma nessuno di loro ha funzionato nel modo in cui speravo.

Sospetto che la risposta corretta comporterà alcune copie e alcune dichiarazioni "se".

    
posta Daniel 20.03.2012 - 05:28
fonte

1 risposta

5

Ho scritto una sceneggiatura per farlo per te. È disponibile qui . Funziona con il sistema Ruby (1.8.6 in Lion) senza dipendenze esterne. Ecco come lo usi (incluso anche nel README):

This script looks for an iPhoto '11 album data file in

~/Pictures/iPhoto Library/AlbumData.xml

This is the standard place for iPhoto to store the album data file, so it's very likely you have it here if you have iPhoto.

Recommended use for the script is to copy it to wherever you wish to backup the files to, then invoke it on the command line:

$ruby iphoto.rb

This will scan the album data file, sort the photos by date, newest first, then copy them to the desired destination until the drive is full. Alternatively, you can manually specify the path you wish to copy to as an argument parameter, in case you want to store the script somewhere else:

$ruby iphoto.rb /Volumes/Backup

This script was written with exactly one user in mind; that is why it has no other options.


  • I have tested this on exactly one iPhoto library: mine. It works for me, but YMMV.
  • The number in front of the files is the "DateAsTimerInterval" value from the album data file. I don't know how to convert it to a "real" date, but sorting by it does sort chronologically, so it's good enough for the purposes of this script.
    
risposta data 30.03.2012 - 03:18
fonte

Leggi altre domande sui tag