5 votes

Comment puis-je remplir de manière programmée une clé USB avec mes dernières photos d'iPhoto ?

Supposons que je veuille remplir un lecteur flash avec les photos les plus récentes de ma bibliothèque iPhoto.

  • Je veux me retrouver avec un disque externe qui contient toutes mes photos dans un seul répertoire (pas de dossiers imbriqués).

  • Pour les photos qui ont été modifiées, je veux que la version modifiée de la photo se retrouve sur le disque.

  • Pour les photos qui n'ont pas été modifiées, je veux que la version originale de la photo se retrouve sur le disque.

  • Je veux commencer par la photo la plus récente et remonter dans le temps, de sorte que lorsque le disque se remplit, les dernières photos seront incluses sur le disque externe.

  • Je m'attends à ce que le disque externe ne puisse pas contenir toutes les photos de ma bibliothèque. Tout avertissement à cet effet doit être non modal, et ne pas empêcher le script de procéder au remplissage du disque avec les photos les plus récentes de ma bibliothèque, puis de s'arrêter gracieusement lorsque le disque est plein.

  • Je veux faire cela de manière programmatique (shell ou AppleScript), sans lancer iPhoto.

Quelqu'un sait-il comment s'y prendre ? J'ai écrit quelques scripts au fil des ans, mais aucun d'entre eux ne fonctionne comme je l'espérais.

Je pense que la bonne réponse impliquera des copies et des instructions "si".

5voto

Chris Jester-Young Points 102876

J'ai écrit un script pour faire cela pour vous. Il est disponible ici . Il fonctionne avec le système Ruby (1.8.6 dans Lion) sans aucune dépendance externe. Voici comment l'utiliser (également inclus dans le README) :

Ce script cherche un fichier de données d'album iPhoto '11 dans

~/Pictures/iPhoto Library/AlbumData.xml

C'est l'endroit standard où iPhoto stocke le fichier de données de l'album. il est très probable que vous l'ayez ici si vous avez iPhoto.

L'utilisation recommandée pour le script est de le copier à l'endroit où vous souhaitez sauvegarder les fichiers, puis de l'invoquer en ligne de commande. sauvegarder les fichiers, puis de l'invoquer en ligne de commande :

$ruby iphoto.rb

Cette fonction permet d'analyser le fichier de données de l'album, de trier les photos par date, les plus récentes et les plus récentes. les plus récentes, puis les copiera vers la destination souhaitée jusqu'à ce que le disque soit plein. soit plein. Alternativement, vous pouvez spécifier manuellement le chemin d'accès que vous souhaitez copier en tant que paramètre d'argument, au cas où vous voudriez stocker le script à un autre endroit quelque part ailleurs :

$ruby iphoto.rb /Volumes/Backup

Ce script a été écrit avec un seul utilisateur à l'esprit ; c'est pourquoi il n'a pas d'autres options. n'a pas d'autres options.


  • Je l'ai testé sur une seule bibliothèque iPhoto : la mienne. Cela fonctionne pour moi, mais c'est une question de jugement.
  • Le nombre devant les fichiers est la valeur "DateAsTimerInterval" du fichier de données de l'album. Je ne sais pas comment la convertir en une "vraie" date, mais trier par elle permet de trier chronologiquement, donc c'est suffisant pour les besoins de ce script.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X