diff --git a/README.md b/README.md index dd52b483..53ce550d 100644 --- a/README.md +++ b/README.md @@ -366,6 +366,11 @@ Options: may create name collisions on export. (e.g. if two files happen to have the same name) + --retry RETRY Automatically retry export up to RETRY times + if an error occurs during export. This may be + useful with network drives that experience + intermittent errors. + --export-by-date Automatically create output folders to organize photos by date created (e.g. DEST/2019/12/20/photoname.jpg). diff --git a/docs/.buildinfo b/docs/.buildinfo index faa3dc0a..8e0fa13d 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: c43f566654ff6a66a64cd55da2e67fef +config: 83db317a0b058d0bba826496215f3269 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_modules/index.html b/docs/_modules/index.html index b9ee636a..992f2ea9 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -5,7 +5,7 @@ - Overview: module code — osxphotos 0.41.4 documentation + Overview: module code — osxphotos 0.41.6 documentation diff --git a/docs/_modules/osxphotos/photoinfo/_photoinfo_export.html b/docs/_modules/osxphotos/photoinfo/_photoinfo_export.html index b2fdaddb..86e92d21 100644 --- a/docs/_modules/osxphotos/photoinfo/_photoinfo_export.html +++ b/docs/_modules/osxphotos/photoinfo/_photoinfo_export.html @@ -5,7 +5,7 @@ - osxphotos.photoinfo._photoinfo_export — osxphotos 0.41.4 documentation + osxphotos.photoinfo._photoinfo_export — osxphotos 0.41.6 documentation diff --git a/docs/_modules/osxphotos/photoinfo/photoinfo.html b/docs/_modules/osxphotos/photoinfo/photoinfo.html index 798d7f44..0f7b2c5a 100644 --- a/docs/_modules/osxphotos/photoinfo/photoinfo.html +++ b/docs/_modules/osxphotos/photoinfo/photoinfo.html @@ -5,7 +5,7 @@ - osxphotos.photoinfo.photoinfo — osxphotos 0.41.4 documentation + osxphotos.photoinfo.photoinfo — osxphotos 0.41.6 documentation @@ -486,9 +486,24 @@ ) return self._albums + @property + def burst_albums(self): + """If photo is non-selected burst photo, list of albums any other images in the same burst set are contained in, otherwise returns self.albums""" + if self.burst_selected or not self.burst: + return self.albums + + try: + return self._burst_albums + except AttributeError: + burst_albums = [] + for photo in self.burst_photos: + burst_albums.extend(photo.albums) + self._burst_albums = list(set(burst_albums)) + return self._burst_albums + @property def album_info(self): - """ list of AlbumInfo objects representing albums the photos is contained in """ + """ list of AlbumInfo objects representing albums the photo is contained in """ try: return self._album_info except AttributeError: @@ -498,6 +513,21 @@ ] return self._album_info + @property + def burst_album_info(self): + """ If photo is a non-selected burst photo, returns list of AlbumInfo objects representing albums any other photos in the same burst set are contained in, otherwise returns self.album_info """ + if self.burst_selected or not self.burst: + return self.album_info + + try: + return self._burst_album_info + except AttributeError: + burst_album_info = [] + for photo in self.burst_photos: + burst_album_info.extend(photo.album_info) + self._burst_album_info = list(set(burst_album_info)) + return self._burst_album_info + @property def import_info(self): """ ImportInfo object representing import session for the photo or None if no import session """ @@ -713,6 +743,11 @@ """ Returns True if photo is part of a Burst photo set, otherwise False """ return self._info["burst"] + @property + def burst_selected(self): + """ Returns True if photo is a burst photo and has been selected from the burst set by the user, otherwise False """ + return self._info["burst_key"] + @property def burst_photos(self): """If photo is a burst photo, returns list of PhotoInfo objects diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 10e75162..37d47e54 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.41.4', + VERSION: '0.41.6', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/cli.html b/docs/cli.html index fbb5f728..942a4fe3 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -5,7 +5,7 @@ - osxphotos command line interface (CLI) — osxphotos 0.41.4 documentation + osxphotos command line interface (CLI) — osxphotos 0.41.6 documentation @@ -549,6 +549,12 @@ to modify this behavior.

Overwrite existing files. Default behavior is to add (1), (2), etc to filename if file already exists. Use this with caution as it may create name collisions on export. (e.g. if two files happen to have the same name)

+
+
+--retry <RETRY>
+

Automatically retry export up to RETRY times if an error occurs during export. This may be useful with network drives that experience intermittent errors.

+
+
--export-by-date
diff --git a/docs/genindex.html b/docs/genindex.html index 8b41e9ec..7a9a8a0f 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -5,7 +5,7 @@ - Index — osxphotos 0.41.4 documentation + Index — osxphotos 0.41.6 documentation @@ -538,8 +538,6 @@
  • osxphotos-query command line option
  • - - + + - + @@ -1586,6 +1599,8 @@
  • --replace-keywords
  • --report <path to export report> +
  • +
  • --retry <RETRY>
  • --save-config <config file path>
  • diff --git a/docs/index.html b/docs/index.html index 74bf34bb..05130adf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,7 +5,7 @@ - Welcome to osxphotos’s documentation! — osxphotos 0.41.4 documentation + Welcome to osxphotos’s documentation! — osxphotos 0.41.6 documentation diff --git a/docs/modules.html b/docs/modules.html index 817a7d24..706504a7 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -5,7 +5,7 @@ - osxphotos — osxphotos 0.41.4 documentation + osxphotos — osxphotos 0.41.6 documentation diff --git a/docs/objects.inv b/docs/objects.inv index 8c17bee5..578b4133 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/osxphotos.pdf b/docs/osxphotos.pdf index c2478e19..3e8f50e3 100644 Binary files a/docs/osxphotos.pdf and b/docs/osxphotos.pdf differ diff --git a/docs/reference.html b/docs/reference.html index 3ed99050..f4d98654 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -5,7 +5,7 @@ - osxphotos package — osxphotos 0.41.4 documentation + osxphotos package — osxphotos 0.41.6 documentation @@ -650,7 +650,7 @@ including keywords, persons, albums, uuid, path, etc.

    property album_info
    -

    list of AlbumInfo objects representing albums the photos is contained in

    +

    list of AlbumInfo objects representing albums the photo is contained in

    @@ -671,6 +671,18 @@ including keywords, persons, albums, uuid, path, etc.

    Returns True if photo is part of a Burst photo set, otherwise False

    +
    +
    +property burst_album_info
    +

    If photo is a non-selected burst photo, returns list of AlbumInfo objects representing albums any other photos in the same burst set are contained in, otherwise returns self.album_info

    +
    + +
    +
    +property burst_albums
    +

    If photo is non-selected burst photo, list of albums any other images in the same burst set are contained in, otherwise returns self.albums

    +
    +
    property burst_photos
    @@ -679,6 +691,12 @@ that are part of the same burst photo set; otherwise returns empty list. self is not included in the returned list

    +
    +
    +property burst_selected
    +

    Returns True if photo is a burst photo and has been selected from the burst set by the user, otherwise False

    +
    +
    property comments
    diff --git a/docs/search.html b/docs/search.html index 7df58086..34068339 100644 --- a/docs/search.html +++ b/docs/search.html @@ -5,7 +5,7 @@ - Search — osxphotos 0.41.4 documentation + Search — osxphotos 0.41.6 documentation diff --git a/docs/searchindex.js b/docs/searchindex.js index 87f4f146..a224babc 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["cli","index","modules","reference"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["cli.rst","index.rst","modules.rst","reference.rst"],objects:{"osxphotos-albums":{"--db":[0,3,1,"cmdoption-osxphotos-albums-db"],"--json":[0,3,1,"cmdoption-osxphotos-albums-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-albums-arg-PHOTOS_LIBRARY"]},"osxphotos-dump":{"--db":[0,3,1,"cmdoption-osxphotos-dump-db"],"--deleted":[0,3,1,"cmdoption-osxphotos-dump-deleted"],"--deleted-only":[0,3,1,"cmdoption-osxphotos-dump-deleted-only"],"--json":[0,3,1,"cmdoption-osxphotos-dump-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-dump-arg-PHOTOS_LIBRARY"]},"osxphotos-export":{"--album":[0,3,1,"cmdoption-osxphotos-export-album"],"--album-keyword":[0,3,1,"cmdoption-osxphotos-export-album-keyword"],"--burst":[0,3,1,"cmdoption-osxphotos-export-burst"],"--cleanup":[0,3,1,"cmdoption-osxphotos-export-cleanup"],"--convert-to-jpeg":[0,3,1,"cmdoption-osxphotos-export-convert-to-jpeg"],"--current-name":[0,3,1,"cmdoption-osxphotos-export-current-name"],"--db":[0,3,1,"cmdoption-osxphotos-export-db"],"--deleted":[0,3,1,"cmdoption-osxphotos-export-deleted"],"--deleted-only":[0,3,1,"cmdoption-osxphotos-export-deleted-only"],"--description":[0,3,1,"cmdoption-osxphotos-export-description"],"--description-template":[0,3,1,"cmdoption-osxphotos-export-description-template"],"--directory":[0,3,1,"cmdoption-osxphotos-export-directory"],"--download-missing":[0,3,1,"cmdoption-osxphotos-export-download-missing"],"--dry-run":[0,3,1,"cmdoption-osxphotos-export-dry-run"],"--edited":[0,3,1,"cmdoption-osxphotos-export-edited"],"--edited-suffix":[0,3,1,"cmdoption-osxphotos-export-edited-suffix"],"--exiftool":[0,3,1,"cmdoption-osxphotos-export-exiftool"],"--exiftool-merge-keywords":[0,3,1,"cmdoption-osxphotos-export-exiftool-merge-keywords"],"--exiftool-merge-persons":[0,3,1,"cmdoption-osxphotos-export-exiftool-merge-persons"],"--exiftool-option":[0,3,1,"cmdoption-osxphotos-export-exiftool-option"],"--exiftool-path":[0,3,1,"cmdoption-osxphotos-export-exiftool-path"],"--export-as-hardlink":[0,3,1,"cmdoption-osxphotos-export-export-as-hardlink"],"--export-by-date":[0,3,1,"cmdoption-osxphotos-export-export-by-date"],"--exportdb":[0,3,1,"cmdoption-osxphotos-export-exportdb"],"--external-edit":[0,3,1,"cmdoption-osxphotos-export-external-edit"],"--favorite":[0,3,1,"cmdoption-osxphotos-export-favorite"],"--filename":[0,3,1,"cmdoption-osxphotos-export-filename"],"--finder-tag-keywords":[0,3,1,"cmdoption-osxphotos-export-finder-tag-keywords"],"--finder-tag-template":[0,3,1,"cmdoption-osxphotos-export-finder-tag-template"],"--folder":[0,3,1,"cmdoption-osxphotos-export-folder"],"--from-date":[0,3,1,"cmdoption-osxphotos-export-from-date"],"--from-time":[0,3,1,"cmdoption-osxphotos-export-from-time"],"--has-comment":[0,3,1,"cmdoption-osxphotos-export-has-comment"],"--has-likes":[0,3,1,"cmdoption-osxphotos-export-has-likes"],"--has-raw":[0,3,1,"cmdoption-osxphotos-export-has-raw"],"--hdr":[0,3,1,"cmdoption-osxphotos-export-hdr"],"--hidden":[0,3,1,"cmdoption-osxphotos-export-hidden"],"--ignore-case":[0,3,1,"cmdoption-osxphotos-export-i"],"--ignore-date-modified":[0,3,1,"cmdoption-osxphotos-export-ignore-date-modified"],"--ignore-signature":[0,3,1,"cmdoption-osxphotos-export-ignore-signature"],"--in-album":[0,3,1,"cmdoption-osxphotos-export-in-album"],"--is-reference":[0,3,1,"cmdoption-osxphotos-export-is-reference"],"--jpeg-ext":[0,3,1,"cmdoption-osxphotos-export-jpeg-ext"],"--jpeg-quality":[0,3,1,"cmdoption-osxphotos-export-jpeg-quality"],"--keyword":[0,3,1,"cmdoption-osxphotos-export-keyword"],"--keyword-template":[0,3,1,"cmdoption-osxphotos-export-keyword-template"],"--label":[0,3,1,"cmdoption-osxphotos-export-label"],"--live":[0,3,1,"cmdoption-osxphotos-export-live"],"--load-config":[0,3,1,"cmdoption-osxphotos-export-load-config"],"--missing":[0,3,1,"cmdoption-osxphotos-export-missing"],"--no-comment":[0,3,1,"cmdoption-osxphotos-export-no-comment"],"--no-description":[0,3,1,"cmdoption-osxphotos-export-no-description"],"--no-likes":[0,3,1,"cmdoption-osxphotos-export-no-likes"],"--no-place":[0,3,1,"cmdoption-osxphotos-export-no-place"],"--no-title":[0,3,1,"cmdoption-osxphotos-export-no-title"],"--not-burst":[0,3,1,"cmdoption-osxphotos-export-not-burst"],"--not-favorite":[0,3,1,"cmdoption-osxphotos-export-not-favorite"],"--not-hdr":[0,3,1,"cmdoption-osxphotos-export-not-hdr"],"--not-hidden":[0,3,1,"cmdoption-osxphotos-export-not-hidden"],"--not-in-album":[0,3,1,"cmdoption-osxphotos-export-not-in-album"],"--not-live":[0,3,1,"cmdoption-osxphotos-export-not-live"],"--not-panorama":[0,3,1,"cmdoption-osxphotos-export-not-panorama"],"--not-portrait":[0,3,1,"cmdoption-osxphotos-export-not-portrait"],"--not-screenshot":[0,3,1,"cmdoption-osxphotos-export-not-screenshot"],"--not-selfie":[0,3,1,"cmdoption-osxphotos-export-not-selfie"],"--not-shared":[0,3,1,"cmdoption-osxphotos-export-not-shared"],"--not-slow-mo":[0,3,1,"cmdoption-osxphotos-export-not-slow-mo"],"--not-time-lapse":[0,3,1,"cmdoption-osxphotos-export-not-time-lapse"],"--only-movies":[0,3,1,"cmdoption-osxphotos-export-only-movies"],"--only-new":[0,3,1,"cmdoption-osxphotos-export-only-new"],"--only-photos":[0,3,1,"cmdoption-osxphotos-export-only-photos"],"--original-suffix":[0,3,1,"cmdoption-osxphotos-export-original-suffix"],"--overwrite":[0,3,1,"cmdoption-osxphotos-export-overwrite"],"--panorama":[0,3,1,"cmdoption-osxphotos-export-panorama"],"--person":[0,3,1,"cmdoption-osxphotos-export-person"],"--person-keyword":[0,3,1,"cmdoption-osxphotos-export-person-keyword"],"--place":[0,3,1,"cmdoption-osxphotos-export-place"],"--portrait":[0,3,1,"cmdoption-osxphotos-export-portrait"],"--replace-keywords":[0,3,1,"cmdoption-osxphotos-export-replace-keywords"],"--report":[0,3,1,"cmdoption-osxphotos-export-report"],"--save-config":[0,3,1,"cmdoption-osxphotos-export-save-config"],"--screenshot":[0,3,1,"cmdoption-osxphotos-export-screenshot"],"--selfie":[0,3,1,"cmdoption-osxphotos-export-selfie"],"--shared":[0,3,1,"cmdoption-osxphotos-export-shared"],"--sidecar":[0,3,1,"cmdoption-osxphotos-export-sidecar"],"--sidecar-drop-ext":[0,3,1,"cmdoption-osxphotos-export-sidecar-drop-ext"],"--skip-bursts":[0,3,1,"cmdoption-osxphotos-export-skip-bursts"],"--skip-edited":[0,3,1,"cmdoption-osxphotos-export-skip-edited"],"--skip-live":[0,3,1,"cmdoption-osxphotos-export-skip-live"],"--skip-original-if-edited":[0,3,1,"cmdoption-osxphotos-export-skip-original-if-edited"],"--skip-raw":[0,3,1,"cmdoption-osxphotos-export-skip-raw"],"--slow-mo":[0,3,1,"cmdoption-osxphotos-export-slow-mo"],"--strip":[0,3,1,"cmdoption-osxphotos-export-strip"],"--time-lapse":[0,3,1,"cmdoption-osxphotos-export-time-lapse"],"--title":[0,3,1,"cmdoption-osxphotos-export-title"],"--to-date":[0,3,1,"cmdoption-osxphotos-export-to-date"],"--to-time":[0,3,1,"cmdoption-osxphotos-export-to-time"],"--touch-file":[0,3,1,"cmdoption-osxphotos-export-touch-file"],"--update":[0,3,1,"cmdoption-osxphotos-export-update"],"--use-photokit":[0,3,1,"cmdoption-osxphotos-export-use-photokit"],"--use-photos-export":[0,3,1,"cmdoption-osxphotos-export-use-photos-export"],"--uti":[0,3,1,"cmdoption-osxphotos-export-uti"],"--uuid":[0,3,1,"cmdoption-osxphotos-export-uuid"],"--uuid-from-file":[0,3,1,"cmdoption-osxphotos-export-uuid-from-file"],"--verbose":[0,3,1,"cmdoption-osxphotos-export-V"],"--xattr-template":[0,3,1,"cmdoption-osxphotos-export-xattr-template"],"-V":[0,3,1,"cmdoption-osxphotos-export-V"],"-i":[0,3,1,"cmdoption-osxphotos-export-i"],DEST:[0,3,1,"cmdoption-osxphotos-export-arg-DEST"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-export-arg-PHOTOS_LIBRARY"]},"osxphotos-help":{TOPIC:[0,3,1,"cmdoption-osxphotos-help-arg-TOPIC"]},"osxphotos-info":{"--db":[0,3,1,"cmdoption-osxphotos-info-db"],"--json":[0,3,1,"cmdoption-osxphotos-info-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-info-arg-PHOTOS_LIBRARY"]},"osxphotos-keywords":{"--db":[0,3,1,"cmdoption-osxphotos-keywords-db"],"--json":[0,3,1,"cmdoption-osxphotos-keywords-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-keywords-arg-PHOTOS_LIBRARY"]},"osxphotos-labels":{"--db":[0,3,1,"cmdoption-osxphotos-labels-db"],"--json":[0,3,1,"cmdoption-osxphotos-labels-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-labels-arg-PHOTOS_LIBRARY"]},"osxphotos-list":{"--json":[0,3,1,"cmdoption-osxphotos-list-json"]},"osxphotos-persons":{"--db":[0,3,1,"cmdoption-osxphotos-persons-db"],"--json":[0,3,1,"cmdoption-osxphotos-persons-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-persons-arg-PHOTOS_LIBRARY"]},"osxphotos-places":{"--db":[0,3,1,"cmdoption-osxphotos-places-db"],"--json":[0,3,1,"cmdoption-osxphotos-places-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-places-arg-PHOTOS_LIBRARY"]},"osxphotos-query":{"--album":[0,3,1,"cmdoption-osxphotos-query-album"],"--burst":[0,3,1,"cmdoption-osxphotos-query-burst"],"--cloudasset":[0,3,1,"cmdoption-osxphotos-query-cloudasset"],"--db":[0,3,1,"cmdoption-osxphotos-query-db"],"--deleted":[0,3,1,"cmdoption-osxphotos-query-deleted"],"--deleted-only":[0,3,1,"cmdoption-osxphotos-query-deleted-only"],"--description":[0,3,1,"cmdoption-osxphotos-query-description"],"--edited":[0,3,1,"cmdoption-osxphotos-query-edited"],"--external-edit":[0,3,1,"cmdoption-osxphotos-query-external-edit"],"--favorite":[0,3,1,"cmdoption-osxphotos-query-favorite"],"--folder":[0,3,1,"cmdoption-osxphotos-query-folder"],"--from-date":[0,3,1,"cmdoption-osxphotos-query-from-date"],"--from-time":[0,3,1,"cmdoption-osxphotos-query-from-time"],"--has-comment":[0,3,1,"cmdoption-osxphotos-query-has-comment"],"--has-likes":[0,3,1,"cmdoption-osxphotos-query-has-likes"],"--has-raw":[0,3,1,"cmdoption-osxphotos-query-has-raw"],"--hdr":[0,3,1,"cmdoption-osxphotos-query-hdr"],"--hidden":[0,3,1,"cmdoption-osxphotos-query-hidden"],"--ignore-case":[0,3,1,"cmdoption-osxphotos-query-i"],"--in-album":[0,3,1,"cmdoption-osxphotos-query-in-album"],"--incloud":[0,3,1,"cmdoption-osxphotos-query-incloud"],"--is-reference":[0,3,1,"cmdoption-osxphotos-query-is-reference"],"--json":[0,3,1,"cmdoption-osxphotos-query-json"],"--keyword":[0,3,1,"cmdoption-osxphotos-query-keyword"],"--label":[0,3,1,"cmdoption-osxphotos-query-label"],"--live":[0,3,1,"cmdoption-osxphotos-query-live"],"--missing":[0,3,1,"cmdoption-osxphotos-query-missing"],"--no-comment":[0,3,1,"cmdoption-osxphotos-query-no-comment"],"--no-description":[0,3,1,"cmdoption-osxphotos-query-no-description"],"--no-likes":[0,3,1,"cmdoption-osxphotos-query-no-likes"],"--no-place":[0,3,1,"cmdoption-osxphotos-query-no-place"],"--no-title":[0,3,1,"cmdoption-osxphotos-query-no-title"],"--not-burst":[0,3,1,"cmdoption-osxphotos-query-not-burst"],"--not-cloudasset":[0,3,1,"cmdoption-osxphotos-query-not-cloudasset"],"--not-favorite":[0,3,1,"cmdoption-osxphotos-query-not-favorite"],"--not-hdr":[0,3,1,"cmdoption-osxphotos-query-not-hdr"],"--not-hidden":[0,3,1,"cmdoption-osxphotos-query-not-hidden"],"--not-in-album":[0,3,1,"cmdoption-osxphotos-query-not-in-album"],"--not-incloud":[0,3,1,"cmdoption-osxphotos-query-not-incloud"],"--not-live":[0,3,1,"cmdoption-osxphotos-query-not-live"],"--not-missing":[0,3,1,"cmdoption-osxphotos-query-not-missing"],"--not-panorama":[0,3,1,"cmdoption-osxphotos-query-not-panorama"],"--not-portrait":[0,3,1,"cmdoption-osxphotos-query-not-portrait"],"--not-screenshot":[0,3,1,"cmdoption-osxphotos-query-not-screenshot"],"--not-selfie":[0,3,1,"cmdoption-osxphotos-query-not-selfie"],"--not-shared":[0,3,1,"cmdoption-osxphotos-query-not-shared"],"--not-slow-mo":[0,3,1,"cmdoption-osxphotos-query-not-slow-mo"],"--not-time-lapse":[0,3,1,"cmdoption-osxphotos-query-not-time-lapse"],"--only-movies":[0,3,1,"cmdoption-osxphotos-query-only-movies"],"--only-photos":[0,3,1,"cmdoption-osxphotos-query-only-photos"],"--panorama":[0,3,1,"cmdoption-osxphotos-query-panorama"],"--person":[0,3,1,"cmdoption-osxphotos-query-person"],"--place":[0,3,1,"cmdoption-osxphotos-query-place"],"--portrait":[0,3,1,"cmdoption-osxphotos-query-portrait"],"--screenshot":[0,3,1,"cmdoption-osxphotos-query-screenshot"],"--selfie":[0,3,1,"cmdoption-osxphotos-query-selfie"],"--shared":[0,3,1,"cmdoption-osxphotos-query-shared"],"--slow-mo":[0,3,1,"cmdoption-osxphotos-query-slow-mo"],"--time-lapse":[0,3,1,"cmdoption-osxphotos-query-time-lapse"],"--title":[0,3,1,"cmdoption-osxphotos-query-title"],"--to-date":[0,3,1,"cmdoption-osxphotos-query-to-date"],"--to-time":[0,3,1,"cmdoption-osxphotos-query-to-time"],"--uti":[0,3,1,"cmdoption-osxphotos-query-uti"],"--uuid":[0,3,1,"cmdoption-osxphotos-query-uuid"],"--uuid-from-file":[0,3,1,"cmdoption-osxphotos-query-uuid-from-file"],"-i":[0,3,1,"cmdoption-osxphotos-query-i"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-query-arg-PHOTOS_LIBRARY"]},"osxphotos.PhotoInfo":{"export":[3,2,1,""],ExifInfo:[3,0,1,""],ExportResults:[3,0,1,""],ScoreInfo:[3,0,1,""],SearchInfo:[3,0,1,""],adjustments:[3,2,1,""],album_info:[3,2,1,""],albums:[3,2,1,""],asdict:[3,2,1,""],burst:[3,2,1,""],burst_photos:[3,2,1,""],comments:[3,2,1,""],date:[3,2,1,""],date_modified:[3,2,1,""],date_trashed:[3,2,1,""],description:[3,2,1,""],exif_info:[3,2,1,""],exiftool:[3,2,1,""],export2:[3,2,1,""],external_edit:[3,2,1,""],face_info:[3,2,1,""],favorite:[3,2,1,""],filename:[3,2,1,""],has_raw:[3,2,1,""],hasadjustments:[3,2,1,""],hdr:[3,2,1,""],height:[3,2,1,""],hidden:[3,2,1,""],import_info:[3,2,1,""],incloud:[3,2,1,""],intrash:[3,2,1,""],iscloudasset:[3,2,1,""],ismissing:[3,2,1,""],ismovie:[3,2,1,""],isphoto:[3,2,1,""],israw:[3,2,1,""],isreference:[3,2,1,""],json:[3,2,1,""],keywords:[3,2,1,""],labels:[3,2,1,""],labels_normalized:[3,2,1,""],likes:[3,2,1,""],live_photo:[3,2,1,""],location:[3,2,1,""],orientation:[3,2,1,""],original_filename:[3,2,1,""],original_filesize:[3,2,1,""],original_height:[3,2,1,""],original_orientation:[3,2,1,""],original_width:[3,2,1,""],panorama:[3,2,1,""],path:[3,2,1,""],path_edited:[3,2,1,""],path_live_photo:[3,2,1,""],path_raw:[3,2,1,""],person_info:[3,2,1,""],persons:[3,2,1,""],place:[3,2,1,""],portrait:[3,2,1,""],raw_original:[3,2,1,""],render_template:[3,2,1,""],score:[3,2,1,""],screenshot:[3,2,1,""],search_info:[3,2,1,""],search_info_normalized:[3,2,1,""],selfie:[3,2,1,""],shared:[3,2,1,""],slow_mo:[3,2,1,""],time_lapse:[3,2,1,""],title:[3,2,1,""],tzoffset:[3,2,1,""],uti:[3,2,1,""],uti_edited:[3,2,1,""],uti_original:[3,2,1,""],uti_raw:[3,2,1,""],uuid:[3,2,1,""],visible:[3,2,1,""],width:[3,2,1,""]},"osxphotos.PhotoInfo.ExifInfo":{aperture:[3,1,1,""],bit_rate:[3,1,1,""],camera_make:[3,1,1,""],camera_model:[3,1,1,""],codec:[3,1,1,""],duration:[3,1,1,""],exposure_bias:[3,1,1,""],flash_fired:[3,1,1,""],focal_length:[3,1,1,""],fps:[3,1,1,""],iso:[3,1,1,""],latitude:[3,1,1,""],lens_model:[3,1,1,""],longitude:[3,1,1,""],metering_mode:[3,1,1,""],sample_rate:[3,1,1,""],shutter_speed:[3,1,1,""],track_format:[3,1,1,""],white_balance:[3,1,1,""]},"osxphotos.PhotoInfo.ExportResults":{all_files:[3,2,1,""]},"osxphotos.PhotoInfo.ScoreInfo":{behavioral:[3,1,1,""],curation:[3,1,1,""],failure:[3,1,1,""],harmonious_color:[3,1,1,""],highlight_visibility:[3,1,1,""],immersiveness:[3,1,1,""],interaction:[3,1,1,""],interesting_subject:[3,1,1,""],intrusive_object_presence:[3,1,1,""],lively_color:[3,1,1,""],low_light:[3,1,1,""],noise:[3,1,1,""],overall:[3,1,1,""],pleasant_camera_tilt:[3,1,1,""],pleasant_composition:[3,1,1,""],pleasant_lighting:[3,1,1,""],pleasant_pattern:[3,1,1,""],pleasant_perspective:[3,1,1,""],pleasant_post_processing:[3,1,1,""],pleasant_reflection:[3,1,1,""],pleasant_symmetry:[3,1,1,""],promotion:[3,1,1,""],sharply_focused_subject:[3,1,1,""],tastefully_blurred:[3,1,1,""],well_chosen_subject:[3,1,1,""],well_framed_subject:[3,1,1,""],well_timed_shot:[3,1,1,""]},"osxphotos.PhotoInfo.SearchInfo":{activities:[3,2,1,""],all:[3,2,1,""],asdict:[3,2,1,""],bodies_of_water:[3,2,1,""],city:[3,2,1,""],country:[3,2,1,""],holidays:[3,2,1,""],labels:[3,2,1,""],locality_names:[3,2,1,""],media_types:[3,2,1,""],month:[3,2,1,""],neighborhoods:[3,2,1,""],place_names:[3,2,1,""],season:[3,2,1,""],state:[3,2,1,""],state_abbreviation:[3,2,1,""],streets:[3,2,1,""],venue_types:[3,2,1,""],venues:[3,2,1,""],year:[3,2,1,""]},"osxphotos.PhotosDB":{album_info:[3,2,1,""],album_info_shared:[3,2,1,""],albums:[3,2,1,""],albums_as_dict:[3,2,1,""],albums_shared:[3,2,1,""],albums_shared_as_dict:[3,2,1,""],db_path:[3,2,1,""],db_version:[3,2,1,""],folder_info:[3,2,1,""],folders:[3,2,1,""],get_db_connection:[3,2,1,""],get_photo:[3,2,1,""],import_info:[3,2,1,""],keywords:[3,2,1,""],keywords_as_dict:[3,2,1,""],labels:[3,2,1,""],labels_as_dict:[3,2,1,""],labels_normalized:[3,2,1,""],labels_normalized_as_dict:[3,2,1,""],library_path:[3,2,1,""],person_info:[3,2,1,""],persons:[3,2,1,""],persons_as_dict:[3,2,1,""],photos:[3,2,1,""],photos_by_uuid:[3,2,1,""]},osxphotos:{"--db":[0,3,1,"cmdoption-osxphotos-db"],"--json":[0,3,1,"cmdoption-osxphotos-json"],"--version":[0,3,1,"cmdoption-osxphotos-v"],"-v":[0,3,1,"cmdoption-osxphotos-v"],PhotoInfo:[3,0,1,""],PhotosDB:[3,0,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["std","cmdoption","program option"]},objtypes:{"0":"py:class","1":"py:attribute","2":"py:method","3":"std:cmdoption"},terms:{"120":3,"12t12":0,"1gb":1,"2000":0,"2001":0,"2019":0,"8601":0,"boolean":3,"byte":3,"case":[0,3],"class":3,"default":[0,3],"export":3,"float":3,"function":3,"import":[0,1,3],"int":3,"long":3,"new":[0,1,3],"public":3,"return":3,"true":[1,3],AND:[0,3],For:[0,3],The:[0,1,3],Then:1,These:0,Use:[0,3],__main__:1,__name__:1,_bearbeiten:0,_edit:0,_origin:0,abbrevi:3,abil:1,abl:1,about:[1,3],abov:1,absolut:3,access:3,accord:1,activ:3,actual:[0,3],add:0,added:0,adding:0,addit:[0,3],adjust:3,adjustmentsinfo:3,adob:0,advanc:1,advantag:0,ahead:3,aka:1,album:3,album_info:3,album_info_shar:3,album_nam:1,albuminfo:3,albums_as_dict:[1,3],albums_shar:3,albums_shared_as_dict:3,alic:1,all:[0,3],all_fil:3,allow:[0,1],alpha:0,alreadi:[0,3],alreai:3,also:[0,1,3],altern:[0,1],ani:[0,1,3],apertur:3,apf:0,app:[0,1,3],append:0,appl:[0,1,3],applescript:[0,3],appli:[0,3],applic:1,aren:[1,3],arg:[0,1,3],argument:[0,1],asdict:3,asset:3,associ:[0,1,3],associt:3,assum:3,asynchroun:3,attempt:[0,1,3],attribut:[0,3],author:0,auto:1,automat:0,awar:3,bar:1,becaus:1,been:[0,1,3],befor:[0,1],behavior:[0,3],below:[0,1],best:[0,3],beta:1,between:3,big:1,bit:3,bit_rat:3,bodi:3,bodies_of_wat:3,bool:3,both:[0,1],brew:1,built:1,burst:[0,3],burst_photo:3,call:[1,3],callabl:3,camera:[0,3],camera_mak:3,camera_model:3,can:[0,1],cannot:[0,3],canon:3,care:1,catalina:1,categor:3,caution:0,certain:0,chang:[0,3],charact:[1,3],citi:3,classif:[0,1],cleanup:0,cli:1,click:1,clone:[0,1],cloud:3,cloudasset:0,code:1,codec:3,collis:0,com:[1,3],comfort:1,command_nam:1,comment:[0,3],compar:3,compat:0,complex:0,compon:0,compress:[0,3],comput:3,config:0,conform:3,conjunct:0,connect:[0,3],consist:0,contain:[0,1,3],convert:[0,3],convert_to_jpeg:3,converted_to_jpeg:3,copi:[0,3],copyright:0,correct:3,correspond:0,could:[0,1],count:3,countri:3,cr2:3,creat:0,created:0,creation:3,creationd:0,criteria:3,csv:0,curat:3,current:[0,3],cursor:3,dai:0,data:[0,3],databas:[0,1,3],date:[0,3],date_modifi:3,date_trash:3,datecr:0,datetim:3,datetimeorigin:[0,3],db_path:3,db_version:3,dbfile:3,def:1,default_album:1,degre:3,delet:[0,3],deleted_directori:3,deleted_fil:3,desc:0,descend:3,descr:0,describ:1,descript:[0,1,3],description_templ:3,dest:[0,3],dest_dir:1,destin:[1,3],detail:[0,3],determin:3,dict:3,did:0,differ:[0,1,3],digikam:0,dir:1,direct:0,directli:[0,1],directori:[0,3],dirnam:3,disabl:1,disk:[0,3],doc:0,doe:[0,1,3],don:0,download:[0,1,3],drop:[0,3],dry:[0,3],dry_run:3,dump:1,duplic:1,durat:3,dure:3,dynam:0,each:[0,3],earlier:3,easiest:1,easili:1,echo:1,edit:[0,1,3],edited_nam:1,editor:[0,3],either:[0,1,3],els:[1,3],embed:0,empti:3,end:0,ensur:3,entir:3,environ:1,equival:0,error:3,error_str:3,etc:[0,1,3],even:[0,3],exact:3,exampl:[0,3],except:3,execut:1,exif:[0,3],exif_info:3,exif_upd:3,exifinfo:3,exiftool:[0,1,3],exiftool_error:3,exiftool_flag:3,exiftool_path:0,exiftool_pod:0,exiftool_warn:3,exist:[0,1,3],exit:[0,1],expand:3,expand_inplac:3,expandus:1,experiment:0,export2:3,export_as_hardlink:3,export_db:3,export_path:1,exportdb:0,exportdb_abc:3,exportdb_fil:0,exportdbinmemori:3,exportresult:3,exposure_bia:3,ext:0,extend:[0,3],extens:[0,3],extern:[0,3],external_edit:3,extract:3,face:[0,1,3],face_info:3,faceinfo:3,fail:3,failur:3,fals:3,familiar:1,faster:[0,3],favorit:[0,3],featur:0,field:3,file:[0,3],filenam:[0,1,3],filename_origin:0,filepath:1,files:3,fileutil:3,fileutilabc:3,fileutilnoop:3,find:0,finder:0,findercom:0,first:0,flag:[0,3],flash_fir:3,flexibl:1,focal_length:3,folder:[0,3],folder_album:[0,3],folder_info:3,folderinfo:3,follow:[0,1],foo:1,forc:[0,3],form:0,format:[0,1,3],found:[0,1,3],fps:3,from:[0,3],from_dat:[0,3],from_tim:0,front:[0,3],full:[0,3],gener:3,geoloc:[0,3],get:[1,3],get_db_connect:3,get_photo:3,github:1,give:0,gpscoordin:0,gpslatitud:0,gpslatituderef:0,gpslongitud:0,gpslongituderef:0,gpsposit:0,gpu:0,group:[0,3],had:0,handl:0,happen:0,hardlink:[0,3],harmonious_color:3,has:[0,1,3],has_raw:3,hasadjust:[1,3],have:[0,3],haven:0,hdr:[0,3],headlin:0,heic:0,height:3,help:1,here:0,hidden:[0,3],high:0,highli:0,highlight_vis:3,hold:3,holidai:3,homebrew:1,how:0,html:0,http:[0,1,3],icloud:[0,3],identifi:[0,3],ignor:[0,3],ignore_date_modifi:3,ignore_signatur:3,imag:[0,1,3],imagedescript:0,img_1234:[0,3],immedi:3,immers:3,implement:0,import_info:3,importinfo:3,incloud:[0,3],includ:[0,1,3],incorrect:3,increment:3,index:1,individu:3,info:[1,3],inform:[0,1,3],initi:3,inplace_sep:3,insensit:0,instal:[0,3],instanc:3,instead:[0,3],instruct:1,intend:0,interact:[0,1,3],interesting_subject:3,internet:0,intrash:3,intrusive_object_pres:3,invalid:[1,3],iptc:[0,3],is_valid_filepath:1,iscloudasset:3,isdir:1,ismiss:[1,3],ismovi:3,iso:[0,3],isphoto:3,israw:3,isrefer:3,item:[0,3],iterm2:0,john:1,join:[1,3],jpeg:[0,3],jpeg_ext:3,jpeg_qual:[0,3],jpg:[0,3],json:[0,3],just:1,keyword:3,keyword_templ:3,keywords_as_dict:[1,3],know:3,label:3,labels_as_dict:3,labels_norm:3,labels_normalized_as_dict:3,laps:[0,3],larg:1,last:[0,1],later:0,latest:1,latitud:3,lead:[0,3],learn:3,lens_model:3,level:[0,3],librari:[0,3],library_path:[1,3],licens:[0,1],lightroom:0,liglob:3,like:[0,1,3],list:[1,3],live:[0,3],live_photo:3,lively_color:3,load:0,local:3,locality_nam:3,locat:3,log:3,longitud:3,look:[0,1,3],lot:0,low_light:3,mac:[0,1],machin:[1,3],maco:[0,1],mai:[0,3],main:1,make:1,makedir:1,mangl:3,mani:0,mark:[0,3],match:[0,3],maximum:[0,3],mean:3,media:3,media_typ:[1,3],memori:3,merg:[0,3],merge_exif_keyword:3,merge_exif_person:3,messag:1,metadata:[0,3],metering_mod:3,method:3,microsoft:0,might:3,minor:0,miss:[0,1,3],mode:[0,3],modif:[0,3],modifi:0,modifyd:[0,3],modul:1,month:3,more:[0,1,3],most:0,motion:[0,3],mov:[0,3],movi:[0,3],multi:[0,3],multipl:[0,1],must:[0,3],mysteri:3,naiv:3,name:[0,3],necessari:1,need:1,neighborhood:3,neither:[0,1],nois:3,non:[0,3],none:[1,3],none_str:3,normal:[0,3],note:[0,1,3],notic:3,now:1,object:3,obvious:0,occur:3,offset:3,offsettimeorigin:0,older:3,one:[0,3],onli:[0,3],open:[0,1],option:[0,1,3],order:[0,1,3],org:[0,3],organ:0,orient:3,origin:[0,1,3],original_filenam:[1,3],original_files:3,original_height:3,original_nam:0,original_orient:3,original_width:3,osxphotos_export:0,other:[0,1,3],otherwis:[1,3],out:[0,1],output:[0,3],outsid:3,overal:3,overrid:0,overwrit:[0,3],own:[0,1],page:1,pair:[0,3],panorama:[0,3],paramet:[1,3],part:[0,3],particular:3,pass:[0,3],path:[0,1,3],path_edit:[1,3],path_live_photo:3,path_raw:3,path_sep:3,pathlib:1,pathvalid:1,per:0,permit:0,person:3,person_info:3,personinfo:3,personinimag:0,persons_as_dict:[1,3],photo:[0,3],photo_ext:0,photo_filenam:0,photoinfo:3,photokit:0,photonam:0,photoname_bearbeiten:0,photoname_edit:0,photos_by_uuid:3,photos_librari:[0,1],photosdb:[1,3],photoslibrari:[0,1],phototempl:3,pictur:[0,1,3],pixel:3,place:[1,3],place_nam:3,placeinfo:3,platform:1,pleasant_camera_tilt:3,pleasant_composit:3,pleasant_light:3,pleasant_pattern:3,pleasant_perspect:3,pleasant_post_process:3,pleasant_reflect:3,pleasant_symmetri:3,png:0,portrait:[0,3],posit:[0,1],pre:1,preced:0,present:0,preview:0,previous:0,primari:0,print:[0,3],process:[0,3],produc:3,project:1,promot:3,properti:3,provid:[0,1,3],pylint:1,pypi:1,python3:1,python:1,qualiti:[0,3],queri:1,quicktim:[0,3],rais:3,rang:[0,3],raw:[0,3],raw_origin:3,raw_photo:3,read:1,readabl:3,recent:[0,3],recommend:1,refer:[0,1,3],referenc:0,regardless:3,region:0,relat:3,releas:1,reliabl:0,remov:0,renam:0,render:[0,3],render_templ:3,rendered_str:3,repeat:0,replac:[0,3],replace_keyword:3,repo:1,report:0,repres:3,represent:3,requir:[0,1,3],result:[0,3],reus:0,revers:[0,3],rhettbul:1,run:[0,1,3],same:[0,3],sample_r:3,sanit:3,sanitize_filepath:1,save:0,score:3,scoreinfo:3,screenshot:[0,3],script:0,search:[0,1,3],search_info:3,search_info_norm:3,searchinfo:3,season:3,second:3,see:[0,1,3],select:3,self:3,selfi:[0,3],sep:3,separ:3,session:3,set:[0,3],setup:1,setuptool:1,share:[0,3],sharply_focused_subject:3,should:1,show:[0,1,3],shutter_spe:3,sidecar:[0,3],sidecar_drop_ext:3,sidecar_exiftool:3,sidecar_exiftool_skip:3,sidecar_exiftool_written:3,sidecar_ext:0,sidecar_json:3,sidecar_json_skip:3,sidecar_json_written:3,sidecar_xmp:3,sidecar_xmp_skip:3,sidecar_xmp_written:3,sierra:1,signatur:[0,3],silent:3,simpl:1,simpli:1,singl:[0,3],size:0,skip:[0,1,3],slow:[0,3],slow_mo:3,smith:1,some:3,someth:3,sort:3,sourc:3,space:[0,3],specif:[1,3],specifi:[0,3],spotlight:[0,1],sqlite3:3,start:[0,1],state:[0,3],state_abbrevi:3,statu:3,still:3,storat:3,store:[0,3],str:3,street:3,string:[0,3],strip:[0,3],subfold:0,subject:0,subsequ:0,substitut:3,suffix:[0,3],sur:1,sure:[0,1],synch:[0,3],sys:1,system:0,tabl:3,tag:[0,1,3],tagnam:0,tagslist:0,take:1,taken:0,tastefully_blur:3,templat:[0,1,3],template_str:3,term:3,termin:[0,1],test:[0,1],text:3,than:[0,1,3],thei:[0,3],them:[0,3],thi:[0,1,3],thu:1,time:[0,3],time_laps:3,timecr:0,timeout:3,timezon:[0,3],titl:[0,1,3],to_dat:[0,3],to_tim:0,todai:0,toml:0,top:[0,3],topic:0,touch:[0,3],touch_fil:3,town:3,track_format:3,trail:[0,3],trash:3,treat:[0,3],tupl:3,two:0,type:[0,3],tzoffset:3,unedit:1,unfil:1,uniform:[0,3],unless:3,unlik:0,unmatch:3,until:[1,3],updat:[0,3],upon:[0,3],use:[0,3],use_albums_as_keyword:3,use_persons_as_keyword:3,use_photokit:3,use_photos_export:3,useabl:0,used:[0,1,3],useful:0,user:3,userdata:0,uses:[0,3],using:[0,3],utc:3,uti:[0,3],uti_edit:3,uti_origin:3,uti_raw:3,util:[1,3],uuid:[0,1,3],vacat:3,valid:[0,1,3],valu:[0,1,3],variou:3,venu:3,venue_typ:3,verbos:[0,3],veri:1,verifi:1,versa:1,version:[0,1,3],via:[0,1,3],vice:1,video:[0,3],virtual:1,visbl:3,visibl:3,volum:0,wai:1,want:[0,1],warn:[0,1,3],water:3,wed:3,well:1,well_chosen_subject:3,well_framed_subject:3,well_timed_shot:3,went:0,were:[0,3],what:[0,3],when:[0,3],whether:0,which:[0,1,3],white:3,white_bal:3,whitespac:0,whose:0,width:3,without:0,work:[0,1,3],would:0,write:[0,3],written:[0,3],xattr:0,xattr_skip:3,xattr_written:3,xmp:[0,3],year:[0,3],yet:3,you:[0,1,3],your:[0,1]},titles:["osxphotos command line interface (CLI)","Welcome to osxphotos\u2019s documentation!","osxphotos","osxphotos package"],titleterms:{"default":1,"export":[0,1],about:0,add:1,album:[0,1],all:1,awail:1,base:1,chang:1,cli:0,command:[0,1],countri:1,creat:1,creation:1,date:1,desktop:1,digit:1,directori:1,document:1,dump:0,exampl:1,exif:1,file:1,find:1,folder:1,from:1,full:1,git:1,group:1,help:0,higher:1,indic:1,info:0,instal:1,interfac:[0,1],json:1,keyword:[0,1],kid:1,label:[0,1],librari:1,line:[0,1],list:0,media:1,metadata:1,modul:3,month:1,name:1,nocountri:1,onli:1,oper:1,osxphoto:[0,1,2,3],ouput:1,output:1,packag:[1,3],person:[0,1],photo:1,pip:1,pipx:1,place:0,print:1,queri:0,repositori:1,result:1,specifi:1,structur:1,support:1,system:1,tabl:1,type:1,updat:1,usag:1,use:1,uses:1,using:1,verbos:1,welcom:1,what:1,when:1,write:1,year:1}}) \ No newline at end of file +Search.setIndex({docnames:["cli","index","modules","reference"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["cli.rst","index.rst","modules.rst","reference.rst"],objects:{"osxphotos-albums":{"--db":[0,3,1,"cmdoption-osxphotos-albums-db"],"--json":[0,3,1,"cmdoption-osxphotos-albums-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-albums-arg-PHOTOS_LIBRARY"]},"osxphotos-dump":{"--db":[0,3,1,"cmdoption-osxphotos-dump-db"],"--deleted":[0,3,1,"cmdoption-osxphotos-dump-deleted"],"--deleted-only":[0,3,1,"cmdoption-osxphotos-dump-deleted-only"],"--json":[0,3,1,"cmdoption-osxphotos-dump-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-dump-arg-PHOTOS_LIBRARY"]},"osxphotos-export":{"--album":[0,3,1,"cmdoption-osxphotos-export-album"],"--album-keyword":[0,3,1,"cmdoption-osxphotos-export-album-keyword"],"--burst":[0,3,1,"cmdoption-osxphotos-export-burst"],"--cleanup":[0,3,1,"cmdoption-osxphotos-export-cleanup"],"--convert-to-jpeg":[0,3,1,"cmdoption-osxphotos-export-convert-to-jpeg"],"--current-name":[0,3,1,"cmdoption-osxphotos-export-current-name"],"--db":[0,3,1,"cmdoption-osxphotos-export-db"],"--deleted":[0,3,1,"cmdoption-osxphotos-export-deleted"],"--deleted-only":[0,3,1,"cmdoption-osxphotos-export-deleted-only"],"--description":[0,3,1,"cmdoption-osxphotos-export-description"],"--description-template":[0,3,1,"cmdoption-osxphotos-export-description-template"],"--directory":[0,3,1,"cmdoption-osxphotos-export-directory"],"--download-missing":[0,3,1,"cmdoption-osxphotos-export-download-missing"],"--dry-run":[0,3,1,"cmdoption-osxphotos-export-dry-run"],"--edited":[0,3,1,"cmdoption-osxphotos-export-edited"],"--edited-suffix":[0,3,1,"cmdoption-osxphotos-export-edited-suffix"],"--exiftool":[0,3,1,"cmdoption-osxphotos-export-exiftool"],"--exiftool-merge-keywords":[0,3,1,"cmdoption-osxphotos-export-exiftool-merge-keywords"],"--exiftool-merge-persons":[0,3,1,"cmdoption-osxphotos-export-exiftool-merge-persons"],"--exiftool-option":[0,3,1,"cmdoption-osxphotos-export-exiftool-option"],"--exiftool-path":[0,3,1,"cmdoption-osxphotos-export-exiftool-path"],"--export-as-hardlink":[0,3,1,"cmdoption-osxphotos-export-export-as-hardlink"],"--export-by-date":[0,3,1,"cmdoption-osxphotos-export-export-by-date"],"--exportdb":[0,3,1,"cmdoption-osxphotos-export-exportdb"],"--external-edit":[0,3,1,"cmdoption-osxphotos-export-external-edit"],"--favorite":[0,3,1,"cmdoption-osxphotos-export-favorite"],"--filename":[0,3,1,"cmdoption-osxphotos-export-filename"],"--finder-tag-keywords":[0,3,1,"cmdoption-osxphotos-export-finder-tag-keywords"],"--finder-tag-template":[0,3,1,"cmdoption-osxphotos-export-finder-tag-template"],"--folder":[0,3,1,"cmdoption-osxphotos-export-folder"],"--from-date":[0,3,1,"cmdoption-osxphotos-export-from-date"],"--from-time":[0,3,1,"cmdoption-osxphotos-export-from-time"],"--has-comment":[0,3,1,"cmdoption-osxphotos-export-has-comment"],"--has-likes":[0,3,1,"cmdoption-osxphotos-export-has-likes"],"--has-raw":[0,3,1,"cmdoption-osxphotos-export-has-raw"],"--hdr":[0,3,1,"cmdoption-osxphotos-export-hdr"],"--hidden":[0,3,1,"cmdoption-osxphotos-export-hidden"],"--ignore-case":[0,3,1,"cmdoption-osxphotos-export-i"],"--ignore-date-modified":[0,3,1,"cmdoption-osxphotos-export-ignore-date-modified"],"--ignore-signature":[0,3,1,"cmdoption-osxphotos-export-ignore-signature"],"--in-album":[0,3,1,"cmdoption-osxphotos-export-in-album"],"--is-reference":[0,3,1,"cmdoption-osxphotos-export-is-reference"],"--jpeg-ext":[0,3,1,"cmdoption-osxphotos-export-jpeg-ext"],"--jpeg-quality":[0,3,1,"cmdoption-osxphotos-export-jpeg-quality"],"--keyword":[0,3,1,"cmdoption-osxphotos-export-keyword"],"--keyword-template":[0,3,1,"cmdoption-osxphotos-export-keyword-template"],"--label":[0,3,1,"cmdoption-osxphotos-export-label"],"--live":[0,3,1,"cmdoption-osxphotos-export-live"],"--load-config":[0,3,1,"cmdoption-osxphotos-export-load-config"],"--missing":[0,3,1,"cmdoption-osxphotos-export-missing"],"--no-comment":[0,3,1,"cmdoption-osxphotos-export-no-comment"],"--no-description":[0,3,1,"cmdoption-osxphotos-export-no-description"],"--no-likes":[0,3,1,"cmdoption-osxphotos-export-no-likes"],"--no-place":[0,3,1,"cmdoption-osxphotos-export-no-place"],"--no-title":[0,3,1,"cmdoption-osxphotos-export-no-title"],"--not-burst":[0,3,1,"cmdoption-osxphotos-export-not-burst"],"--not-favorite":[0,3,1,"cmdoption-osxphotos-export-not-favorite"],"--not-hdr":[0,3,1,"cmdoption-osxphotos-export-not-hdr"],"--not-hidden":[0,3,1,"cmdoption-osxphotos-export-not-hidden"],"--not-in-album":[0,3,1,"cmdoption-osxphotos-export-not-in-album"],"--not-live":[0,3,1,"cmdoption-osxphotos-export-not-live"],"--not-panorama":[0,3,1,"cmdoption-osxphotos-export-not-panorama"],"--not-portrait":[0,3,1,"cmdoption-osxphotos-export-not-portrait"],"--not-screenshot":[0,3,1,"cmdoption-osxphotos-export-not-screenshot"],"--not-selfie":[0,3,1,"cmdoption-osxphotos-export-not-selfie"],"--not-shared":[0,3,1,"cmdoption-osxphotos-export-not-shared"],"--not-slow-mo":[0,3,1,"cmdoption-osxphotos-export-not-slow-mo"],"--not-time-lapse":[0,3,1,"cmdoption-osxphotos-export-not-time-lapse"],"--only-movies":[0,3,1,"cmdoption-osxphotos-export-only-movies"],"--only-new":[0,3,1,"cmdoption-osxphotos-export-only-new"],"--only-photos":[0,3,1,"cmdoption-osxphotos-export-only-photos"],"--original-suffix":[0,3,1,"cmdoption-osxphotos-export-original-suffix"],"--overwrite":[0,3,1,"cmdoption-osxphotos-export-overwrite"],"--panorama":[0,3,1,"cmdoption-osxphotos-export-panorama"],"--person":[0,3,1,"cmdoption-osxphotos-export-person"],"--person-keyword":[0,3,1,"cmdoption-osxphotos-export-person-keyword"],"--place":[0,3,1,"cmdoption-osxphotos-export-place"],"--portrait":[0,3,1,"cmdoption-osxphotos-export-portrait"],"--replace-keywords":[0,3,1,"cmdoption-osxphotos-export-replace-keywords"],"--report":[0,3,1,"cmdoption-osxphotos-export-report"],"--retry":[0,3,1,"cmdoption-osxphotos-export-retry"],"--save-config":[0,3,1,"cmdoption-osxphotos-export-save-config"],"--screenshot":[0,3,1,"cmdoption-osxphotos-export-screenshot"],"--selfie":[0,3,1,"cmdoption-osxphotos-export-selfie"],"--shared":[0,3,1,"cmdoption-osxphotos-export-shared"],"--sidecar":[0,3,1,"cmdoption-osxphotos-export-sidecar"],"--sidecar-drop-ext":[0,3,1,"cmdoption-osxphotos-export-sidecar-drop-ext"],"--skip-bursts":[0,3,1,"cmdoption-osxphotos-export-skip-bursts"],"--skip-edited":[0,3,1,"cmdoption-osxphotos-export-skip-edited"],"--skip-live":[0,3,1,"cmdoption-osxphotos-export-skip-live"],"--skip-original-if-edited":[0,3,1,"cmdoption-osxphotos-export-skip-original-if-edited"],"--skip-raw":[0,3,1,"cmdoption-osxphotos-export-skip-raw"],"--slow-mo":[0,3,1,"cmdoption-osxphotos-export-slow-mo"],"--strip":[0,3,1,"cmdoption-osxphotos-export-strip"],"--time-lapse":[0,3,1,"cmdoption-osxphotos-export-time-lapse"],"--title":[0,3,1,"cmdoption-osxphotos-export-title"],"--to-date":[0,3,1,"cmdoption-osxphotos-export-to-date"],"--to-time":[0,3,1,"cmdoption-osxphotos-export-to-time"],"--touch-file":[0,3,1,"cmdoption-osxphotos-export-touch-file"],"--update":[0,3,1,"cmdoption-osxphotos-export-update"],"--use-photokit":[0,3,1,"cmdoption-osxphotos-export-use-photokit"],"--use-photos-export":[0,3,1,"cmdoption-osxphotos-export-use-photos-export"],"--uti":[0,3,1,"cmdoption-osxphotos-export-uti"],"--uuid":[0,3,1,"cmdoption-osxphotos-export-uuid"],"--uuid-from-file":[0,3,1,"cmdoption-osxphotos-export-uuid-from-file"],"--verbose":[0,3,1,"cmdoption-osxphotos-export-V"],"--xattr-template":[0,3,1,"cmdoption-osxphotos-export-xattr-template"],"-V":[0,3,1,"cmdoption-osxphotos-export-V"],"-i":[0,3,1,"cmdoption-osxphotos-export-i"],DEST:[0,3,1,"cmdoption-osxphotos-export-arg-DEST"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-export-arg-PHOTOS_LIBRARY"]},"osxphotos-help":{TOPIC:[0,3,1,"cmdoption-osxphotos-help-arg-TOPIC"]},"osxphotos-info":{"--db":[0,3,1,"cmdoption-osxphotos-info-db"],"--json":[0,3,1,"cmdoption-osxphotos-info-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-info-arg-PHOTOS_LIBRARY"]},"osxphotos-keywords":{"--db":[0,3,1,"cmdoption-osxphotos-keywords-db"],"--json":[0,3,1,"cmdoption-osxphotos-keywords-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-keywords-arg-PHOTOS_LIBRARY"]},"osxphotos-labels":{"--db":[0,3,1,"cmdoption-osxphotos-labels-db"],"--json":[0,3,1,"cmdoption-osxphotos-labels-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-labels-arg-PHOTOS_LIBRARY"]},"osxphotos-list":{"--json":[0,3,1,"cmdoption-osxphotos-list-json"]},"osxphotos-persons":{"--db":[0,3,1,"cmdoption-osxphotos-persons-db"],"--json":[0,3,1,"cmdoption-osxphotos-persons-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-persons-arg-PHOTOS_LIBRARY"]},"osxphotos-places":{"--db":[0,3,1,"cmdoption-osxphotos-places-db"],"--json":[0,3,1,"cmdoption-osxphotos-places-json"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-places-arg-PHOTOS_LIBRARY"]},"osxphotos-query":{"--album":[0,3,1,"cmdoption-osxphotos-query-album"],"--burst":[0,3,1,"cmdoption-osxphotos-query-burst"],"--cloudasset":[0,3,1,"cmdoption-osxphotos-query-cloudasset"],"--db":[0,3,1,"cmdoption-osxphotos-query-db"],"--deleted":[0,3,1,"cmdoption-osxphotos-query-deleted"],"--deleted-only":[0,3,1,"cmdoption-osxphotos-query-deleted-only"],"--description":[0,3,1,"cmdoption-osxphotos-query-description"],"--edited":[0,3,1,"cmdoption-osxphotos-query-edited"],"--external-edit":[0,3,1,"cmdoption-osxphotos-query-external-edit"],"--favorite":[0,3,1,"cmdoption-osxphotos-query-favorite"],"--folder":[0,3,1,"cmdoption-osxphotos-query-folder"],"--from-date":[0,3,1,"cmdoption-osxphotos-query-from-date"],"--from-time":[0,3,1,"cmdoption-osxphotos-query-from-time"],"--has-comment":[0,3,1,"cmdoption-osxphotos-query-has-comment"],"--has-likes":[0,3,1,"cmdoption-osxphotos-query-has-likes"],"--has-raw":[0,3,1,"cmdoption-osxphotos-query-has-raw"],"--hdr":[0,3,1,"cmdoption-osxphotos-query-hdr"],"--hidden":[0,3,1,"cmdoption-osxphotos-query-hidden"],"--ignore-case":[0,3,1,"cmdoption-osxphotos-query-i"],"--in-album":[0,3,1,"cmdoption-osxphotos-query-in-album"],"--incloud":[0,3,1,"cmdoption-osxphotos-query-incloud"],"--is-reference":[0,3,1,"cmdoption-osxphotos-query-is-reference"],"--json":[0,3,1,"cmdoption-osxphotos-query-json"],"--keyword":[0,3,1,"cmdoption-osxphotos-query-keyword"],"--label":[0,3,1,"cmdoption-osxphotos-query-label"],"--live":[0,3,1,"cmdoption-osxphotos-query-live"],"--missing":[0,3,1,"cmdoption-osxphotos-query-missing"],"--no-comment":[0,3,1,"cmdoption-osxphotos-query-no-comment"],"--no-description":[0,3,1,"cmdoption-osxphotos-query-no-description"],"--no-likes":[0,3,1,"cmdoption-osxphotos-query-no-likes"],"--no-place":[0,3,1,"cmdoption-osxphotos-query-no-place"],"--no-title":[0,3,1,"cmdoption-osxphotos-query-no-title"],"--not-burst":[0,3,1,"cmdoption-osxphotos-query-not-burst"],"--not-cloudasset":[0,3,1,"cmdoption-osxphotos-query-not-cloudasset"],"--not-favorite":[0,3,1,"cmdoption-osxphotos-query-not-favorite"],"--not-hdr":[0,3,1,"cmdoption-osxphotos-query-not-hdr"],"--not-hidden":[0,3,1,"cmdoption-osxphotos-query-not-hidden"],"--not-in-album":[0,3,1,"cmdoption-osxphotos-query-not-in-album"],"--not-incloud":[0,3,1,"cmdoption-osxphotos-query-not-incloud"],"--not-live":[0,3,1,"cmdoption-osxphotos-query-not-live"],"--not-missing":[0,3,1,"cmdoption-osxphotos-query-not-missing"],"--not-panorama":[0,3,1,"cmdoption-osxphotos-query-not-panorama"],"--not-portrait":[0,3,1,"cmdoption-osxphotos-query-not-portrait"],"--not-screenshot":[0,3,1,"cmdoption-osxphotos-query-not-screenshot"],"--not-selfie":[0,3,1,"cmdoption-osxphotos-query-not-selfie"],"--not-shared":[0,3,1,"cmdoption-osxphotos-query-not-shared"],"--not-slow-mo":[0,3,1,"cmdoption-osxphotos-query-not-slow-mo"],"--not-time-lapse":[0,3,1,"cmdoption-osxphotos-query-not-time-lapse"],"--only-movies":[0,3,1,"cmdoption-osxphotos-query-only-movies"],"--only-photos":[0,3,1,"cmdoption-osxphotos-query-only-photos"],"--panorama":[0,3,1,"cmdoption-osxphotos-query-panorama"],"--person":[0,3,1,"cmdoption-osxphotos-query-person"],"--place":[0,3,1,"cmdoption-osxphotos-query-place"],"--portrait":[0,3,1,"cmdoption-osxphotos-query-portrait"],"--screenshot":[0,3,1,"cmdoption-osxphotos-query-screenshot"],"--selfie":[0,3,1,"cmdoption-osxphotos-query-selfie"],"--shared":[0,3,1,"cmdoption-osxphotos-query-shared"],"--slow-mo":[0,3,1,"cmdoption-osxphotos-query-slow-mo"],"--time-lapse":[0,3,1,"cmdoption-osxphotos-query-time-lapse"],"--title":[0,3,1,"cmdoption-osxphotos-query-title"],"--to-date":[0,3,1,"cmdoption-osxphotos-query-to-date"],"--to-time":[0,3,1,"cmdoption-osxphotos-query-to-time"],"--uti":[0,3,1,"cmdoption-osxphotos-query-uti"],"--uuid":[0,3,1,"cmdoption-osxphotos-query-uuid"],"--uuid-from-file":[0,3,1,"cmdoption-osxphotos-query-uuid-from-file"],"-i":[0,3,1,"cmdoption-osxphotos-query-i"],PHOTOS_LIBRARY:[0,3,1,"cmdoption-osxphotos-query-arg-PHOTOS_LIBRARY"]},"osxphotos.PhotoInfo":{"export":[3,2,1,""],ExifInfo:[3,0,1,""],ExportResults:[3,0,1,""],ScoreInfo:[3,0,1,""],SearchInfo:[3,0,1,""],adjustments:[3,2,1,""],album_info:[3,2,1,""],albums:[3,2,1,""],asdict:[3,2,1,""],burst:[3,2,1,""],burst_album_info:[3,2,1,""],burst_albums:[3,2,1,""],burst_photos:[3,2,1,""],burst_selected:[3,2,1,""],comments:[3,2,1,""],date:[3,2,1,""],date_modified:[3,2,1,""],date_trashed:[3,2,1,""],description:[3,2,1,""],exif_info:[3,2,1,""],exiftool:[3,2,1,""],export2:[3,2,1,""],external_edit:[3,2,1,""],face_info:[3,2,1,""],favorite:[3,2,1,""],filename:[3,2,1,""],has_raw:[3,2,1,""],hasadjustments:[3,2,1,""],hdr:[3,2,1,""],height:[3,2,1,""],hidden:[3,2,1,""],import_info:[3,2,1,""],incloud:[3,2,1,""],intrash:[3,2,1,""],iscloudasset:[3,2,1,""],ismissing:[3,2,1,""],ismovie:[3,2,1,""],isphoto:[3,2,1,""],israw:[3,2,1,""],isreference:[3,2,1,""],json:[3,2,1,""],keywords:[3,2,1,""],labels:[3,2,1,""],labels_normalized:[3,2,1,""],likes:[3,2,1,""],live_photo:[3,2,1,""],location:[3,2,1,""],orientation:[3,2,1,""],original_filename:[3,2,1,""],original_filesize:[3,2,1,""],original_height:[3,2,1,""],original_orientation:[3,2,1,""],original_width:[3,2,1,""],panorama:[3,2,1,""],path:[3,2,1,""],path_edited:[3,2,1,""],path_live_photo:[3,2,1,""],path_raw:[3,2,1,""],person_info:[3,2,1,""],persons:[3,2,1,""],place:[3,2,1,""],portrait:[3,2,1,""],raw_original:[3,2,1,""],render_template:[3,2,1,""],score:[3,2,1,""],screenshot:[3,2,1,""],search_info:[3,2,1,""],search_info_normalized:[3,2,1,""],selfie:[3,2,1,""],shared:[3,2,1,""],slow_mo:[3,2,1,""],time_lapse:[3,2,1,""],title:[3,2,1,""],tzoffset:[3,2,1,""],uti:[3,2,1,""],uti_edited:[3,2,1,""],uti_original:[3,2,1,""],uti_raw:[3,2,1,""],uuid:[3,2,1,""],visible:[3,2,1,""],width:[3,2,1,""]},"osxphotos.PhotoInfo.ExifInfo":{aperture:[3,1,1,""],bit_rate:[3,1,1,""],camera_make:[3,1,1,""],camera_model:[3,1,1,""],codec:[3,1,1,""],duration:[3,1,1,""],exposure_bias:[3,1,1,""],flash_fired:[3,1,1,""],focal_length:[3,1,1,""],fps:[3,1,1,""],iso:[3,1,1,""],latitude:[3,1,1,""],lens_model:[3,1,1,""],longitude:[3,1,1,""],metering_mode:[3,1,1,""],sample_rate:[3,1,1,""],shutter_speed:[3,1,1,""],track_format:[3,1,1,""],white_balance:[3,1,1,""]},"osxphotos.PhotoInfo.ExportResults":{all_files:[3,2,1,""]},"osxphotos.PhotoInfo.ScoreInfo":{behavioral:[3,1,1,""],curation:[3,1,1,""],failure:[3,1,1,""],harmonious_color:[3,1,1,""],highlight_visibility:[3,1,1,""],immersiveness:[3,1,1,""],interaction:[3,1,1,""],interesting_subject:[3,1,1,""],intrusive_object_presence:[3,1,1,""],lively_color:[3,1,1,""],low_light:[3,1,1,""],noise:[3,1,1,""],overall:[3,1,1,""],pleasant_camera_tilt:[3,1,1,""],pleasant_composition:[3,1,1,""],pleasant_lighting:[3,1,1,""],pleasant_pattern:[3,1,1,""],pleasant_perspective:[3,1,1,""],pleasant_post_processing:[3,1,1,""],pleasant_reflection:[3,1,1,""],pleasant_symmetry:[3,1,1,""],promotion:[3,1,1,""],sharply_focused_subject:[3,1,1,""],tastefully_blurred:[3,1,1,""],well_chosen_subject:[3,1,1,""],well_framed_subject:[3,1,1,""],well_timed_shot:[3,1,1,""]},"osxphotos.PhotoInfo.SearchInfo":{activities:[3,2,1,""],all:[3,2,1,""],asdict:[3,2,1,""],bodies_of_water:[3,2,1,""],city:[3,2,1,""],country:[3,2,1,""],holidays:[3,2,1,""],labels:[3,2,1,""],locality_names:[3,2,1,""],media_types:[3,2,1,""],month:[3,2,1,""],neighborhoods:[3,2,1,""],place_names:[3,2,1,""],season:[3,2,1,""],state:[3,2,1,""],state_abbreviation:[3,2,1,""],streets:[3,2,1,""],venue_types:[3,2,1,""],venues:[3,2,1,""],year:[3,2,1,""]},"osxphotos.PhotosDB":{album_info:[3,2,1,""],album_info_shared:[3,2,1,""],albums:[3,2,1,""],albums_as_dict:[3,2,1,""],albums_shared:[3,2,1,""],albums_shared_as_dict:[3,2,1,""],db_path:[3,2,1,""],db_version:[3,2,1,""],folder_info:[3,2,1,""],folders:[3,2,1,""],get_db_connection:[3,2,1,""],get_photo:[3,2,1,""],import_info:[3,2,1,""],keywords:[3,2,1,""],keywords_as_dict:[3,2,1,""],labels:[3,2,1,""],labels_as_dict:[3,2,1,""],labels_normalized:[3,2,1,""],labels_normalized_as_dict:[3,2,1,""],library_path:[3,2,1,""],person_info:[3,2,1,""],persons:[3,2,1,""],persons_as_dict:[3,2,1,""],photos:[3,2,1,""],photos_by_uuid:[3,2,1,""]},osxphotos:{"--db":[0,3,1,"cmdoption-osxphotos-db"],"--json":[0,3,1,"cmdoption-osxphotos-json"],"--version":[0,3,1,"cmdoption-osxphotos-v"],"-v":[0,3,1,"cmdoption-osxphotos-v"],PhotoInfo:[3,0,1,""],PhotosDB:[3,0,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["std","cmdoption","program option"]},objtypes:{"0":"py:class","1":"py:attribute","2":"py:method","3":"std:cmdoption"},terms:{"120":3,"12t12":0,"1gb":1,"2000":0,"2001":0,"2019":0,"8601":0,"boolean":3,"byte":3,"case":[0,3],"class":3,"default":[0,3],"export":3,"float":3,"function":3,"import":[0,1,3],"int":3,"long":3,"new":[0,1,3],"public":3,"return":3,"true":[1,3],AND:[0,3],For:[0,3],The:[0,1,3],Then:1,These:0,Use:[0,3],__main__:1,__name__:1,_bearbeiten:0,_edit:0,_origin:0,abbrevi:3,abil:1,abl:1,about:[1,3],abov:1,absolut:3,access:3,accord:1,activ:3,actual:[0,3],add:0,added:0,adding:0,addit:[0,3],adjust:3,adjustmentsinfo:3,adob:0,advanc:1,advantag:0,ahead:3,aka:1,album:3,album_info:3,album_info_shar:3,album_nam:1,albuminfo:3,albums_as_dict:[1,3],albums_shar:3,albums_shared_as_dict:3,alic:1,all:[0,3],all_fil:3,allow:[0,1],alpha:0,alreadi:[0,3],alreai:3,also:[0,1,3],altern:[0,1],ani:[0,1,3],apertur:3,apf:0,app:[0,1,3],append:0,appl:[0,1,3],applescript:[0,3],appli:[0,3],applic:1,aren:[1,3],arg:[0,1,3],argument:[0,1],asdict:3,asset:3,associ:[0,1,3],associt:3,assum:3,asynchroun:3,attempt:[0,1,3],attribut:[0,3],author:0,auto:1,automat:0,awar:3,bar:1,becaus:1,been:[0,1,3],befor:[0,1],behavior:[0,3],below:[0,1],best:[0,3],beta:1,between:3,big:1,bit:3,bit_rat:3,bodi:3,bodies_of_wat:3,bool:3,both:[0,1],brew:1,built:1,burst:[0,3],burst_album:3,burst_album_info:3,burst_photo:3,burst_select:3,call:[1,3],callabl:3,camera:[0,3],camera_mak:3,camera_model:3,can:[0,1],cannot:[0,3],canon:3,care:1,catalina:1,categor:3,caution:0,certain:0,chang:[0,3],charact:[1,3],citi:3,classif:[0,1],cleanup:0,cli:1,click:1,clone:[0,1],cloud:3,cloudasset:0,code:1,codec:3,collis:0,com:[1,3],comfort:1,command_nam:1,comment:[0,3],compar:3,compat:0,complex:0,compon:0,compress:[0,3],comput:3,config:0,conform:3,conjunct:0,connect:[0,3],consist:0,contain:[0,1,3],convert:[0,3],convert_to_jpeg:3,converted_to_jpeg:3,copi:[0,3],copyright:0,correct:3,correspond:0,could:[0,1],count:3,countri:3,cr2:3,creat:0,created:0,creation:3,creationd:0,criteria:3,csv:0,curat:3,current:[0,3],cursor:3,dai:0,data:[0,3],databas:[0,1,3],date:[0,3],date_modifi:3,date_trash:3,datecr:0,datetim:3,datetimeorigin:[0,3],db_path:3,db_version:3,dbfile:3,def:1,default_album:1,degre:3,delet:[0,3],deleted_directori:3,deleted_fil:3,desc:0,descend:3,descr:0,describ:1,descript:[0,1,3],description_templ:3,dest:[0,3],dest_dir:1,destin:[1,3],detail:[0,3],determin:3,dict:3,did:0,differ:[0,1,3],digikam:0,dir:1,direct:0,directli:[0,1],directori:[0,3],dirnam:3,disabl:1,disk:[0,3],doc:0,doe:[0,1,3],don:0,download:[0,1,3],drive:0,drop:[0,3],dry:[0,3],dry_run:3,dump:1,duplic:1,durat:3,dure:[0,3],dynam:0,each:[0,3],earlier:3,easiest:1,easili:1,echo:1,edit:[0,1,3],edited_nam:1,editor:[0,3],either:[0,1,3],els:[1,3],embed:0,empti:3,end:0,ensur:3,entir:3,environ:1,equival:0,error:[0,3],error_str:3,etc:[0,1,3],even:[0,3],exact:3,exampl:[0,3],except:3,execut:1,exif:[0,3],exif_info:3,exif_upd:3,exifinfo:3,exiftool:[0,1,3],exiftool_error:3,exiftool_flag:3,exiftool_path:0,exiftool_pod:0,exiftool_warn:3,exist:[0,1,3],exit:[0,1],expand:3,expand_inplac:3,expandus:1,experi:0,experiment:0,export2:3,export_as_hardlink:3,export_db:3,export_path:1,exportdb:0,exportdb_abc:3,exportdb_fil:0,exportdbinmemori:3,exportresult:3,exposure_bia:3,ext:0,extend:[0,3],extens:[0,3],extern:[0,3],external_edit:3,extract:3,face:[0,1,3],face_info:3,faceinfo:3,fail:3,failur:3,fals:3,familiar:1,faster:[0,3],favorit:[0,3],featur:0,field:3,file:[0,3],filenam:[0,1,3],filename_origin:0,filepath:1,files:3,fileutil:3,fileutilabc:3,fileutilnoop:3,find:0,finder:0,findercom:0,first:0,flag:[0,3],flash_fir:3,flexibl:1,focal_length:3,folder:[0,3],folder_album:[0,3],folder_info:3,folderinfo:3,follow:[0,1],foo:1,forc:[0,3],form:0,format:[0,1,3],found:[0,1,3],fps:3,from:[0,3],from_dat:[0,3],from_tim:0,front:[0,3],full:[0,3],gener:3,geoloc:[0,3],get:[1,3],get_db_connect:3,get_photo:3,github:1,give:0,gpscoordin:0,gpslatitud:0,gpslatituderef:0,gpslongitud:0,gpslongituderef:0,gpsposit:0,gpu:0,group:[0,3],had:0,handl:0,happen:0,hardlink:[0,3],harmonious_color:3,has:[0,1,3],has_raw:3,hasadjust:[1,3],have:[0,3],haven:0,hdr:[0,3],headlin:0,heic:0,height:3,help:1,here:0,hidden:[0,3],high:0,highli:0,highlight_vis:3,hold:3,holidai:3,homebrew:1,how:0,html:0,http:[0,1,3],icloud:[0,3],identifi:[0,3],ignor:[0,3],ignore_date_modifi:3,ignore_signatur:3,imag:[0,1,3],imagedescript:0,img_1234:[0,3],immedi:3,immers:3,implement:0,import_info:3,importinfo:3,incloud:[0,3],includ:[0,1,3],incorrect:3,increment:3,index:1,individu:3,info:[1,3],inform:[0,1,3],initi:3,inplace_sep:3,insensit:0,instal:[0,3],instanc:3,instead:[0,3],instruct:1,intend:0,interact:[0,1,3],interesting_subject:3,intermitt:0,internet:0,intrash:3,intrusive_object_pres:3,invalid:[1,3],iptc:[0,3],is_valid_filepath:1,iscloudasset:3,isdir:1,ismiss:[1,3],ismovi:3,iso:[0,3],isphoto:3,israw:3,isrefer:3,item:[0,3],iterm2:0,john:1,join:[1,3],jpeg:[0,3],jpeg_ext:3,jpeg_qual:[0,3],jpg:[0,3],json:[0,3],just:1,keyword:3,keyword_templ:3,keywords_as_dict:[1,3],know:3,label:3,labels_as_dict:3,labels_norm:3,labels_normalized_as_dict:3,laps:[0,3],larg:1,last:[0,1],later:0,latest:1,latitud:3,lead:[0,3],learn:3,lens_model:3,level:[0,3],librari:[0,3],library_path:[1,3],licens:[0,1],lightroom:0,liglob:3,like:[0,1,3],list:[1,3],live:[0,3],live_photo:3,lively_color:3,load:0,local:3,locality_nam:3,locat:3,log:3,longitud:3,look:[0,1,3],lot:0,low_light:3,mac:[0,1],machin:[1,3],maco:[0,1],mai:[0,3],main:1,make:1,makedir:1,mangl:3,mani:0,mark:[0,3],match:[0,3],maximum:[0,3],mean:3,media:3,media_typ:[1,3],memori:3,merg:[0,3],merge_exif_keyword:3,merge_exif_person:3,messag:1,metadata:[0,3],metering_mod:3,method:3,microsoft:0,might:3,minor:0,miss:[0,1,3],mode:[0,3],modif:[0,3],modifi:0,modifyd:[0,3],modul:1,month:3,more:[0,1,3],most:0,motion:[0,3],mov:[0,3],movi:[0,3],multi:[0,3],multipl:[0,1],must:[0,3],mysteri:3,naiv:3,name:[0,3],necessari:1,need:1,neighborhood:3,neither:[0,1],network:0,nois:3,non:[0,3],none:[1,3],none_str:3,normal:[0,3],note:[0,1,3],notic:3,now:1,object:3,obvious:0,occur:[0,3],offset:3,offsettimeorigin:0,older:3,one:[0,3],onli:[0,3],open:[0,1],option:[0,1,3],order:[0,1,3],org:[0,3],organ:0,orient:3,origin:[0,1,3],original_filenam:[1,3],original_files:3,original_height:3,original_nam:0,original_orient:3,original_width:3,osxphotos_export:0,other:[0,1,3],otherwis:[1,3],out:[0,1],output:[0,3],outsid:3,overal:3,overrid:0,overwrit:[0,3],own:[0,1],page:1,pair:[0,3],panorama:[0,3],paramet:[1,3],part:[0,3],particular:3,pass:[0,3],path:[0,1,3],path_edit:[1,3],path_live_photo:3,path_raw:3,path_sep:3,pathlib:1,pathvalid:1,per:0,permit:0,person:3,person_info:3,personinfo:3,personinimag:0,persons_as_dict:[1,3],photo:[0,3],photo_ext:0,photo_filenam:0,photoinfo:3,photokit:0,photonam:0,photoname_bearbeiten:0,photoname_edit:0,photos_by_uuid:3,photos_librari:[0,1],photosdb:[1,3],photoslibrari:[0,1],phototempl:3,pictur:[0,1,3],pixel:3,place:[1,3],place_nam:3,placeinfo:3,platform:1,pleasant_camera_tilt:3,pleasant_composit:3,pleasant_light:3,pleasant_pattern:3,pleasant_perspect:3,pleasant_post_process:3,pleasant_reflect:3,pleasant_symmetri:3,png:0,portrait:[0,3],posit:[0,1],pre:1,preced:0,present:0,preview:0,previous:0,primari:0,print:[0,3],process:[0,3],produc:3,project:1,promot:3,properti:3,provid:[0,1,3],pylint:1,pypi:1,python3:1,python:1,qualiti:[0,3],queri:1,quicktim:[0,3],rais:3,rang:[0,3],raw:[0,3],raw_origin:3,raw_photo:3,read:1,readabl:3,recent:[0,3],recommend:1,refer:[0,1,3],referenc:0,regardless:3,region:0,relat:3,releas:1,reliabl:0,remov:0,renam:0,render:[0,3],render_templ:3,rendered_str:3,repeat:0,replac:[0,3],replace_keyword:3,repo:1,report:0,repres:3,represent:3,requir:[0,1,3],result:[0,3],retri:0,reus:0,revers:[0,3],rhettbul:1,run:[0,1,3],same:[0,3],sample_r:3,sanit:3,sanitize_filepath:1,save:0,score:3,scoreinfo:3,screenshot:[0,3],script:0,search:[0,1,3],search_info:3,search_info_norm:3,searchinfo:3,season:3,second:3,see:[0,1,3],select:3,self:3,selfi:[0,3],sep:3,separ:3,session:3,set:[0,3],setup:1,setuptool:1,share:[0,3],sharply_focused_subject:3,should:1,show:[0,1,3],shutter_spe:3,sidecar:[0,3],sidecar_drop_ext:3,sidecar_exiftool:3,sidecar_exiftool_skip:3,sidecar_exiftool_written:3,sidecar_ext:0,sidecar_json:3,sidecar_json_skip:3,sidecar_json_written:3,sidecar_xmp:3,sidecar_xmp_skip:3,sidecar_xmp_written:3,sierra:1,signatur:[0,3],silent:3,simpl:1,simpli:1,singl:[0,3],size:0,skip:[0,1,3],slow:[0,3],slow_mo:3,smith:1,some:3,someth:3,sort:3,sourc:3,space:[0,3],specif:[1,3],specifi:[0,3],spotlight:[0,1],sqlite3:3,start:[0,1],state:[0,3],state_abbrevi:3,statu:3,still:3,storat:3,store:[0,3],str:3,street:3,string:[0,3],strip:[0,3],subfold:0,subject:0,subsequ:0,substitut:3,suffix:[0,3],sur:1,sure:[0,1],synch:[0,3],sys:1,system:0,tabl:3,tag:[0,1,3],tagnam:0,tagslist:0,take:1,taken:0,tastefully_blur:3,templat:[0,1,3],template_str:3,term:3,termin:[0,1],test:[0,1],text:3,than:[0,1,3],thei:[0,3],them:[0,3],thi:[0,1,3],thu:1,time:[0,3],time_laps:3,timecr:0,timeout:3,timezon:[0,3],titl:[0,1,3],to_dat:[0,3],to_tim:0,todai:0,toml:0,top:[0,3],topic:0,touch:[0,3],touch_fil:3,town:3,track_format:3,trail:[0,3],trash:3,treat:[0,3],tupl:3,two:0,type:[0,3],tzoffset:3,unedit:1,unfil:1,uniform:[0,3],unless:3,unlik:0,unmatch:3,until:[1,3],updat:[0,3],upon:[0,3],use:[0,3],use_albums_as_keyword:3,use_persons_as_keyword:3,use_photokit:3,use_photos_export:3,useabl:0,used:[0,1,3],useful:0,user:3,userdata:0,uses:[0,3],using:[0,3],utc:3,uti:[0,3],uti_edit:3,uti_origin:3,uti_raw:3,util:[1,3],uuid:[0,1,3],vacat:3,valid:[0,1,3],valu:[0,1,3],variou:3,venu:3,venue_typ:3,verbos:[0,3],veri:1,verifi:1,versa:1,version:[0,1,3],via:[0,1,3],vice:1,video:[0,3],virtual:1,visbl:3,visibl:3,volum:0,wai:1,want:[0,1],warn:[0,1,3],water:3,wed:3,well:1,well_chosen_subject:3,well_framed_subject:3,well_timed_shot:3,went:0,were:[0,3],what:[0,3],when:[0,3],whether:0,which:[0,1,3],white:3,white_bal:3,whitespac:0,whose:0,width:3,without:0,work:[0,1,3],would:0,write:[0,3],written:[0,3],xattr:0,xattr_skip:3,xattr_written:3,xmp:[0,3],year:[0,3],yet:3,you:[0,1,3],your:[0,1]},titles:["osxphotos command line interface (CLI)","Welcome to osxphotos\u2019s documentation!","osxphotos","osxphotos package"],titleterms:{"default":1,"export":[0,1],about:0,add:1,album:[0,1],all:1,awail:1,base:1,chang:1,cli:0,command:[0,1],countri:1,creat:1,creation:1,date:1,desktop:1,digit:1,directori:1,document:1,dump:0,exampl:1,exif:1,file:1,find:1,folder:1,from:1,full:1,git:1,group:1,help:0,higher:1,indic:1,info:0,instal:1,interfac:[0,1],json:1,keyword:[0,1],kid:1,label:[0,1],librari:1,line:[0,1],list:0,media:1,metadata:1,modul:3,month:1,name:1,nocountri:1,onli:1,oper:1,osxphoto:[0,1,2,3],ouput:1,output:1,packag:[1,3],person:[0,1],photo:1,pip:1,pipx:1,place:0,print:1,queri:0,repositori:1,result:1,specifi:1,structur:1,support:1,system:1,tabl:1,type:1,updat:1,usag:1,use:1,uses:1,using:1,verbos:1,welcom:1,what:1,when:1,write:1,year:1}}) \ No newline at end of file diff --git a/osxphotos/_version.py b/osxphotos/_version.py index a1e88379..4539ae02 100644 --- a/osxphotos/_version.py +++ b/osxphotos/_version.py @@ -1,3 +1,3 @@ """ version info """ -__version__ = "0.41.5" +__version__ = "0.41.6" diff --git a/osxphotos/cli.py b/osxphotos/cli.py index 84c1ef85..3fe3a3e7 100644 --- a/osxphotos/cli.py +++ b/osxphotos/cli.py @@ -517,6 +517,13 @@ def cli(ctx, db, json_, debug): "Use this with caution as it may create name collisions on export. " "(e.g. if two files happen to have the same name)", ) +@click.option( + "--retry", + metavar="RETRY", + type=click.INT, + help="Automatically retry export up to RETRY times if an error occurs during export. " + "This may be useful with network drives that experience intermittent errors.", +) @click.option( "--export-by-date", is_flag=True, @@ -892,6 +899,7 @@ def export( export_as_hardlink, touch_file, overwrite, + retry, export_by_date, skip_edited, skip_original_if_edited, @@ -1040,6 +1048,7 @@ def export( export_as_hardlink = cfg.export_as_hardlink touch_file = cfg.touch_file overwrite = cfg.overwrite + retry = cfg.retry export_by_date = cfg.export_by_date skip_edited = cfg.skip_edited skip_original_if_edited = cfg.skip_original_if_edited @@ -1199,6 +1208,7 @@ def export( original_suffix = ( DEFAULT_ORIGINAL_SUFFIX if original_suffix is None else original_suffix ) + retry = 0 if not retry else retry if not os.path.isdir(dest): click.echo( @@ -1475,6 +1485,7 @@ def export( strip=strip, jpeg_ext=jpeg_ext, replace_keywords=replace_keywords, + retry=retry, ) results += export_results @@ -2353,6 +2364,7 @@ def export_photo( strip=False, jpeg_ext=None, replace_keywords=False, + retry=0, ): """Helper function for export that does the actual export @@ -2392,6 +2404,7 @@ def export_photo( exiftool_merge_persons: boolean; if True, merged persons found in file's exif data (requires exiftool) jpeg_ext: if not None, specify the extension to use for all JPEG images on export replace_keywords: if True, --keyword-template replaces keywords instead of adding keywords + retry: retry up to retry # of times if there's an error Returns: list of path(s) of exported photo or None if photo was missing @@ -2541,72 +2554,88 @@ def export_photo( str(pathlib.Path(dest_path) / original_filename) ) else: - try: - export_results = photo.export2( - dest_path, - original_filename, - sidecar=sidecar_flags, - sidecar_drop_ext=sidecar_drop_ext, - live_photo=export_live, - raw_photo=export_raw, - export_as_hardlink=export_as_hardlink, - overwrite=overwrite, - use_photos_export=use_photos_export, - exiftool=exiftool, - merge_exif_keywords=exiftool_merge_keywords, - merge_exif_persons=exiftool_merge_persons, - use_albums_as_keywords=album_keyword, - use_persons_as_keywords=person_keyword, - keyword_template=keyword_template, - description_template=description_template, - update=update, - ignore_signature=ignore_signature, - export_db=export_db, - fileutil=fileutil, - dry_run=dry_run, - touch_file=touch_file, - convert_to_jpeg=convert_to_jpeg, - jpeg_quality=jpeg_quality, - ignore_date_modified=ignore_date_modified, - use_photokit=use_photokit, - verbose=verbose_, - exiftool_flags=exiftool_option, - jpeg_ext=jpeg_ext, - replace_keywords=replace_keywords, - ) - results += export_results - for warning_ in export_results.exiftool_warning: - verbose_( - f"exiftool warning for file {warning_[0]}: {warning_[1]}" + tries = 0 + while tries <= retry: + tries += 1 + error = 0 + try: + export_results = photo.export2( + dest_path, + original_filename, + sidecar=sidecar_flags, + sidecar_drop_ext=sidecar_drop_ext, + live_photo=export_live, + raw_photo=export_raw, + export_as_hardlink=export_as_hardlink, + overwrite=overwrite, + use_photos_export=use_photos_export, + exiftool=exiftool, + merge_exif_keywords=exiftool_merge_keywords, + merge_exif_persons=exiftool_merge_persons, + use_albums_as_keywords=album_keyword, + use_persons_as_keywords=person_keyword, + keyword_template=keyword_template, + description_template=description_template, + update=update, + ignore_signature=ignore_signature, + export_db=export_db, + fileutil=fileutil, + dry_run=dry_run, + touch_file=touch_file, + convert_to_jpeg=convert_to_jpeg, + jpeg_quality=jpeg_quality, + ignore_date_modified=ignore_date_modified, + use_photokit=use_photokit, + verbose=verbose_, + exiftool_flags=exiftool_option, + jpeg_ext=jpeg_ext, + replace_keywords=replace_keywords, ) - for error_ in export_results.exiftool_error: + for warning_ in export_results.exiftool_warning: + verbose_( + f"exiftool warning for file {warning_[0]}: {warning_[1]}" + ) + for error_ in export_results.exiftool_error: + click.echo( + click.style( + f"exiftool error for file {error_[0]}: {error_[1]}", + fg=CLI_COLOR_ERROR, + ), + err=True, + ) + for error_ in export_results.error: + click.echo( + click.style( + f"Error exporting photo ({photo.uuid}: {photo.original_filename}) as {error_[0]}: {error_[1]}", + fg=CLI_COLOR_ERROR, + ), + err=True, + ) + error += 1 + if not error or tries > retry: + results += export_results + break + else: + click.echo( + "Retrying export for photo ({photo.uuid}: {photo.original_filename})" + ) + except Exception as e: click.echo( click.style( - f"exiftool error for file {error_[0]}: {error_[1]}", + f"Error exporting photo ({photo.uuid}: {photo.original_filename}) as {original_filename}: {e}", fg=CLI_COLOR_ERROR, ), err=True, ) - for error_ in export_results.error: - click.echo( - click.style( - f"Error exporting photo ({photo.uuid}: {photo.original_filename}) as {error_[0]}: {error_[1]}", - fg=CLI_COLOR_ERROR, - ), - err=True, - ) - - except Exception as e: - click.echo( - click.style( - f"Error exporting photo ({photo.uuid}: {photo.original_filename}) as {original_filename}: {e}", - fg=CLI_COLOR_ERROR, - ), - err=True, - ) - results.error.append( - (str(pathlib.Path(dest) / original_filename), e) - ) + if tries > retry: + results.error.append( + (str(pathlib.Path(dest) / original_filename), e) + ) + break + else: + click.echo( + f"Retrying export for photo ({photo.uuid}: {photo.original_filename})" + ) else: verbose_(f"Skipping original version of {photo.original_filename}") @@ -2690,70 +2719,87 @@ def export_photo( ) else: - try: - export_results_edited = photo.export2( - dest_path, - edited_filename, - sidecar=sidecar_flags, - sidecar_drop_ext=sidecar_drop_ext, - export_as_hardlink=export_as_hardlink, - overwrite=overwrite, - edited=True, - use_photos_export=use_photos_export, - exiftool=exiftool, - merge_exif_keywords=exiftool_merge_keywords, - merge_exif_persons=exiftool_merge_persons, - use_albums_as_keywords=album_keyword, - use_persons_as_keywords=person_keyword, - keyword_template=keyword_template, - description_template=description_template, - update=update, - ignore_signature=ignore_signature, - export_db=export_db, - fileutil=fileutil, - dry_run=dry_run, - touch_file=touch_file, - convert_to_jpeg=convert_to_jpeg, - jpeg_quality=jpeg_quality, - ignore_date_modified=ignore_date_modified, - use_photokit=use_photokit, - verbose=verbose_, - exiftool_flags=exiftool_option, - jpeg_ext=jpeg_ext, - replace_keywords=replace_keywords, - ) - results += export_results_edited - for warning_ in export_results_edited.exiftool_warning: - verbose_( - f"exiftool warning for file {warning_[0]}: {warning_[1]}" + tries = 0 + while tries <= retry: + tries += 1 + error = 0 + try: + export_results_edited = photo.export2( + dest_path, + edited_filename, + sidecar=sidecar_flags, + sidecar_drop_ext=sidecar_drop_ext, + export_as_hardlink=export_as_hardlink, + overwrite=overwrite, + edited=True, + use_photos_export=use_photos_export, + exiftool=exiftool, + merge_exif_keywords=exiftool_merge_keywords, + merge_exif_persons=exiftool_merge_persons, + use_albums_as_keywords=album_keyword, + use_persons_as_keywords=person_keyword, + keyword_template=keyword_template, + description_template=description_template, + update=update, + ignore_signature=ignore_signature, + export_db=export_db, + fileutil=fileutil, + dry_run=dry_run, + touch_file=touch_file, + convert_to_jpeg=convert_to_jpeg, + jpeg_quality=jpeg_quality, + ignore_date_modified=ignore_date_modified, + use_photokit=use_photokit, + verbose=verbose_, + exiftool_flags=exiftool_option, + jpeg_ext=jpeg_ext, + replace_keywords=replace_keywords, ) - for error_ in export_results_edited.exiftool_error: + for warning_ in export_results_edited.exiftool_warning: + verbose_( + f"exiftool warning for file {warning_[0]}: {warning_[1]}" + ) + for error_ in export_results_edited.exiftool_error: + click.echo( + click.style( + f"exiftool error for file {error_[0]}: {error_[1]}", + fg=CLI_COLOR_ERROR, + ), + err=True, + ) + for error_ in export_results_edited.error: + click.echo( + click.style( + f"Error exporting edited photo ({photo.uuid}: {photo.original_filename}) as {error_[0]}: {error_[1]}", + fg=CLI_COLOR_ERROR, + ), + err=True, + ) + error += 1 + if not error or tries > retry: + results += export_results_edited + break + else: + click.echo( + "Retrying export for photo ({photo.uuid}: {photo.original_filename})" + ) + except Exception as e: click.echo( click.style( - f"exiftool error for file {error_[0]}: {error_[1]}", + f"Error exporting edited photo ({photo.uuid}: {photo.original_filename}) {filename} as {edited_filename}: {e}", fg=CLI_COLOR_ERROR, ), err=True, ) - for error_ in export_results_edited.error: - click.echo( - click.style( - f"Error exporting edited photo ({photo.uuid}: {photo.original_filename}) as {error_[0]}: {error_[1]}", - fg=CLI_COLOR_ERROR, - ), - err=True, - ) - except Exception as e: - click.echo( - click.style( - f"Error exporting edited photo ({photo.uuid}: {photo.original_filename}) {filename} as {edited_filename}: {e}", - fg=CLI_COLOR_ERROR, - ), - err=True, - ) - results.error.append( - (str(pathlib.Path(dest) / edited_filename), e) - ) + if tries > retry: + results.error.append( + (str(pathlib.Path(dest) / edited_filename), e) + ) + break + else: + click.echo( + f"Retrying export for photo ({photo.uuid}: {photo.original_filename})" + ) if verbose: if update: diff --git a/tests/search_info_test_data_10_15_7.json b/tests/search_info_test_data_10_15_7.json index 154b06c2..34631988 100644 --- a/tests/search_info_test_data_10_15_7.json +++ b/tests/search_info_test_data_10_15_7.json @@ -1 +1 @@ -{"UUID_SEARCH_INFO": {"C8EAF50A-D891-4E0C-8086-C417E1284153": {"labels": ["Butter", "Food"], "place_names": ["Durham Bulls Athletic Park"], "streets": ["Blackwell St"], "neighborhoods": ["American Tobacco District", "Downtown Durham"], "city": "Durham", "locality_names": ["Durham"], "state": "North Carolina", "state_abbreviation": "NC", "country": "United States", "bodies_of_water": [], "month": "October", "year": "2018", "holidays": [], "activities": ["Entertainment", "Travel", "Dining", "Dinner", "Trip"], "season": "Fall", "venues": ["Copa", "Pie Pushers", "Luna Rotisserie and Empanadas", "The Pinhook"], "venue_types": ["Nightlife", "Cocktail Bar", "Pizza", "Restaurant", "Bar", "Tapas & Small Plates", "Food", "Empanadas", "Arts & Entertainment", "Chicken Wings", "Latin American", "Cuban", "Music Venue"], "media_types": []}, "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": {"labels": ["Land", "Desert", "Outdoor", "Sky", "Sunset Sunrise"], "place_names": ["Royal Palms State Beach"], "streets": [], "neighborhoods": ["San Pedro"], "city": "Los Angeles", "locality_names": [], "state": "California", "state_abbreviation": "", "country": "United States", "bodies_of_water": ["Catalina Channel"], "month": "November", "year": "2017", "holidays": [], "activities": ["Beach Activity", "Activity"], "season": "Fall", "venues": [], "venue_types": [], "media_types": ["Live Photos"]}, "2C151013-5BBA-4D00-B70F-1C9420418B86": {"labels": ["Water Body", "Water", "People", "Bench", "Vegetation", "Forest", "Outdoor", "Land", "Furniture"], "place_names": [], "streets": [], "neighborhoods": [], "city": "", "locality_names": [], "state": "", "state_abbreviation": "", "country": "", "bodies_of_water": [], "month": "December", "year": "2014", "holidays": ["Christmas Day"], "activities": ["Celebration", "Holiday"], "season": "Winter", "venues": [], "venue_types": [], "media_types": []}}, "UUID_SEARCH_INFO_NORMALIZED": {"C8EAF50A-D891-4E0C-8086-C417E1284153": {"labels": ["butter", "food"], "place_names": ["durham bulls athletic park"], "streets": ["blackwell st"], "neighborhoods": ["american tobacco district", "downtown durham"], "city": "durham", "locality_names": ["durham"], "state": "north carolina", "state_abbreviation": "nc", "country": "united states", "bodies_of_water": [], "month": "october", "year": "2018", "holidays": [], "activities": ["entertainment", "travel", "dining", "dinner", "trip"], "season": "fall", "venues": ["copa", "pie pushers", "luna rotisserie and empanadas", "the pinhook"], "venue_types": ["nightlife", "cocktail bar", "pizza", "restaurant", "bar", "tapas & small plates", "food", "empanadas", "arts & entertainment", "chicken wings", "latin american", "cuban", "music venue"], "media_types": []}, "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": {"labels": ["land", "desert", "outdoor", "sky", "sunset sunrise"], "place_names": ["royal palms state beach"], "streets": [], "neighborhoods": ["san pedro"], "city": "los angeles", "locality_names": [], "state": "california", "state_abbreviation": "", "country": "united states", "bodies_of_water": ["catalina channel"], "month": "november", "year": "2017", "holidays": [], "activities": ["beach activity", "activity"], "season": "fall", "venues": [], "venue_types": [], "media_types": ["live photos"]}, "2C151013-5BBA-4D00-B70F-1C9420418B86": {"labels": ["water body", "water", "people", "bench", "vegetation", "forest", "outdoor", "land", "furniture"], "place_names": [], "streets": [], "neighborhoods": [], "city": "", "locality_names": [], "state": "", "state_abbreviation": "", "country": "", "bodies_of_water": [], "month": "december", "year": "2014", "holidays": ["christmas day"], "activities": ["celebration", "holiday"], "season": "winter", "venues": [], "venue_types": [], "media_types": []}}, "UUID_SEARCH_INFO_ALL": {"C8EAF50A-D891-4E0C-8086-C417E1284153": ["Butter", "Food", "Durham Bulls Athletic Park", "Blackwell St", "American Tobacco District", "Downtown Durham", "Durham", "Entertainment", "Travel", "Dining", "Dinner", "Trip", "Copa", "Pie Pushers", "Luna Rotisserie and Empanadas", "The Pinhook", "Nightlife", "Cocktail Bar", "Pizza", "Restaurant", "Bar", "Tapas & Small Plates", "Food", "Empanadas", "Arts & Entertainment", "Chicken Wings", "Latin American", "Cuban", "Music Venue", "Durham", "North Carolina", "NC", "United States", "October", "2018", "Fall"], "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": ["Land", "Desert", "Outdoor", "Sky", "Sunset Sunrise", "Royal Palms State Beach", "San Pedro", "Catalina Channel", "Beach Activity", "Activity", "Live Photos", "Los Angeles", "California", "United States", "November", "2017", "Fall"], "2C151013-5BBA-4D00-B70F-1C9420418B86": ["Water Body", "Water", "People", "Bench", "Vegetation", "Forest", "Outdoor", "Land", "Furniture", "Christmas Day", "Celebration", "Holiday", "December", "2014", "Winter"]}, "UUID_SEARCH_INFO_ALL_NORMALIZED": {"C8EAF50A-D891-4E0C-8086-C417E1284153": ["butter", "food", "durham bulls athletic park", "blackwell st", "american tobacco district", "downtown durham", "durham", "entertainment", "travel", "dining", "dinner", "trip", "copa", "pie pushers", "luna rotisserie and empanadas", "the pinhook", "nightlife", "cocktail bar", "pizza", "restaurant", "bar", "tapas & small plates", "food", "empanadas", "arts & entertainment", "chicken wings", "latin american", "cuban", "music venue", "durham", "north carolina", "nc", "united states", "october", "2018", "fall"], "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": ["land", "desert", "outdoor", "sky", "sunset sunrise", "royal palms state beach", "san pedro", "catalina channel", "beach activity", "activity", "live photos", "los angeles", "california", "united states", "november", "2017", "fall"], "2C151013-5BBA-4D00-B70F-1C9420418B86": ["water body", "water", "people", "bench", "vegetation", "forest", "outdoor", "land", "furniture", "christmas day", "celebration", "holiday", "december", "2014", "winter"]}} +{"UUID_SEARCH_INFO": {"C8EAF50A-D891-4E0C-8086-C417E1284153": {"labels": ["Butter", "Food"], "place_names": ["Durham Bulls Athletic Park"], "streets": ["Blackwell St"], "neighborhoods": ["American Tobacco District", "Downtown Durham"], "city": "Durham", "locality_names": ["Durham"], "state": "North Carolina", "state_abbreviation": "NC", "country": "United States", "bodies_of_water": [], "month": "October", "year": "2018", "holidays": [], "activities": ["Dinner", "Travel", "Entertainment", "Dining", "Trip"], "season": "Fall", "venues": ["Luna Rotisserie and Empanadas", "Pie Pushers", "The Pinhook", "Copa"], "venue_types": [], "media_types": []}, "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": {"labels": ["Sunset Sunrise", "Desert", "Land", "Outdoor", "Sky"], "place_names": ["Royal Palms State Beach"], "streets": [], "neighborhoods": ["San Pedro"], "city": "Los Angeles", "locality_names": [], "state": "California", "state_abbreviation": "", "country": "United States", "bodies_of_water": ["Catalina Channel"], "month": "November", "year": "2017", "holidays": [], "activities": ["Beach Activity", "Activity"], "season": "Fall", "venues": [], "venue_types": [], "media_types": ["Live Photos"]}, "2C151013-5BBA-4D00-B70F-1C9420418B86": {"labels": ["Land", "People", "Water", "Water Body", "Bench", "Furniture", "Plant", "Outdoor", "Vegetation", "Forest"], "place_names": [], "streets": [], "neighborhoods": [], "city": "", "locality_names": [], "state": "", "state_abbreviation": "", "country": "", "bodies_of_water": [], "month": "December", "year": "2014", "holidays": ["Christmas Day"], "activities": ["Celebration", "Holiday"], "season": "Winter", "venues": [], "venue_types": [], "media_types": []}}, "UUID_SEARCH_INFO_NORMALIZED": {"C8EAF50A-D891-4E0C-8086-C417E1284153": {"labels": ["butter", "food"], "place_names": ["durham bulls athletic park"], "streets": ["blackwell st"], "neighborhoods": ["american tobacco district", "downtown durham"], "city": "durham", "locality_names": ["durham"], "state": "north carolina", "state_abbreviation": "nc", "country": "united states", "bodies_of_water": [], "month": "october", "year": "2018", "holidays": [], "activities": ["dinner", "travel", "entertainment", "dining", "trip"], "season": "fall", "venues": ["luna rotisserie and empanadas", "pie pushers", "the pinhook", "copa"], "venue_types": [], "media_types": []}, "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": {"labels": ["sunset sunrise", "desert", "land", "outdoor", "sky"], "place_names": ["royal palms state beach"], "streets": [], "neighborhoods": ["san pedro"], "city": "los angeles", "locality_names": [], "state": "california", "state_abbreviation": "", "country": "united states", "bodies_of_water": ["catalina channel"], "month": "november", "year": "2017", "holidays": [], "activities": ["beach activity", "activity"], "season": "fall", "venues": [], "venue_types": [], "media_types": ["live photos"]}, "2C151013-5BBA-4D00-B70F-1C9420418B86": {"labels": ["land", "people", "water", "water body", "bench", "furniture", "plant", "outdoor", "vegetation", "forest"], "place_names": [], "streets": [], "neighborhoods": [], "city": "", "locality_names": [], "state": "", "state_abbreviation": "", "country": "", "bodies_of_water": [], "month": "december", "year": "2014", "holidays": ["christmas day"], "activities": ["celebration", "holiday"], "season": "winter", "venues": [], "venue_types": [], "media_types": []}}, "UUID_SEARCH_INFO_ALL": {"C8EAF50A-D891-4E0C-8086-C417E1284153": ["Butter", "Food", "Durham Bulls Athletic Park", "Blackwell St", "American Tobacco District", "Downtown Durham", "Durham", "Dinner", "Travel", "Entertainment", "Dining", "Trip", "Luna Rotisserie and Empanadas", "Pie Pushers", "The Pinhook", "Copa", "Durham", "North Carolina", "NC", "United States", "October", "2018", "Fall"], "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": ["Sunset Sunrise", "Desert", "Land", "Outdoor", "Sky", "Royal Palms State Beach", "San Pedro", "Catalina Channel", "Beach Activity", "Activity", "Live Photos", "Los Angeles", "California", "United States", "November", "2017", "Fall"], "2C151013-5BBA-4D00-B70F-1C9420418B86": ["Land", "People", "Water", "Water Body", "Bench", "Furniture", "Plant", "Outdoor", "Vegetation", "Forest", "Christmas Day", "Celebration", "Holiday", "December", "2014", "Winter"]}, "UUID_SEARCH_INFO_ALL_NORMALIZED": {"C8EAF50A-D891-4E0C-8086-C417E1284153": ["butter", "food", "durham bulls athletic park", "blackwell st", "american tobacco district", "downtown durham", "durham", "dinner", "travel", "entertainment", "dining", "trip", "luna rotisserie and empanadas", "pie pushers", "the pinhook", "copa", "durham", "north carolina", "nc", "united states", "october", "2018", "fall"], "71DFB4C3-E868-4BE4-906E-D96BD8692D7E": ["sunset sunrise", "desert", "land", "outdoor", "sky", "royal palms state beach", "san pedro", "catalina channel", "beach activity", "activity", "live photos", "los angeles", "california", "united states", "november", "2017", "fall"], "2C151013-5BBA-4D00-B70F-1C9420418B86": ["land", "people", "water", "water body", "bench", "furniture", "plant", "outdoor", "vegetation", "forest", "christmas day", "celebration", "holiday", "december", "2014", "winter"]}}