Release v0 62 1 (#1158)

* Updated ExportResults docstrings so Sphinx picks them up

* Updated API_README so link works in docs

* Removed sweep templates
This commit is contained in:
Rhet Turnbull 2023-08-13 10:47:53 -06:00 committed by GitHub
parent 51b1abccf8
commit a9843ac60e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 831 additions and 814 deletions

View File

@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.62.0
current_version = 0.62.1
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
serialize = {major}.{minor}.{patch}

View File

@ -1,11 +0,0 @@
name: Bugfix
title: 'Sweep: '
description: Write something like "We notice ... behavior when ... happens instead of ...""
labels: sweep
body:
- type: textarea
id: description
attributes:
label: Details
description: More details about the bug
placeholder: The bug might be in ... file

View File

@ -1,11 +0,0 @@
name: Feature Request
title: 'Sweep: '
description: Write something like "Write an api endpoint that does "..." in the "..." file"
labels: sweep
body:
- type: textarea
id: description
attributes:
label: Details
description: More details for Sweep
placeholder: The new endpoint should use the ... class from ... file because it contains ... logic

View File

@ -1,11 +0,0 @@
name: Refactor
title: 'Sweep: '
description: Write something like "Modify the ... api endpoint to use ... version and ... framework"
labels: sweep
body:
- type: textarea
id: description
attributes:
label: Details
description: More details for Sweep
placeholder: We are migrating this function to ... version because ...

View File

@ -445,7 +445,7 @@ if __name__ == "__main__":
## Package Interface
### PhotosDB
### <a name="photosdb">PhotosDB</a>
#### Read a Photos library database
@ -636,11 +636,11 @@ For example, in my library, Photos says I have 19,386 photos and 474 movies. Ho
Returns a single PhotoInfo instance for photo with UUID matching `uuid` or None if no photo is found matching `uuid`. If you know the UUID of a photo, `get_photo()` is much faster than `photos`. See also [photos()](#photos).
#### <A name="photosdbquery">`query(options: QueryOptions) -> List[PhotoInfo]:`</a>
#### <A name="photosdb_query">`query(options: QueryOptions) -> List[PhotoInfo]:`</a>
Returns a list of [PhotoInfo](#photoinfo) objects matching the query options. This is preferred method of querying the photos database. See [QueryOptions](#queryoptions) for details on the options available.
#### `keywords`
#### <a name="photosdb_keywords">`keywords`</a>
```python
# assumes photosdb is a PhotosDB object (see above)
@ -649,16 +649,16 @@ keywords = photosdb.keywords
Returns a list of the keywords found in the Photos library
#### <a name="photosdbalbuminfo">`album_info`</a>
#### <a name="photosdb_albuminfo">`album_info`</a>
```python
# assumes photosdb is a PhotosDB object (see above)
albums = photosdb.album_info
```
Returns a list of [AlbumInfo](#albuminfo) objects representing albums in the database or empty list if there are no albums. See also [albums](#albums) and [burst_album_info](#burst_album_info).
Returns a list of [AlbumInfo](#albuminfo) objects representing albums in the database or empty list if there are no albums. See also [albums](#photosdb_albums) and [burst_album_info](#burst_album_info).
#### `albums`
#### <a name="photosdb_albums">`albums`</a>
```python
# assumes photosdb is a PhotosDB object (see above)
@ -669,7 +669,7 @@ Returns a list of the album names found in the Photos library. See also [burst_a
**Note**: In Photos 5.0 (MacOS 10.15/Catalina), It is possible to have more than one album with the same name in Photos. Albums with duplicate names are treated as a single album and the photos in each are combined. For example, if you have two albums named "Wedding" and each has 2 photos, osxphotos will treat this as a single album named "Wedding" with 4 photos in it.
See also [album_info](#album_info.)
See also [album_info](#photosdb_album_info.)
#### `albums_shared`
@ -677,30 +677,30 @@ Returns list of shared album names found in photos database (e.g. albums shared
**Note**: *Only valid for Photos 5 / MacOS 10.15*; on Photos <= 4, prints warning and returns empty list.
#### `import_info`
#### <a name = "photosdb_import_info">`import_info`</a>
Returns a list of [ImportInfo](#importinfo) objects representing the import sessions for the database.
#### `project_info`
#### <a name="photosdb_project_info">`project_info`</a>
Returns a list of [ProjectInfo](#projectinfo) objects representing the projects/creations (cards, calendars, etc.) in the database.
#### `moment_info`
#### <a name="photosdb_moment_info">`moment_info`</a>
Returns the [MomentInfo](#momentinfo) object for the photo or `None` if the photo does not have an associated moment.
#### `folder_info`
#### <a name="photosdb_folder_info">`folder_info`</a>
```python
# assumes photosdb is a PhotosDB object (see above)
folders = photosdb.folder_info
```
Returns a list of [FolderInfo](#folderinfo) objects representing top level folders in the database or empty list if there are no folders. See also [folders](#folders).
Returns a list of [FolderInfo](#folderinfo) objects representing top level folders in the database or empty list if there are no folders. See also [folders](#photosdb_folders).
**Note**: Currently folder_info is only implemented for Photos 5 (Catalina); will return empty list and output warning if called on earlier database versions.
#### `folders`
#### <a name="photosdb_folders">`folders`</a>
```python
# assumes photosdb is a PhotosDB object (see above)
@ -711,16 +711,16 @@ Returns a list names of top level folder names in the database.
**Note**: Currently folders is only implemented for Photos 5 (Catalina); will return empty list and output warning if called on earlier database versions.
#### `persons`
#### <a name="photosdb_persons">`persons`</a>
```python
# assumes photosdb is a PhotosDB object (see above)
persons = photosdb.persons
```
Returns a list of the person names (faces) found in the Photos library. **Note**: It is of course possible to have more than one person with the same name, e.g. "Maria Smith", in the database. `persons` assumes these are the same person and will list only one person named "Maria Smith". If you need more information about persons in the database, see [person_info](#dbpersoninfo).
Returns a list of the person names (faces) found in the Photos library. **Note**: It is of course possible to have more than one person with the same name, e.g. "Maria Smith", in the database. `persons` assumes these are the same person and will list only one person named "Maria Smith". If you need more information about persons in the database, see [person_info](#photosdb_personinfo).
#### <a name="dbpersoninfo">`person_info`</a>
#### <a name="photosdb_person_info">`person_info`</a>
```python
# assumes photosdb is a PhotosDB object (see above)
@ -769,17 +769,17 @@ Returns a dictionary of shared albums (e.g. shared via iCloud photo sharing) fou
**Note**: *Photos 5 / MacOS 10.15 only*. On earlier versions of Photos, prints warning and returns empty dictionary.
#### `labels`
#### <a name="photosdb_labels">`labels`</a>
Returns image categorization labels associated with photos in the library as list of str.
**Note**: Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also [labels_normalized](#labels_normalized).
**Note**: Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also [labels_normalized](#photosdb_labels_normalized).
#### `labels_normalized`
#### <a name="photosdb_labels_normalized">`labels_normalized`</a>
Returns image categorization labels associated with photos in the library as list of str. Labels are normalized (e.g. converted to lower case). Use of normalized strings makes it easier to search if you don't how Apple capitalizes a label.
**Note**: Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also [labels](#labels).
**Note**: Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also [labels](#photosdb_labels).
#### `labels_as_dict`
@ -952,7 +952,7 @@ if __name__ == "__main__":
print(photo.original_filename, photo.date)
```
### PhotoInfo
### <a name="photoinfo">PhotoInfo</a>
PhotosDB.photos() returns a list of PhotoInfo objects. Each PhotoInfo object represents a single photo in the Photos library.
@ -1012,11 +1012,11 @@ Returns a list of [ProjectInfo](#projectinfo) objects representing projects/crea
Returns a list of the names of the persons in the photo
#### <a name="photopersoninfo">`person_info`</a>
#### <a name="photoinfo_personinfo">`person_info`</a>
Returns a list of [PersonInfo](#personinfo) objects representing persons in the photo. Each PersonInfo object is associated with one or more FaceInfo objects.
#### <a name="photofaceinfo">`face_info`</a>
#### <a name="photooinfo_faceinfo">`face_info`</a>
Returns a list of [FaceInfo](#faceinfo) objects representing faces in the photo. Each face is associated with the a PersonInfo object.
@ -1191,11 +1191,11 @@ Return true if photo was shared via syndication (e.g. via Messages, etc.); these
Return True if syndicated photo has been saved to library; returns False if photo is not syndicated or has not been saved to the library.
Syndicated photos are photos that appear in "Shared with you" album. Photos 7+ only; returns None if not Photos 7+.
### `shared_moment`
#### `shared_moment`
Return True if photo is part of a shared moment, otherwise False. Shared moments are created when multiple photos are shared via iCloud. (e.g. in Messages)
### `shared_library`
#### `shared_library`
Return True if photo is included in shared iCloud library, otherwise False. Photos 8+ only; returns False if not Photos 8+.
@ -1329,19 +1329,19 @@ for photo in photosdb.photos():
**Note**: Only valid on Photos 5+; on earlier versions, returns empty list. In Photos 5+, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also [labels](#labels).
#### <a name="photosearchinfo">`search_info`</a>
#### <a name="photoinfo_searchinfo">`search_info`</a>
Returns [SearchInfo](#searchinfo) object that represents search metadata for the photo.
**Note**: Only valid on Photos 5+; on ealier versions, returns None.
#### <a name="photosearchinfo-normalized">`search_info_normalized`</a>
#### <a name="photoinfo_search_info_normalized">`search_info_normalized`</a>
Returns [SearchInfo](#searchinfo) object that represents normalized search metadata for the photo. This returns a SearchInfo object just as `search_info` but all the properties of the object return normalized text (converted to lowercase).
**Note**: Only valid on Photos 5+; on ealier versions, returns None.
#### `exif_info`
#### <a name="photoinfo_exif_info">`exif_info`</a>
Returns an [ExifInfo](#exifinfo) object with EXIF details from the Photos database. See [ExifInfo](#exifinfo) for additional details.
@ -1349,7 +1349,7 @@ Returns an [ExifInfo](#exifinfo) object with EXIF details from the Photos databa
See also `exiftool`.
#### `exiftool`
#### <a name="photoinfo_exiftool">`exiftool`</a>
Returns an [ExifToolCaching](#exiftoolExifTool) object for the photo which provides an interface to [exiftool](https://exiftool.org/) allowing you to read the actual EXIF data in the image file inside the Photos library. If [exif_info](#exif-info) doesn't give you all the data you need, you can use `exiftool` to read the entire EXIF contents of the image.
@ -1499,7 +1499,7 @@ Some substitutions, notably `album`, `keyword`, and `person` could return multip
See [Template System](#template-system) for additional details.
#### <a name="detected_text_method">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a>
#### <a name="photoinfo_detected_text">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a>
Detects text in photo and returns lists of results as (detected text, confidence)
@ -1515,7 +1515,7 @@ See also [Text Detection](#textdetection).
### ExifInfo
[PhotosInfo.exif_info](#exif-info) returns an `ExifInfo` object with some EXIF data about the photo (Photos 5 only). `ExifInfo` contains the following properties:
[PhotosInfo.exif_info](#photoinfo_exif_info) returns an `ExifInfo` object with some EXIF data about the photo (Photos 5 only). `ExifInfo` contains the following properties:
```python
flash_fired: bool
@ -1553,7 +1553,7 @@ nikon_photos = [
### AlbumInfo
PhotosDB.album_info and PhotoInfo.album_info return a list of AlbumInfo objects. Each AlbumInfo object represents a single album in the Photos library.
[PhotosDB.album_info](#photosdb_album_info) and [PhotoInfo.album_info](photoinfo_album_info) return a list of AlbumInfo objects. Each AlbumInfo object represents a single album in the Photos library.
#### `uuid`
@ -1729,11 +1729,11 @@ Returns the universally unique identifier (uuid) of the folder. This is how Pho
Returns the title or name of the folder.
#### `album_info`
#### <a name="folderinfo_album_info">`album_info`</a>
Returns a list of [AlbumInfo](#albuminfo) objects representing each album contained in the folder.
#### `album_info_shared`
#### <a name="folderinfo_album_info_shared">`album_info_shared`</a>
Returns a list of [AlbumInfo](#albuminfo) objects for each shared album in the photos database.
@ -2044,11 +2044,11 @@ Returns a dictionary representation of the PersonInfo instance.
[PhotoInfo.face_info](#photofaceinfo) return a list of FaceInfo objects representing detected faces in a photo. The FaceInfo class has the following properties and methods.
#### `uuid`
#### <a name="faceinfo_uuid">`uuid`</a>
UUID of the face.
#### `name`
#### <a name="faceinfo_name">`name`</a>
Full name of the person represented by the face or None if person hasn't been given a name in Photos. This is a shortcut for `FaceInfo.person_info.name`.
@ -2056,11 +2056,11 @@ Full name of the person represented by the face or None if person hasn't been gi
UUID of the photo this face is associated with.
#### `person_info`
#### <a name="faceinfo_person_info">`person_info`</a>
[PersonInfo](#personinfo) object associated with this face.
#### `photo`
#### <a name="faceinfo_photo">`photo`</a>
[PhotoInfo](#photoinfo) object representing the photo that contains this face.
@ -2137,11 +2137,11 @@ The following additional properties are also available but are not yet fully doc
* `lip_makeup_type`:
* `smile_type`:
#### `asdict()`
#### <a name="faceinfo_asdict">`asdict()`</a>
Returns a dictionary representation of the FaceInfo instance.
#### `json()`
#### <a name="faceinfo_json">`json()`</a>
Returns a JSON representation of the FaceInfo instance.
@ -2512,7 +2512,7 @@ cog.out("\n"+get_template_field_table()+"\n")
|{cr}|A carriage return: '\r'|
|{crlf}|A carriage return + line feed: '\r\n'|
|{tab}|:A tab: '\t'|
|{osxphotos_version}|The osxphotos version, e.g. '0.62.0'|
|{osxphotos_version}|The osxphotos version, e.g. '0.62.1'|
|{osxphotos_cmd_line}|The full command line used to run osxphotos|
|{album}|Album(s) photo is contained in|
|{folder_album}|Folder path + album photo is contained in. e.g. 'Folder/Subfolder/Album' or just 'Album' if no enclosing folder|
@ -2704,7 +2704,7 @@ Attributes:
### <a name="textdetection">Text Detection</a>
The [PhotoInfo.detected_text()](#detected_text_method) and the `{detected_text}` template will perform text detection on the photos in your library. Text detection is a slow process so to avoid unnecessary re-processing of photos, osxphotos will cache the results of the text detection process as an extended attribute on the photo image file. Extended attributes do not modify the actual file. The extended attribute is named `osxphotos.metadata:detected_text` and can be viewed using the built-in [xattr](https://ss64.com/osx/xattr.html) command or my [osxmetadata](https://github.com/RhetTbull/osxmetadata) tool. If you want to remove the cached attribute, you can do so with `xattr` as follows:
The [PhotoInfo.detected_text()](#photoinfo_detected_text) and the `{detected_text}` template will perform text detection on the photos in your library. Text detection is a slow process so to avoid unnecessary re-processing of photos, osxphotos will cache the results of the text detection process as an extended attribute on the photo image file. Extended attributes do not modify the actual file. The extended attribute is named `osxphotos.metadata:detected_text` and can be viewed using the built-in [xattr](https://ss64.com/osx/xattr.html) command or my [osxmetadata](https://github.com/RhetTbull/osxmetadata) tool. If you want to remove the cached attribute, you can do so with `xattr` as follows:
`find ~/Pictures/Photos\ Library.photoslibrary | xargs -I{} xattr -c osxphotos.metadata:detected_text '{}'`

View File

@ -2223,7 +2223,7 @@ Substitution Description
{cr} A carriage return: '\r'
{crlf} A carriage return + line feed: '\r\n'
{tab} :A tab: '\t'
{osxphotos_version} The osxphotos version, e.g. '0.62.0'
{osxphotos_version} The osxphotos version, e.g. '0.62.1'
{osxphotos_cmd_line} The full command line used to run osxphotos
The following substitutions may result in multiple values. Thus if specified
@ -2711,7 +2711,7 @@ The following template field substitutions are availabe for use the templating s
|{cr}|A carriage return: '\r'|
|{crlf}|A carriage return + line feed: '\r\n'|
|{tab}|:A tab: '\t'|
|{osxphotos_version}|The osxphotos version, e.g. '0.62.0'|
|{osxphotos_version}|The osxphotos version, e.g. '0.62.1'|
|{osxphotos_cmd_line}|The full command line used to run osxphotos|
|{album}|Album(s) photo is contained in|
|{folder_album}|Folder path + album photo is contained in. e.g. 'Folder/Subfolder/Album' or just 'Album' if no enclosing folder|

View File

@ -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: 72a6d4c94671c4abc454759e142ad2ed
config: 2fc476010affcee784f205bf294f4e73
tags: 645f666f9bcd5a90fca523b33c5a78b7

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>Overview: module code - osxphotos 0.62.0 documentation</title>
<title>Overview: module code - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css" />
@ -123,7 +123,7 @@
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="../index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -146,7 +146,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">

View File

@ -5,7 +5,7 @@
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>osxphotos.photoexporter - osxphotos 0.62.0 documentation</title>
<title>osxphotos.photoexporter - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
@ -123,7 +123,7 @@
</label>
</div>
<div class="header-center">
<a href="../../index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="../../index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -146,7 +146,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="../../index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../../search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -160,7 +160,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../cli.html">OSXPhotos Command Line Interface (CLI)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../template_help.html">OSXPhotos Template System</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../package_overview.html">OSXPhotos Python Package Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../api_readme.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../API_README.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reference.html">OSXPhotos Python Reference</a></li>
</ul>
@ -464,7 +464,51 @@
<div class="viewcode-block" id="ExportResults"><a class="viewcode-back" href="../../reference.html#osxphotos.ExportResults">[docs]</a><span class="k">class</span> <span class="nc">ExportResults</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Results class which holds export results for export&quot;&quot;&quot;</span>
<span class="sd">&quot;&quot;&quot;Results class which holds export results for export</span>
<span class="sd"> </span>
<span class="sd"> Args:</span>
<span class="sd"> converted_to_jpeg: list of files converted to jpeg</span>
<span class="sd"> deleted_directories: list of directories deleted</span>
<span class="sd"> deleted_files: list of files deleted</span>
<span class="sd"> error: list of tuples of (filename, error) for any errors generated during export</span>
<span class="sd"> exif_updated: list of files where exif data was updated with exiftool</span>
<span class="sd"> exiftool_error: list of tuples of (filename, error) for any errors generated by exiftool</span>
<span class="sd"> exiftool_warning: list of tuples of (filename, warning) for any warnings generated by exiftool</span>
<span class="sd"> exported: list of files exported</span>
<span class="sd"> exported_album: list of tuples of (file, album) for any files exported to an album</span>
<span class="sd"> metadata_changed: list of filenames that had metadata changes since last export</span>
<span class="sd"> missing: list of files that were missing</span>
<span class="sd"> missing_album: list of tuples of (file, album) for any files that were missing from an album</span>
<span class="sd"> new: list of files that were new</span>
<span class="sd"> aae_written: list of files where .AAE file was written</span>
<span class="sd"> sidecar_exiftool_skipped: list of files where exiftool sidecar was skipped</span>
<span class="sd"> sidecar_exiftool_written: list of files where exiftool sidecar was written</span>
<span class="sd"> sidecar_json_skipped: list of files where json sidecar was skipped</span>
<span class="sd"> sidecar_json_written: list of files where json sidecar was written</span>
<span class="sd"> sidecar_xmp_skipped: list of files where xmp sidecar was skipped</span>
<span class="sd"> sidecar_xmp_written: list of files where xmp sidecar was written</span>
<span class="sd"> sidecar_user_written: list of files where user sidecar was written</span>
<span class="sd"> sidecar_user_skipped: list of files where user sidecar was skipped</span>
<span class="sd"> sidecar_user_error: list of tuples of (filename, error) for any errors generated by user sidecar</span>
<span class="sd"> skipped: list of files that were skipped</span>
<span class="sd"> skipped_album: list of tuples of (file, album) for any files that were skipped from an album</span>
<span class="sd"> to_touch: list of files that were touched</span>
<span class="sd"> touched: list of files that were touched</span>
<span class="sd"> updated: list of files that were updated</span>
<span class="sd"> xattr_skipped: list of files where xattr was skipped</span>
<span class="sd"> xattr_written: list of files where xattr was written</span>
<span class="sd"> user_written: list of files written by user post_function</span>
<span class="sd"> user_skipped: list of files skipped by user post_function</span>
<span class="sd"> user_error: list of tuples of (filename, error) for any errors generated by user post_function</span>
<span class="sd"> Notes:</span>
<span class="sd"> Each attribute is a list of files or None if no files for that attribute.</span>
<span class="sd"> Error and warning attributes are a list of tuples of (filename, error) where filename is the file that caused the error and error is the error message.</span>
<span class="sd"> Album attributes are a list of tuples of (file, album) where file is the file exported and album is the album it was exported to.</span>
<span class="sd"> ExportResults can be added together with the += operator to combine results as the export progresses.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Note: __init__ docs above added in the class docstring so they are picked up by sphinx</span>
<span class="vm">__slots__</span> <span class="o">=</span> <span class="p">[</span>
<span class="s2">&quot;_datetime&quot;</span><span class="p">,</span>
@ -541,46 +585,7 @@
<span class="p">):</span>
<span class="sd">&quot;&quot;&quot;ExportResults data class to hold results of export.</span>
<span class="sd"> Args:</span>
<span class="sd"> converted_to_jpeg: list of files converted to jpeg</span>
<span class="sd"> deleted_directories: list of directories deleted</span>
<span class="sd"> deleted_files: list of files deleted</span>
<span class="sd"> error: list of tuples of (filename, error) for any errors generated during export</span>
<span class="sd"> exif_updated: list of files where exif data was updated with exiftool</span>
<span class="sd"> exiftool_error: list of tuples of (filename, error) for any errors generated by exiftool</span>
<span class="sd"> exiftool_warning: list of tuples of (filename, warning) for any warnings generated by exiftool</span>
<span class="sd"> exported: list of files exported</span>
<span class="sd"> exported_album: list of tuples of (file, album) for any files exported to an album</span>
<span class="sd"> metadata_changed: list of filenames that had metadata changes since last export</span>
<span class="sd"> missing: list of files that were missing</span>
<span class="sd"> missing_album: list of tuples of (file, album) for any files that were missing from an album</span>
<span class="sd"> new: list of files that were new</span>
<span class="sd"> aae_written: list of files where .AAE file was written</span>
<span class="sd"> sidecar_exiftool_skipped: list of files where exiftool sidecar was skipped</span>
<span class="sd"> sidecar_exiftool_written: list of files where exiftool sidecar was written</span>
<span class="sd"> sidecar_json_skipped: list of files where json sidecar was skipped</span>
<span class="sd"> sidecar_json_written: list of files where json sidecar was written</span>
<span class="sd"> sidecar_xmp_skipped: list of files where xmp sidecar was skipped</span>
<span class="sd"> sidecar_xmp_written: list of files where xmp sidecar was written</span>
<span class="sd"> sidecar_user_written: list of files where user sidecar was written</span>
<span class="sd"> sidecar_user_skipped: list of files where user sidecar was skipped</span>
<span class="sd"> sidecar_user_error: list of tuples of (filename, error) for any errors generated by user sidecar</span>
<span class="sd"> skipped: list of files that were skipped</span>
<span class="sd"> skipped_album: list of tuples of (file, album) for any files that were skipped from an album</span>
<span class="sd"> to_touch: list of files that were touched</span>
<span class="sd"> touched: list of files that were touched</span>
<span class="sd"> updated: list of files that were updated</span>
<span class="sd"> xattr_skipped: list of files where xattr was skipped</span>
<span class="sd"> xattr_written: list of files where xattr was written</span>
<span class="sd"> user_written: list of files written by user post_function</span>
<span class="sd"> user_skipped: list of files skipped by user post_function</span>
<span class="sd"> user_error: list of tuples of (filename, error) for any errors generated by user post_function</span>
<span class="sd"> Notes:</span>
<span class="sd"> Each attribute is a list of files or None if no files for that attribute.</span>
<span class="sd"> Error and warning attributes are a list of tuples of (filename, error) where filename is the file that caused the error and error is the error message.</span>
<span class="sd"> Album attributes are a list of tuples of (file, album) where file is the file exported and album is the album it was exported to.</span>
<span class="sd"> ExportResults can be added together with the += operator to combine results as the export progresses.</span>
<span class="sd"> See class docstring for details.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">local_vars</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_datetime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>

View File

@ -491,8 +491,8 @@ For example, the following code will work on Python >= 3.11. This code is availa
Package Interface
-----------------
PhotosDB
^^^^^^^^
:raw-html-m2r:`<a name="photosdb">PhotosDB</a>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Read a Photos library database
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -690,13 +690,13 @@ For example, in my library, Photos says I have 19,386 photos and 474 movies. Ho
Returns a single PhotoInfo instance for photo with UUID matching ``uuid`` or None if no photo is found matching ``uuid``. If you know the UUID of a photo, ``get_photo()`` is much faster than ``photos``. See also `photos() <#photos>`_.
:raw-html-m2r:`<A name="photosdbquery">`\ ``query(options: QueryOptions) -> List[PhotoInfo]:``\ </a>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<A name="photosdb_query">`\ ``query(options: QueryOptions) -> List[PhotoInfo]:``\ </a>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `PhotoInfo <#photoinfo>`_ objects matching the query options. This is preferred method of querying the photos database. See `QueryOptions <#queryoptions>`_ for details on the options available.
``keywords``
~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_keywords">`keywords`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -705,18 +705,18 @@ Returns a list of `PhotoInfo <#photoinfo>`_ objects matching the query options.
Returns a list of the keywords found in the Photos library
:raw-html-m2r:`<a name="photosdbalbuminfo">`album_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_albuminfo">`album_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
# assumes photosdb is a PhotosDB object (see above)
albums = photosdb.album_info
Returns a list of `AlbumInfo <#albuminfo>`_ objects representing albums in the database or empty list if there are no albums. See also `albums <#albums>`_ and `burst_album_info <#burst_album_info>`_.
Returns a list of `AlbumInfo <#albuminfo>`_ objects representing albums in the database or empty list if there are no albums. See also `albums <#photosdb_albums>`_ and `burst_album_info <#burst_album_info>`_.
``albums``
~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_albums">`albums`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -727,7 +727,7 @@ Returns a list of the album names found in the Photos library. See also `burst_a
**Note**\ : In Photos 5.0 (MacOS 10.15/Catalina), It is possible to have more than one album with the same name in Photos. Albums with duplicate names are treated as a single album and the photos in each are combined. For example, if you have two albums named "Wedding" and each has 2 photos, osxphotos will treat this as a single album named "Wedding" with 4 photos in it.
See also `album_info <#album_info.>`_
See also `album_info <#photosdb_album_info.>`_
``albums_shared``
~~~~~~~~~~~~~~~~~~~~~
@ -736,35 +736,35 @@ Returns list of shared album names found in photos database (e.g. albums shared
**Note**\ : *Only valid for Photos 5 / MacOS 10.15*\ ; on Photos <= 4, prints warning and returns empty list.
``import_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name = "photosdb_import_info">`import_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `ImportInfo <#importinfo>`_ objects representing the import sessions for the database.
``project_info``
~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_project_info">`project_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `ProjectInfo <#projectinfo>`_ objects representing the projects/creations (cards, calendars, etc.) in the database.
``moment_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_moment_info">`moment_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns the `MomentInfo <#momentinfo>`_ object for the photo or ``None`` if the photo does not have an associated moment.
``folder_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_folder_info">`folder_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
# assumes photosdb is a PhotosDB object (see above)
folders = photosdb.folder_info
Returns a list of `FolderInfo <#folderinfo>`_ objects representing top level folders in the database or empty list if there are no folders. See also `folders <#folders>`_.
Returns a list of `FolderInfo <#folderinfo>`_ objects representing top level folders in the database or empty list if there are no folders. See also `folders <#photosdb_folders>`_.
**Note**\ : Currently folder_info is only implemented for Photos 5 (Catalina); will return empty list and output warning if called on earlier database versions.
``folders``
~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_folders">`folders`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -775,18 +775,18 @@ Returns a list names of top level folder names in the database.
**Note**\ : Currently folders is only implemented for Photos 5 (Catalina); will return empty list and output warning if called on earlier database versions.
``persons``
~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_persons">`persons`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
# assumes photosdb is a PhotosDB object (see above)
persons = photosdb.persons
Returns a list of the person names (faces) found in the Photos library. **Note**\ : It is of course possible to have more than one person with the same name, e.g. "Maria Smith", in the database. ``persons`` assumes these are the same person and will list only one person named "Maria Smith". If you need more information about persons in the database, see `person_info <#dbpersoninfo>`_.
Returns a list of the person names (faces) found in the Photos library. **Note**\ : It is of course possible to have more than one person with the same name, e.g. "Maria Smith", in the database. ``persons`` assumes these are the same person and will list only one person named "Maria Smith". If you need more information about persons in the database, see `person_info <#photosdb_personinfo>`_.
:raw-html-m2r:`<a name="dbpersoninfo">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_person_info">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -839,19 +839,19 @@ Returns a dictionary of shared albums (e.g. shared via iCloud photo sharing) fou
**Note**\ : *Photos 5 / MacOS 10.15 only*. On earlier versions of Photos, prints warning and returns empty dictionary.
``labels``
~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_labels">`labels`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns image categorization labels associated with photos in the library as list of str.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels_normalized <#labels_normalized>`_.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels_normalized <#photosdb_labels_normalized>`_.
``labels_normalized``
~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_labels_normalized">`labels_normalized`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns image categorization labels associated with photos in the library as list of str. Labels are normalized (e.g. converted to lower case). Use of normalized strings makes it easier to search if you don't how Apple capitalizes a label.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels <#labels>`_.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels <#photosdb_labels>`_.
``labels_as_dict``
~~~~~~~~~~~~~~~~~~~~~~
@ -1035,8 +1035,8 @@ See `queryoptions.py <https://github.com/RhetTbull/osxphotos/blob/master/osxphot
for photo in results:
print(photo.original_filename, photo.date)
PhotoInfo
^^^^^^^^^
:raw-html-m2r:`<a name="photoinfo">PhotoInfo</a>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PhotosDB.photos() returns a list of PhotoInfo objects. Each PhotoInfo object represents a single photo in the Photos library.
@ -1110,13 +1110,13 @@ Returns a list of `ProjectInfo <#projectinfo>`_ objects representing projects/cr
Returns a list of the names of the persons in the photo
:raw-html-m2r:`<a name="photopersoninfo">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_personinfo">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `PersonInfo <#personinfo>`_ objects representing persons in the photo. Each PersonInfo object is associated with one or more FaceInfo objects.
:raw-html-m2r:`<a name="photofaceinfo">`face_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photooinfo_faceinfo">`face_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `FaceInfo <#faceinfo>`_ objects representing faces in the photo. Each face is associated with the a PersonInfo object.
@ -1330,12 +1330,12 @@ Return True if syndicated photo has been saved to library; returns False if phot
Syndicated photos are photos that appear in "Shared with you" album. Photos 7+ only; returns None if not Photos 7+.
``shared_moment``
^^^^^^^^^^^^^^^^^^^^^
~~~~~~~~~~~~~~~~~~~~~
Return True if photo is part of a shared moment, otherwise False. Shared moments are created when multiple photos are shared via iCloud. (e.g. in Messages)
``shared_library``
^^^^^^^^^^^^^^^^^^^^^^
~~~~~~~~~~~~~~~~~~~~~~
Return True if photo is included in shared iCloud library, otherwise False. Photos 8+ only; returns False if not Photos 8+.
@ -1491,22 +1491,22 @@ Returns image categorization labels associated with the photo as list of str. La
**Note**\ : Only valid on Photos 5+; on earlier versions, returns empty list. In Photos 5+, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels <#labels>`_.
:raw-html-m2r:`<a name="photosearchinfo">`search_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_searchinfo">`search_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns `SearchInfo <#searchinfo>`_ object that represents search metadata for the photo.
**Note**\ : Only valid on Photos 5+; on ealier versions, returns None.
:raw-html-m2r:`<a name="photosearchinfo-normalized">`search_info_normalized`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_search_info_normalized">`search_info_normalized`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns `SearchInfo <#searchinfo>`_ object that represents normalized search metadata for the photo. This returns a SearchInfo object just as ``search_info`` but all the properties of the object return normalized text (converted to lowercase).
**Note**\ : Only valid on Photos 5+; on ealier versions, returns None.
``exif_info``
~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_exif_info">`exif_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns an `ExifInfo <#exifinfo>`_ object with EXIF details from the Photos database. See `ExifInfo <#exifinfo>`_ for additional details.
@ -1514,8 +1514,8 @@ Returns an `ExifInfo <#exifinfo>`_ object with EXIF details from the Photos data
See also ``exiftool``.
``exiftool``
~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_exiftool">`exiftool`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns an `ExifToolCaching <#exiftoolExifTool>`_ object for the photo which provides an interface to `exiftool <https://exiftool.org/>`_ allowing you to read the actual EXIF data in the image file inside the Photos library. If `exif_info <#exif-info>`_ doesn't give you all the data you need, you can use ``exiftool`` to read the entire EXIF contents of the image.
@ -1681,8 +1681,8 @@ Some substitutions, notably ``album``\ , ``keyword``\ , and ``person`` could ret
See `Template System <#template-system>`_ for additional details.
:raw-html-m2r:`<a name="detected_text_method">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_detected_text">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Detects text in photo and returns lists of results as (detected text, confidence)
@ -1700,7 +1700,7 @@ See also `Text Detection <#textdetection>`_.
ExifInfo
^^^^^^^^
`PhotosInfo.exif_info <#exif-info>`_ returns an ``ExifInfo`` object with some EXIF data about the photo (Photos 5 only). ``ExifInfo`` contains the following properties:
`PhotosInfo.exif_info <#photoinfo_exif_info>`_ returns an ``ExifInfo`` object with some EXIF data about the photo (Photos 5 only). ``ExifInfo`` contains the following properties:
.. code-block:: python
@ -1739,7 +1739,7 @@ For example:
AlbumInfo
^^^^^^^^^
PhotosDB.album_info and PhotoInfo.album_info return a list of AlbumInfo objects. Each AlbumInfo object represents a single album in the Photos library.
`PhotosDB.album_info <#photosdb_album_info>`_ and `PhotoInfo.album_info <photoinfo_album_info>`_ return a list of AlbumInfo objects. Each AlbumInfo object represents a single album in the Photos library.
``uuid``
~~~~~~~~~~~~
@ -1953,13 +1953,13 @@ Returns the universally unique identifier (uuid) of the folder. This is how Pho
Returns the title or name of the folder.
``album_info``
~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="folderinfo_album_info">`album_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `AlbumInfo <#albuminfo>`_ objects representing each album contained in the folder.
``album_info_shared``
~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="folderinfo_album_info_shared">`album_info_shared`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `AlbumInfo <#albuminfo>`_ objects for each shared album in the photos database.
@ -2321,13 +2321,13 @@ FaceInfo
`PhotoInfo.face_info <#photofaceinfo>`_ return a list of FaceInfo objects representing detected faces in a photo. The FaceInfo class has the following properties and methods.
``uuid``
~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_uuid">`uuid`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UUID of the face.
``name``
~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_name">`name`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Full name of the person represented by the face or None if person hasn't been given a name in Photos. This is a shortcut for ``FaceInfo.person_info.name``.
@ -2336,13 +2336,13 @@ Full name of the person represented by the face or None if person hasn't been gi
UUID of the photo this face is associated with.
``person_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_person_info">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`PersonInfo <#personinfo>`_ object associated with this face.
``photo``
~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_photo">`photo`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`PhotoInfo <#photoinfo>`_ object representing the photo that contains this face.
@ -2432,13 +2432,13 @@ The following additional properties are also available but are not yet fully doc
* ``lip_makeup_type``\ :
* ``smile_type``\ :
``asdict()``
~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_asdict">`asdict()`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a dictionary representation of the FaceInfo instance.
``json()``
~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_json">`json()`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a JSON representation of the FaceInfo instance.
@ -2969,7 +2969,7 @@ The following template field substitutions are availabe for use the templating s
* - {tab}
- :A tab: '\t'
* - {osxphotos_version}
- The osxphotos version, e.g. '0.62.0'
- The osxphotos version, e.g. '0.62.1'
* - {osxphotos_cmd_line}
- The full command line used to run osxphotos
* - {album}
@ -3209,7 +3209,7 @@ Attributes:
:raw-html-m2r:`<a name="textdetection">Text Detection</a>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The `PhotoInfo.detected_text() <#detected_text_method>`_ and the ``{detected_text}`` template will perform text detection on the photos in your library. Text detection is a slow process so to avoid unnecessary re-processing of photos, osxphotos will cache the results of the text detection process as an extended attribute on the photo image file. Extended attributes do not modify the actual file. The extended attribute is named ``osxphotos.metadata:detected_text`` and can be viewed using the built-in `xattr <https://ss64.com/osx/xattr.html>`_ command or my `osxmetadata <https://github.com/RhetTbull/osxmetadata>`_ tool. If you want to remove the cached attribute, you can do so with ``xattr`` as follows:
The `PhotoInfo.detected_text() <#photoinfo_detected_text>`_ and the ``{detected_text}`` template will perform text detection on the photos in your library. Text detection is a slow process so to avoid unnecessary re-processing of photos, osxphotos will cache the results of the text detection process as an extended attribute on the photo image file. Extended attributes do not modify the actual file. The extended attribute is named ``osxphotos.metadata:detected_text`` and can be viewed using the built-in `xattr <https://ss64.com/osx/xattr.html>`_ command or my `osxmetadata <https://github.com/RhetTbull/osxmetadata>`_ tool. If you want to remove the cached attribute, you can do so with ``xattr`` as follows:
``find ~/Pictures/Photos\ Library.photoslibrary | xargs -I{} xattr -c osxphotos.metadata:detected_text '{}'``

View File

@ -361,7 +361,7 @@ Template Substitutions
* - {tab}
- :A tab: '\t'
* - {osxphotos_version}
- The osxphotos version, e.g. '0.62.0'
- The osxphotos version, e.g. '0.62.1'
* - {osxphotos_cmd_line}
- The full command line used to run osxphotos
* - {album}

View File

@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '0.62.0',
VERSION: '0.62.1',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',

View File

@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="OSXPhotos Template System" href="template_help.html" /><link rel="prev" title="OSXPhotos Tutorial" href="tutorial.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>OSXPhotos Command Line Interface (CLI) - osxphotos 0.62.0 documentation</title>
<title>OSXPhotos Command Line Interface (CLI) - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -147,7 +147,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -161,7 +161,7 @@
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">OSXPhotos Command Line Interface (CLI)</a></li>
<li class="toctree-l1"><a class="reference internal" href="template_help.html">OSXPhotos Template System</a></li>
<li class="toctree-l1"><a class="reference internal" href="package_overview.html">OSXPhotos Python Package Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="api_readme.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="API_README.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="reference.html">OSXPhotos Python Reference</a></li>
</ul>

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Index - osxphotos 0.62.0 documentation</title>
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Index - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -122,7 +122,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -145,7 +145,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">

View File

@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="OSXPhotos" href="overview.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>osxphotos 0.62.0 documentation</title>
<title>osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="#"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="#"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -147,7 +147,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="#">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -292,33 +292,33 @@
</li>
<li class="toctree-l2"><a class="reference internal" href="API_README.html#concurrency">Concurrency</a></li>
<li class="toctree-l2"><a class="reference internal" href="API_README.html#id6">Package Interface</a><ul>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id7">PhotosDB</a><ul>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#a-name-photosdb-photosdb-a"><span class="raw-html-m2r"><a name="photosdb">PhotosDB</a></span></a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#read-a-photos-library-database">Read a Photos library database</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#open-the-default-last-opened-photos-library">Open the default (last opened) Photos library</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#open-system-photos-library">Open System Photos library</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#open-a-specific-photos-library">Open a specific Photos library</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdbphotos-photos-keywords-none-uuid-none-persons-none-albums-none-images-true-movies-true-from-date-none-to-date-none-intrash-false-a"><span class="raw-html-m2r"><A name="photosdbphotos"></span><code class="docutils literal notranslate"><span class="pre">photos(keywords=None,</span> <span class="pre">uuid=None,</span> <span class="pre">persons=None,</span> <span class="pre">albums=None,</span> <span class="pre">images=True,</span> <span class="pre">movies=True,</span> <span class="pre">from_date=None,</span> <span class="pre">to_date=None,</span> <span class="pre">intrash=False)</span></code>&lt;/a&gt;</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-getphoto-get-photo-uuid-a"><span class="raw-html-m2r"><a name="getphoto"></span><code class="docutils literal notranslate"><span class="pre">get_photo(uuid)</span></code>&lt;/A&gt;</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdbquery-query-options-queryoptions-list-photoinfo-a"><span class="raw-html-m2r"><A name="photosdbquery"></span><code class="docutils literal notranslate"><span class="pre">query(options:</span> <span class="pre">QueryOptions)</span> <span class="pre">-&gt;</span> <span class="pre">List[PhotoInfo]:</span></code>&lt;/a&gt;</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#keywords"><code class="docutils literal notranslate"><span class="pre">keywords</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdbalbuminfo-album-info-a"><span class="raw-html-m2r"><a name="photosdbalbuminfo">`album_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id14"><code class="docutils literal notranslate"><span class="pre">albums</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-query-query-options-queryoptions-list-photoinfo-a"><span class="raw-html-m2r"><A name="photosdb_query"></span><code class="docutils literal notranslate"><span class="pre">query(options:</span> <span class="pre">QueryOptions)</span> <span class="pre">-&gt;</span> <span class="pre">List[PhotoInfo]:</span></code>&lt;/a&gt;</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-keywords-keywords-a"><span class="raw-html-m2r"><a name="photosdb_keywords">`keywords`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-albuminfo-album-info-a"><span class="raw-html-m2r"><a name="photosdb_albuminfo">`album_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-albums-albums-a"><span class="raw-html-m2r"><a name="photosdb_albums">`albums`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#albums-shared"><code class="docutils literal notranslate"><span class="pre">albums_shared</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#import-info"><code class="docutils literal notranslate"><span class="pre">import_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#project-info"><code class="docutils literal notranslate"><span class="pre">project_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#moment-info"><code class="docutils literal notranslate"><span class="pre">moment_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#folder-info"><code class="docutils literal notranslate"><span class="pre">folder_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id19"><code class="docutils literal notranslate"><span class="pre">folders</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#persons"><code class="docutils literal notranslate"><span class="pre">persons</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-dbpersoninfo-person-info-a"><span class="raw-html-m2r"><a name="dbpersoninfo">`person_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-import-info-import-info-a"><span class="raw-html-m2r"><a name = "photosdb_import_info">`import_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-project-info-project-info-a"><span class="raw-html-m2r"><a name="photosdb_project_info">`project_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-moment-info-moment-info-a"><span class="raw-html-m2r"><a name="photosdb_moment_info">`moment_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-folder-info-folder-info-a"><span class="raw-html-m2r"><a name="photosdb_folder_info">`folder_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-folders-folders-a"><span class="raw-html-m2r"><a name="photosdb_folders">`folders`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-persons-persons-a"><span class="raw-html-m2r"><a name="photosdb_persons">`persons`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-person-info-person-info-a"><span class="raw-html-m2r"><a name="photosdb_person_info">`person_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#keywords-as-dict"><code class="docutils literal notranslate"><span class="pre">keywords_as_dict</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#persons-as-dict"><code class="docutils literal notranslate"><span class="pre">persons_as_dict</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#albums-as-dict"><code class="docutils literal notranslate"><span class="pre">albums_as_dict</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#albums-shared-as-dict"><code class="docutils literal notranslate"><span class="pre">albums_shared_as_dict</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#labels"><code class="docutils literal notranslate"><span class="pre">labels</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id22"><code class="docutils literal notranslate"><span class="pre">labels_normalized</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-labels-labels-a"><span class="raw-html-m2r"><a name="photosdb_labels">`labels`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosdb-labels-normalized-labels-normalized-a"><span class="raw-html-m2r"><a name="photosdb_labels_normalized">`labels_normalized`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#labels-as-dict"><code class="docutils literal notranslate"><span class="pre">labels_as_dict</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id24"><code class="docutils literal notranslate"><span class="pre">labels_normalized_as_dict</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id19"><code class="docutils literal notranslate"><span class="pre">labels_normalized_as_dict</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#library-path"><code class="docutils literal notranslate"><span class="pre">library_path</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#db-path"><code class="docutils literal notranslate"><span class="pre">db_path</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#db-version"><code class="docutils literal notranslate"><span class="pre">db_version</span></code></a></li>
@ -327,27 +327,27 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#execute-sql"><code class="docutils literal notranslate"><span class="pre">execute(sql)</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id26">QueryOptions</a><ul>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id21">QueryOptions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#attributes">Attributes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id27">PhotoInfo</a><ul>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#a-name-photoinfo-photoinfo-a"><span class="raw-html-m2r"><a name="photoinfo">PhotoInfo</a></span></a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#uuid"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#filename"><code class="docutils literal notranslate"><span class="pre">filename</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id28"><code class="docutils literal notranslate"><span class="pre">original_filename</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id22"><code class="docutils literal notranslate"><span class="pre">original_filename</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#date"><code class="docutils literal notranslate"><span class="pre">date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#date-added"><code class="docutils literal notranslate"><span class="pre">date_added</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#date-modified"><code class="docutils literal notranslate"><span class="pre">date_modified</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#description"><code class="docutils literal notranslate"><span class="pre">description</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#title"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id30"><code class="docutils literal notranslate"><span class="pre">keywords</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id31"><code class="docutils literal notranslate"><span class="pre">albums</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id33"><code class="docutils literal notranslate"><span class="pre">album_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id36"><code class="docutils literal notranslate"><span class="pre">import_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id38"><code class="docutils literal notranslate"><span class="pre">project_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id40"><code class="docutils literal notranslate"><span class="pre">persons</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photopersoninfo-person-info-a"><span class="raw-html-m2r"><a name="photopersoninfo">`person_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photofaceinfo-face-info-a"><span class="raw-html-m2r"><a name="photofaceinfo">`face_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#keywords"><code class="docutils literal notranslate"><span class="pre">keywords</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id24"><code class="docutils literal notranslate"><span class="pre">albums</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id26"><code class="docutils literal notranslate"><span class="pre">album_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#import-info"><code class="docutils literal notranslate"><span class="pre">import_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#project-info"><code class="docutils literal notranslate"><span class="pre">project_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#persons"><code class="docutils literal notranslate"><span class="pre">persons</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photoinfo-personinfo-person-info-a"><span class="raw-html-m2r"><a name="photoinfo_personinfo">`person_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photooinfo-faceinfo-face-info-a"><span class="raw-html-m2r"><a name="photooinfo_faceinfo">`face_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#path"><code class="docutils literal notranslate"><span class="pre">path</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#path-edited"><code class="docutils literal notranslate"><span class="pre">path_edited</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#path-derivatives"><code class="docutils literal notranslate"><span class="pre">path_derivatives</span></code></a></li>
@ -358,22 +358,22 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#height"><code class="docutils literal notranslate"><span class="pre">height</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#width"><code class="docutils literal notranslate"><span class="pre">width</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#orientation"><code class="docutils literal notranslate"><span class="pre">orientation</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id48"><code class="docutils literal notranslate"><span class="pre">original_height</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id50"><code class="docutils literal notranslate"><span class="pre">original_width</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id52"><code class="docutils literal notranslate"><span class="pre">original_orientation</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id38"><code class="docutils literal notranslate"><span class="pre">original_height</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id40"><code class="docutils literal notranslate"><span class="pre">original_width</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id42"><code class="docutils literal notranslate"><span class="pre">original_orientation</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#original-filesize"><code class="docutils literal notranslate"><span class="pre">original_filesize</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id54"><code class="docutils literal notranslate"><span class="pre">ismissing</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id56"><code class="docutils literal notranslate"><span class="pre">hasadjustments</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id44"><code class="docutils literal notranslate"><span class="pre">ismissing</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id46"><code class="docutils literal notranslate"><span class="pre">hasadjustments</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#adjustments"><code class="docutils literal notranslate"><span class="pre">adjustments</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#external-edit"><code class="docutils literal notranslate"><span class="pre">external_edit</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#favorite"><code class="docutils literal notranslate"><span class="pre">favorite</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id58"><code class="docutils literal notranslate"><span class="pre">hidden</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id48"><code class="docutils literal notranslate"><span class="pre">hidden</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#visible"><code class="docutils literal notranslate"><span class="pre">visible</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#intrash"><code class="docutils literal notranslate"><span class="pre">intrash</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#date-trashed"><code class="docutils literal notranslate"><span class="pre">date_trashed</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#location"><code class="docutils literal notranslate"><span class="pre">location</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#place"><code class="docutils literal notranslate"><span class="pre">place</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id60"><code class="docutils literal notranslate"><span class="pre">shared</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id50"><code class="docutils literal notranslate"><span class="pre">shared</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#owner"><code class="docutils literal notranslate"><span class="pre">owner</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#comments"><code class="docutils literal notranslate"><span class="pre">comments</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#likes"><code class="docutils literal notranslate"><span class="pre">likes</span></code></a></li>
@ -381,26 +381,24 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#isphoto"><code class="docutils literal notranslate"><span class="pre">isphoto</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#ismovie"><code class="docutils literal notranslate"><span class="pre">ismovie</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#iscloudasset"><code class="docutils literal notranslate"><span class="pre">iscloudasset</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id71"><code class="docutils literal notranslate"><span class="pre">incloud</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id61"><code class="docutils literal notranslate"><span class="pre">incloud</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#syndicated"><code class="docutils literal notranslate"><span class="pre">syndicated</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#saved-to-library"><code class="docutils literal notranslate"><span class="pre">saved_to_library</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#shared-moment"><code class="docutils literal notranslate"><span class="pre">shared_moment</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#shared-library"><code class="docutils literal notranslate"><span class="pre">shared_library</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#shared-moment"><code class="docutils literal notranslate"><span class="pre">shared_moment</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#shared-library"><code class="docutils literal notranslate"><span class="pre">shared_library</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#uti"><code class="docutils literal notranslate"><span class="pre">uti</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#uti-original"><code class="docutils literal notranslate"><span class="pre">uti_original</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#uti-edited"><code class="docutils literal notranslate"><span class="pre">uti_edited</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#uti-raw"><code class="docutils literal notranslate"><span class="pre">uti_raw</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id74"><code class="docutils literal notranslate"><span class="pre">burst</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id64"><code class="docutils literal notranslate"><span class="pre">burst</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#burst-selected"><code class="docutils literal notranslate"><span class="pre">burst_selected</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#burst-key"><code class="docutils literal notranslate"><span class="pre">burst_key</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#burst-default-pick"><code class="docutils literal notranslate"><span class="pre">burst_default_pick</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id75"><code class="docutils literal notranslate"><span class="pre">burst_photos</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id77"><code class="docutils literal notranslate"><span class="pre">burst_albums</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id80"><code class="docutils literal notranslate"><span class="pre">burst_album_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id65"><code class="docutils literal notranslate"><span class="pre">burst_photos</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id67"><code class="docutils literal notranslate"><span class="pre">burst_albums</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id70"><code class="docutils literal notranslate"><span class="pre">burst_album_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#live-photo"><code class="docutils literal notranslate"><span class="pre">live_photo</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id84"><code class="docutils literal notranslate"><span class="pre">path_live_photo</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id74"><code class="docutils literal notranslate"><span class="pre">path_live_photo</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#path-edited-live-photo"><code class="docutils literal notranslate"><span class="pre">path_edited_live_photo</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#portrait"><code class="docutils literal notranslate"><span class="pre">portrait</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#hdr"><code class="docutils literal notranslate"><span class="pre">hdr</span></code></a></li>
@ -408,12 +406,12 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#time-lapse"><code class="docutils literal notranslate"><span class="pre">time_lapse</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#panorama"><code class="docutils literal notranslate"><span class="pre">panorama</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#slow-mo"><code class="docutils literal notranslate"><span class="pre">slow_mo</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id88"><code class="docutils literal notranslate"><span class="pre">labels</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id90"><code class="docutils literal notranslate"><span class="pre">labels_normalized</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosearchinfo-search-info-a"><span class="raw-html-m2r"><a name="photosearchinfo">`search_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photosearchinfo-normalized-search-info-normalized-a"><span class="raw-html-m2r"><a name="photosearchinfo-normalized">`search_info_normalized`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#exif-info"><code class="docutils literal notranslate"><span class="pre">exif_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id96"><code class="docutils literal notranslate"><span class="pre">exiftool</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id78"><code class="docutils literal notranslate"><span class="pre">labels</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id80"><code class="docutils literal notranslate"><span class="pre">labels_normalized</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photoinfo-searchinfo-search-info-a"><span class="raw-html-m2r"><a name="photoinfo_searchinfo">`search_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photoinfo-search-info-normalized-search-info-normalized-a"><span class="raw-html-m2r"><a name="photoinfo_search_info_normalized">`search_info_normalized`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photoinfo-exif-info-exif-info-a"><span class="raw-html-m2r"><a name="photoinfo_exif_info">`exif_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photoinfo-exiftool-exiftool-a"><span class="raw-html-m2r"><a name="photoinfo_exiftool">`exiftool`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#score"><code class="docutils literal notranslate"><span class="pre">score</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#duplicates"><code class="docutils literal notranslate"><span class="pre">duplicates</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#cloud-guid"><code class="docutils literal notranslate"><span class="pre">cloud_guid</span></code></a></li>
@ -425,13 +423,13 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#asdict"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#export"><code class="docutils literal notranslate"><span class="pre">export()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-rendertemplate-render-template-template-str-options-none-a"><span class="raw-html-m2r"><a name="rendertemplate">`render_template(template_str, options=None)`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-detected-text-method-detected-text-confidence-threshold-text-detection-confidence-threshold-a"><span class="raw-html-m2r"><a name="detected_text_method">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-photoinfo-detected-text-detected-text-confidence-threshold-text-detection-confidence-threshold-a"><span class="raw-html-m2r"><a name="photoinfo_detected_text">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a></span></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id106">ExifInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id107">AlbumInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id108"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id109"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id94">ExifInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id95">AlbumInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id96"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id97"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-albumphotos-photos-a"><span class="raw-html-m2r"><a name="albumphotos">`photos`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#creation-date"><code class="docutils literal notranslate"><span class="pre">creation_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#start-date"><code class="docutils literal notranslate"><span class="pre">start_date</span></code></a></li>
@ -439,53 +437,53 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#folder-list"><code class="docutils literal notranslate"><span class="pre">folder_list</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#folder-names"><code class="docutils literal notranslate"><span class="pre">folder_names</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#parent"><code class="docutils literal notranslate"><span class="pre">parent</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id113"><code class="docutils literal notranslate"><span class="pre">owner</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id116"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id101"><code class="docutils literal notranslate"><span class="pre">owner</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id104"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id117">ImportInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id118"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id105">ImportInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id106"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-importphotos-photos-a"><span class="raw-html-m2r"><a name="importphotos">`photos`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id120"><code class="docutils literal notranslate"><span class="pre">creation_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id108"><code class="docutils literal notranslate"><span class="pre">creation_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id109"><code class="docutils literal notranslate"><span class="pre">start_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id110"><code class="docutils literal notranslate"><span class="pre">end_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id111"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id112">ProjectInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id113"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id114"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-projectphotos-photos-a"><span class="raw-html-m2r"><a name="projectphotos">`photos`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id116"><code class="docutils literal notranslate"><span class="pre">creation_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id117"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id118">MomentInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#pk"><code class="docutils literal notranslate"><span class="pre">pk</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id119"><code class="docutils literal notranslate"><span class="pre">location</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id120"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#subtitle"><code class="docutils literal notranslate"><span class="pre">subtitle</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id121"><code class="docutils literal notranslate"><span class="pre">start_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id122"><code class="docutils literal notranslate"><span class="pre">end_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id123"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id124">ProjectInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id125"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id126"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-projectphotos-photos-a"><span class="raw-html-m2r"><a name="projectphotos">`photos`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id128"><code class="docutils literal notranslate"><span class="pre">creation_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id129"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id130">MomentInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#pk"><code class="docutils literal notranslate"><span class="pre">pk</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id131"><code class="docutils literal notranslate"><span class="pre">location</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id132"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#subtitle"><code class="docutils literal notranslate"><span class="pre">subtitle</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id133"><code class="docutils literal notranslate"><span class="pre">start_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id134"><code class="docutils literal notranslate"><span class="pre">end_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id135"><code class="docutils literal notranslate"><span class="pre">date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id123"><code class="docutils literal notranslate"><span class="pre">date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#modification-date"><code class="docutils literal notranslate"><span class="pre">modification_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id136"><code class="docutils literal notranslate"><span class="pre">photos</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id137"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id124"><code class="docutils literal notranslate"><span class="pre">photos</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id125"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id138">FolderInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id139"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id140"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id141"><code class="docutils literal notranslate"><span class="pre">album_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#album-info-shared"><code class="docutils literal notranslate"><span class="pre">album_info_shared</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id126">FolderInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id127"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id128"><code class="docutils literal notranslate"><span class="pre">title</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-folderinfo-album-info-album-info-a"><span class="raw-html-m2r"><a name="folderinfo_album_info">`album_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-folderinfo-album-info-shared-album-info-shared-a"><span class="raw-html-m2r"><a name="folderinfo_album_info_shared">`album_info_shared`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#subfolders"><code class="docutils literal notranslate"><span class="pre">subfolders</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id145"><code class="docutils literal notranslate"><span class="pre">parent</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id132"><code class="docutils literal notranslate"><span class="pre">parent</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#sort-order"><code class="docutils literal notranslate"><span class="pre">sort_order</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#photo-index-photo"><code class="docutils literal notranslate"><span class="pre">photo_index(photo)</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id147"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id134"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id148">PlaceInfo</a><ul>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id135">PlaceInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#ishome"><code class="docutils literal notranslate"><span class="pre">ishome</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#name"><code class="docutils literal notranslate"><span class="pre">name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#names"><code class="docutils literal notranslate"><span class="pre">names</span></code></a></li>
@ -494,9 +492,9 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#address"><code class="docutils literal notranslate"><span class="pre">address</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id149">ScoreInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id150">SearchInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id151"><code class="docutils literal notranslate"><span class="pre">labels</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id136">ScoreInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id137">SearchInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id138"><code class="docutils literal notranslate"><span class="pre">labels</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#place-names"><code class="docutils literal notranslate"><span class="pre">place_names</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#streets"><code class="docutils literal notranslate"><span class="pre">streets</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#neighborhoods"><code class="docutils literal notranslate"><span class="pre">neighborhoods</span></code></a></li>
@ -515,29 +513,29 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#venue-types"><code class="docutils literal notranslate"><span class="pre">venue_types</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#media-types"><code class="docutils literal notranslate"><span class="pre">media_types</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#all"><code class="docutils literal notranslate"><span class="pre">all</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id152"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id139"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id153">PersonInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id154"><code class="docutils literal notranslate"><span class="pre">name</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id140">PersonInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id141"><code class="docutils literal notranslate"><span class="pre">name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#display-name"><code class="docutils literal notranslate"><span class="pre">display_name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id155"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id142"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#keyphoto"><code class="docutils literal notranslate"><span class="pre">keyphoto</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#facecount"><code class="docutils literal notranslate"><span class="pre">facecount</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-personphotos-photos-a"><span class="raw-html-m2r"><a name="personphotos">`photos`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-personfaceinfo-face-info-a"><span class="raw-html-m2r"><a name="personfaceinfo">`face_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-personfavorite-favorite-a"><span class="raw-html-m2r"><a name="personfavorite">`favorite`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-personsortorder-sort-order-a"><span class="raw-html-m2r"><a name="personsortorder">`sort_order`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id157"><code class="docutils literal notranslate"><span class="pre">json()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id158"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id144"><code class="docutils literal notranslate"><span class="pre">json()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id145"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id159">FaceInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id160"><code class="docutils literal notranslate"><span class="pre">uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id161"><code class="docutils literal notranslate"><span class="pre">name</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id146">FaceInfo</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-faceinfo-uuid-uuid-a"><span class="raw-html-m2r"><a name="faceinfo_uuid">`uuid`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-faceinfo-name-name-a"><span class="raw-html-m2r"><a name="faceinfo_name">`name`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#asset-uuid"><code class="docutils literal notranslate"><span class="pre">asset_uuid</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id162"><code class="docutils literal notranslate"><span class="pre">person_info</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#photo"><code class="docutils literal notranslate"><span class="pre">photo</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-faceinfo-person-info-person-info-a"><span class="raw-html-m2r"><a name="faceinfo_person_info">`person_info`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-faceinfo-photo-photo-a"><span class="raw-html-m2r"><a name="faceinfo_photo">`photo`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#mwg-rs-area"><code class="docutils literal notranslate"><span class="pre">mwg_rs_area</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#mpri-reg-rect"><code class="docutils literal notranslate"><span class="pre">mpri_reg_rect</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#face-rect"><code class="docutils literal notranslate"><span class="pre">face_rect()</span></code></a></li>
@ -548,20 +546,20 @@
<li class="toctree-l4"><a class="reference internal" href="API_README.html#pitch">pitch</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#yaw">yaw</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#additional-properties"><code class="docutils literal notranslate"><span class="pre">Additional</span> <span class="pre">properties</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id165"><code class="docutils literal notranslate"><span class="pre">asdict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id166"><code class="docutils literal notranslate"><span class="pre">json()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-faceinfo-asdict-asdict-a"><span class="raw-html-m2r"><a name="faceinfo_asdict">`asdict()`</a></span></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#a-name-faceinfo-json-json-a"><span class="raw-html-m2r"><a name="faceinfo_json">`json()`</a></span></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id167">CommentInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id168">LikeInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id169">AdjustmentsInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id170">PhotoTables</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id171">Raw Photos</a><ul>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id149">CommentInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id150">LikeInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id151">AdjustmentsInfo</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id152">PhotoTables</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id153">Raw Photos</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#raw-related-attributes">Raw-Related Attributes</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#example">Example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id180">Template System</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id162">Template System</a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#a-name-exiftoolexiftool-exiftool-a"><span class="raw-html-m2r"><a name="exiftoolExifTool">ExifTool</a></span></a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#exiftool-methods">ExifTool methods</a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#implementation-note">Implementation Note</a></li>
@ -574,15 +572,15 @@
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#a-name-textdetection-text-detection-a"><span class="raw-html-m2r"><a name="textdetection">Text Detection</a></span></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id183">Utility Functions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id184"><code class="docutils literal notranslate"><span class="pre">get_system_library_path()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id185"><code class="docutils literal notranslate"><span class="pre">get_last_library_path()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="API_README.html#id165">Utility Functions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id166"><code class="docutils literal notranslate"><span class="pre">get_system_library_path()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#id167"><code class="docutils literal notranslate"><span class="pre">get_last_library_path()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="API_README.html#list-photo-libraries"><code class="docutils literal notranslate"><span class="pre">list_photo_libraries()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="API_README.html#id186">Additional Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="API_README.html#id168">Additional Examples</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference.html">OSXPhotos Python Reference</a><ul>

View File

@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="OSXPhotos Tutorial" href="tutorial.html" /><link rel="prev" title="Welcome to OSXPhotoss documentation!" href="index.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>OSXPhotos - osxphotos 0.62.0 documentation</title>
<title>OSXPhotos - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -147,7 +147,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -161,7 +161,7 @@
<li class="toctree-l1"><a class="reference internal" href="cli.html">OSXPhotos Command Line Interface (CLI)</a></li>
<li class="toctree-l1"><a class="reference internal" href="template_help.html">OSXPhotos Template System</a></li>
<li class="toctree-l1"><a class="reference internal" href="package_overview.html">OSXPhotos Python Package Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="api_readme.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="API_README.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="reference.html">OSXPhotos Python Reference</a></li>
</ul>

View File

@ -3,10 +3,10 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="OSXPhotos Python API" href="api_readme.html" /><link rel="prev" title="OSXPhotos Template System" href="template_help.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="OSXPhotos Python API" href="API_README.html" /><link rel="prev" title="OSXPhotos Template System" href="template_help.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>OSXPhotos Python Package Overview - osxphotos 0.62.0 documentation</title>
<title>OSXPhotos Python Package Overview - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -147,7 +147,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -161,7 +161,7 @@
<li class="toctree-l1"><a class="reference internal" href="cli.html">OSXPhotos Command Line Interface (CLI)</a></li>
<li class="toctree-l1"><a class="reference internal" href="template_help.html">OSXPhotos Template System</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">OSXPhotos Python Package Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="api_readme.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="API_README.html">OSXPhotos Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="reference.html">OSXPhotos Python Reference</a></li>
</ul>
@ -388,7 +388,7 @@ as well as <code class="docutils literal notranslate"><span class="pre">{functio
<footer>
<div class="related-pages">
<a class="next-page" href="api_readme.html">
<a class="next-page" href="API_README.html">
<div class="page-info">
<div class="context">
<span>Next</span>

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Python Module Index - osxphotos 0.62.0 documentation</title>
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Python Module Index - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -122,7 +122,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -145,7 +145,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Search - osxphotos 0.62.0 documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/><title>Search - osxphotos 0.62.1 documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -121,7 +121,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -144,7 +144,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="#" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="OSXPhotos Python Package Overview" href="package_overview.html" /><link rel="prev" title="OSXPhotos Command Line Interface (CLI)" href="cli.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>OSXPhotos Template System - osxphotos 0.62.0 documentation</title>
<title>OSXPhotos Template System - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -147,7 +147,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
@ -614,7 +614,7 @@
</td>
</tr>
<tr class="row-odd"><td><p>{osxphotos_version}</p></td>
<td><p>The osxphotos version, e.g. 0.62.0</p></td>
<td><p>The osxphotos version, e.g. 0.62.1</p></td>
</tr>
<tr class="row-even"><td><p>{osxphotos_cmd_line}</p></td>
<td><p>The full command line used to run osxphotos</p></td>

View File

@ -6,7 +6,7 @@
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="OSXPhotos Command Line Interface (CLI)" href="cli.html" /><link rel="prev" title="OSXPhotos" href="overview.html" />
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29"/>
<title>OSXPhotos Tutorial - osxphotos 0.62.0 documentation</title>
<title>OSXPhotos Tutorial - osxphotos 0.62.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">osxphotos 0.62.0 documentation</div></a>
<a href="index.html"><div class="brand">osxphotos 0.62.1 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -147,7 +147,7 @@
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">osxphotos 0.62.0 documentation</span>
<span class="sidebar-brand-text">osxphotos 0.62.1 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">

View File

@ -491,8 +491,8 @@ For example, the following code will work on Python >= 3.11. This code is availa
Package Interface
-----------------
PhotosDB
^^^^^^^^
:raw-html-m2r:`<a name="photosdb">PhotosDB</a>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Read a Photos library database
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -690,13 +690,13 @@ For example, in my library, Photos says I have 19,386 photos and 474 movies. Ho
Returns a single PhotoInfo instance for photo with UUID matching ``uuid`` or None if no photo is found matching ``uuid``. If you know the UUID of a photo, ``get_photo()`` is much faster than ``photos``. See also `photos() <#photos>`_.
:raw-html-m2r:`<A name="photosdbquery">`\ ``query(options: QueryOptions) -> List[PhotoInfo]:``\ </a>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<A name="photosdb_query">`\ ``query(options: QueryOptions) -> List[PhotoInfo]:``\ </a>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `PhotoInfo <#photoinfo>`_ objects matching the query options. This is preferred method of querying the photos database. See `QueryOptions <#queryoptions>`_ for details on the options available.
``keywords``
~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_keywords">`keywords`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -705,18 +705,18 @@ Returns a list of `PhotoInfo <#photoinfo>`_ objects matching the query options.
Returns a list of the keywords found in the Photos library
:raw-html-m2r:`<a name="photosdbalbuminfo">`album_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_albuminfo">`album_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
# assumes photosdb is a PhotosDB object (see above)
albums = photosdb.album_info
Returns a list of `AlbumInfo <#albuminfo>`_ objects representing albums in the database or empty list if there are no albums. See also `albums <#albums>`_ and `burst_album_info <#burst_album_info>`_.
Returns a list of `AlbumInfo <#albuminfo>`_ objects representing albums in the database or empty list if there are no albums. See also `albums <#photosdb_albums>`_ and `burst_album_info <#burst_album_info>`_.
``albums``
~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_albums">`albums`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -727,7 +727,7 @@ Returns a list of the album names found in the Photos library. See also `burst_a
**Note**\ : In Photos 5.0 (MacOS 10.15/Catalina), It is possible to have more than one album with the same name in Photos. Albums with duplicate names are treated as a single album and the photos in each are combined. For example, if you have two albums named "Wedding" and each has 2 photos, osxphotos will treat this as a single album named "Wedding" with 4 photos in it.
See also `album_info <#album_info.>`_
See also `album_info <#photosdb_album_info.>`_
``albums_shared``
~~~~~~~~~~~~~~~~~~~~~
@ -736,35 +736,35 @@ Returns list of shared album names found in photos database (e.g. albums shared
**Note**\ : *Only valid for Photos 5 / MacOS 10.15*\ ; on Photos <= 4, prints warning and returns empty list.
``import_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name = "photosdb_import_info">`import_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `ImportInfo <#importinfo>`_ objects representing the import sessions for the database.
``project_info``
~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_project_info">`project_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `ProjectInfo <#projectinfo>`_ objects representing the projects/creations (cards, calendars, etc.) in the database.
``moment_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_moment_info">`moment_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns the `MomentInfo <#momentinfo>`_ object for the photo or ``None`` if the photo does not have an associated moment.
``folder_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_folder_info">`folder_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
# assumes photosdb is a PhotosDB object (see above)
folders = photosdb.folder_info
Returns a list of `FolderInfo <#folderinfo>`_ objects representing top level folders in the database or empty list if there are no folders. See also `folders <#folders>`_.
Returns a list of `FolderInfo <#folderinfo>`_ objects representing top level folders in the database or empty list if there are no folders. See also `folders <#photosdb_folders>`_.
**Note**\ : Currently folder_info is only implemented for Photos 5 (Catalina); will return empty list and output warning if called on earlier database versions.
``folders``
~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_folders">`folders`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -775,18 +775,18 @@ Returns a list names of top level folder names in the database.
**Note**\ : Currently folders is only implemented for Photos 5 (Catalina); will return empty list and output warning if called on earlier database versions.
``persons``
~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_persons">`persons`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
# assumes photosdb is a PhotosDB object (see above)
persons = photosdb.persons
Returns a list of the person names (faces) found in the Photos library. **Note**\ : It is of course possible to have more than one person with the same name, e.g. "Maria Smith", in the database. ``persons`` assumes these are the same person and will list only one person named "Maria Smith". If you need more information about persons in the database, see `person_info <#dbpersoninfo>`_.
Returns a list of the person names (faces) found in the Photos library. **Note**\ : It is of course possible to have more than one person with the same name, e.g. "Maria Smith", in the database. ``persons`` assumes these are the same person and will list only one person named "Maria Smith". If you need more information about persons in the database, see `person_info <#photosdb_personinfo>`_.
:raw-html-m2r:`<a name="dbpersoninfo">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_person_info">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python
@ -839,19 +839,19 @@ Returns a dictionary of shared albums (e.g. shared via iCloud photo sharing) fou
**Note**\ : *Photos 5 / MacOS 10.15 only*. On earlier versions of Photos, prints warning and returns empty dictionary.
``labels``
~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_labels">`labels`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns image categorization labels associated with photos in the library as list of str.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels_normalized <#labels_normalized>`_.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels_normalized <#photosdb_labels_normalized>`_.
``labels_normalized``
~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photosdb_labels_normalized">`labels_normalized`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns image categorization labels associated with photos in the library as list of str. Labels are normalized (e.g. converted to lower case). Use of normalized strings makes it easier to search if you don't how Apple capitalizes a label.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels <#labels>`_.
**Note**\ : Only valid on Photos 5; on earlier versions, returns empty list. In Photos 5, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels <#photosdb_labels>`_.
``labels_as_dict``
~~~~~~~~~~~~~~~~~~~~~~
@ -1035,8 +1035,8 @@ See `queryoptions.py <https://github.com/RhetTbull/osxphotos/blob/master/osxphot
for photo in results:
print(photo.original_filename, photo.date)
PhotoInfo
^^^^^^^^^
:raw-html-m2r:`<a name="photoinfo">PhotoInfo</a>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PhotosDB.photos() returns a list of PhotoInfo objects. Each PhotoInfo object represents a single photo in the Photos library.
@ -1110,13 +1110,13 @@ Returns a list of `ProjectInfo <#projectinfo>`_ objects representing projects/cr
Returns a list of the names of the persons in the photo
:raw-html-m2r:`<a name="photopersoninfo">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_personinfo">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `PersonInfo <#personinfo>`_ objects representing persons in the photo. Each PersonInfo object is associated with one or more FaceInfo objects.
:raw-html-m2r:`<a name="photofaceinfo">`face_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photooinfo_faceinfo">`face_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `FaceInfo <#faceinfo>`_ objects representing faces in the photo. Each face is associated with the a PersonInfo object.
@ -1330,12 +1330,12 @@ Return True if syndicated photo has been saved to library; returns False if phot
Syndicated photos are photos that appear in "Shared with you" album. Photos 7+ only; returns None if not Photos 7+.
``shared_moment``
^^^^^^^^^^^^^^^^^^^^^
~~~~~~~~~~~~~~~~~~~~~
Return True if photo is part of a shared moment, otherwise False. Shared moments are created when multiple photos are shared via iCloud. (e.g. in Messages)
``shared_library``
^^^^^^^^^^^^^^^^^^^^^^
~~~~~~~~~~~~~~~~~~~~~~
Return True if photo is included in shared iCloud library, otherwise False. Photos 8+ only; returns False if not Photos 8+.
@ -1491,22 +1491,22 @@ Returns image categorization labels associated with the photo as list of str. La
**Note**\ : Only valid on Photos 5+; on earlier versions, returns empty list. In Photos 5+, Photos runs machine learning image categorization against photos in the library and automatically assigns labels to photos such as "People", "Dog", "Water", etc. A photo may have zero or more labels associated with it. See also `labels <#labels>`_.
:raw-html-m2r:`<a name="photosearchinfo">`search_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_searchinfo">`search_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns `SearchInfo <#searchinfo>`_ object that represents search metadata for the photo.
**Note**\ : Only valid on Photos 5+; on ealier versions, returns None.
:raw-html-m2r:`<a name="photosearchinfo-normalized">`search_info_normalized`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_search_info_normalized">`search_info_normalized`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns `SearchInfo <#searchinfo>`_ object that represents normalized search metadata for the photo. This returns a SearchInfo object just as ``search_info`` but all the properties of the object return normalized text (converted to lowercase).
**Note**\ : Only valid on Photos 5+; on ealier versions, returns None.
``exif_info``
~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_exif_info">`exif_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns an `ExifInfo <#exifinfo>`_ object with EXIF details from the Photos database. See `ExifInfo <#exifinfo>`_ for additional details.
@ -1514,8 +1514,8 @@ Returns an `ExifInfo <#exifinfo>`_ object with EXIF details from the Photos data
See also ``exiftool``.
``exiftool``
~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_exiftool">`exiftool`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns an `ExifToolCaching <#exiftoolExifTool>`_ object for the photo which provides an interface to `exiftool <https://exiftool.org/>`_ allowing you to read the actual EXIF data in the image file inside the Photos library. If `exif_info <#exif-info>`_ doesn't give you all the data you need, you can use ``exiftool`` to read the entire EXIF contents of the image.
@ -1681,8 +1681,8 @@ Some substitutions, notably ``album``\ , ``keyword``\ , and ``person`` could ret
See `Template System <#template-system>`_ for additional details.
:raw-html-m2r:`<a name="detected_text_method">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="photoinfo_detected_text">`detected_text(confidence_threshold=TEXT_DETECTION_CONFIDENCE_THRESHOLD)`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Detects text in photo and returns lists of results as (detected text, confidence)
@ -1700,7 +1700,7 @@ See also `Text Detection <#textdetection>`_.
ExifInfo
^^^^^^^^
`PhotosInfo.exif_info <#exif-info>`_ returns an ``ExifInfo`` object with some EXIF data about the photo (Photos 5 only). ``ExifInfo`` contains the following properties:
`PhotosInfo.exif_info <#photoinfo_exif_info>`_ returns an ``ExifInfo`` object with some EXIF data about the photo (Photos 5 only). ``ExifInfo`` contains the following properties:
.. code-block:: python
@ -1739,7 +1739,7 @@ For example:
AlbumInfo
^^^^^^^^^
PhotosDB.album_info and PhotoInfo.album_info return a list of AlbumInfo objects. Each AlbumInfo object represents a single album in the Photos library.
`PhotosDB.album_info <#photosdb_album_info>`_ and `PhotoInfo.album_info <photoinfo_album_info>`_ return a list of AlbumInfo objects. Each AlbumInfo object represents a single album in the Photos library.
``uuid``
~~~~~~~~~~~~
@ -1953,13 +1953,13 @@ Returns the universally unique identifier (uuid) of the folder. This is how Pho
Returns the title or name of the folder.
``album_info``
~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="folderinfo_album_info">`album_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `AlbumInfo <#albuminfo>`_ objects representing each album contained in the folder.
``album_info_shared``
~~~~~~~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="folderinfo_album_info_shared">`album_info_shared`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a list of `AlbumInfo <#albuminfo>`_ objects for each shared album in the photos database.
@ -2321,13 +2321,13 @@ FaceInfo
`PhotoInfo.face_info <#photofaceinfo>`_ return a list of FaceInfo objects representing detected faces in a photo. The FaceInfo class has the following properties and methods.
``uuid``
~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_uuid">`uuid`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UUID of the face.
``name``
~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_name">`name`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Full name of the person represented by the face or None if person hasn't been given a name in Photos. This is a shortcut for ``FaceInfo.person_info.name``.
@ -2336,13 +2336,13 @@ Full name of the person represented by the face or None if person hasn't been gi
UUID of the photo this face is associated with.
``person_info``
~~~~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_person_info">`person_info`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`PersonInfo <#personinfo>`_ object associated with this face.
``photo``
~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_photo">`photo`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`PhotoInfo <#photoinfo>`_ object representing the photo that contains this face.
@ -2432,13 +2432,13 @@ The following additional properties are also available but are not yet fully doc
* ``lip_makeup_type``\ :
* ``smile_type``\ :
``asdict()``
~~~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_asdict">`asdict()`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a dictionary representation of the FaceInfo instance.
``json()``
~~~~~~~~~~~~~~
:raw-html-m2r:`<a name="faceinfo_json">`json()`</a>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns a JSON representation of the FaceInfo instance.
@ -2969,7 +2969,7 @@ The following template field substitutions are availabe for use the templating s
* - {tab}
- :A tab: '\t'
* - {osxphotos_version}
- The osxphotos version, e.g. '0.62.0'
- The osxphotos version, e.g. '0.62.1'
* - {osxphotos_cmd_line}
- The full command line used to run osxphotos
* - {album}
@ -3209,7 +3209,7 @@ Attributes:
:raw-html-m2r:`<a name="textdetection">Text Detection</a>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The `PhotoInfo.detected_text() <#detected_text_method>`_ and the ``{detected_text}`` template will perform text detection on the photos in your library. Text detection is a slow process so to avoid unnecessary re-processing of photos, osxphotos will cache the results of the text detection process as an extended attribute on the photo image file. Extended attributes do not modify the actual file. The extended attribute is named ``osxphotos.metadata:detected_text`` and can be viewed using the built-in `xattr <https://ss64.com/osx/xattr.html>`_ command or my `osxmetadata <https://github.com/RhetTbull/osxmetadata>`_ tool. If you want to remove the cached attribute, you can do so with ``xattr`` as follows:
The `PhotoInfo.detected_text() <#photoinfo_detected_text>`_ and the ``{detected_text}`` template will perform text detection on the photos in your library. Text detection is a slow process so to avoid unnecessary re-processing of photos, osxphotos will cache the results of the text detection process as an extended attribute on the photo image file. Extended attributes do not modify the actual file. The extended attribute is named ``osxphotos.metadata:detected_text`` and can be viewed using the built-in `xattr <https://ss64.com/osx/xattr.html>`_ command or my `osxmetadata <https://github.com/RhetTbull/osxmetadata>`_ tool. If you want to remove the cached attribute, you can do so with ``xattr`` as follows:
``find ~/Pictures/Photos\ Library.photoslibrary | xargs -I{} xattr -c osxphotos.metadata:detected_text '{}'``

View File

@ -361,7 +361,7 @@ Template Substitutions
* - {tab}
- :A tab: '\t'
* - {osxphotos_version}
- The osxphotos version, e.g. '0.62.0'
- The osxphotos version, e.g. '0.62.1'
* - {osxphotos_cmd_line}
- The full command line used to run osxphotos
* - {album}

View File

@ -1,3 +1,3 @@
""" version info """
__version__ = "0.62.0"
__version__ = "0.62.1"

Binary file not shown.

View File

@ -266,7 +266,51 @@ class StagedFiles:
class ExportResults:
"""Results class which holds export results for export"""
"""Results class which holds export results for export
Args:
converted_to_jpeg: list of files converted to jpeg
deleted_directories: list of directories deleted
deleted_files: list of files deleted
error: list of tuples of (filename, error) for any errors generated during export
exif_updated: list of files where exif data was updated with exiftool
exiftool_error: list of tuples of (filename, error) for any errors generated by exiftool
exiftool_warning: list of tuples of (filename, warning) for any warnings generated by exiftool
exported: list of files exported
exported_album: list of tuples of (file, album) for any files exported to an album
metadata_changed: list of filenames that had metadata changes since last export
missing: list of files that were missing
missing_album: list of tuples of (file, album) for any files that were missing from an album
new: list of files that were new
aae_written: list of files where .AAE file was written
sidecar_exiftool_skipped: list of files where exiftool sidecar was skipped
sidecar_exiftool_written: list of files where exiftool sidecar was written
sidecar_json_skipped: list of files where json sidecar was skipped
sidecar_json_written: list of files where json sidecar was written
sidecar_xmp_skipped: list of files where xmp sidecar was skipped
sidecar_xmp_written: list of files where xmp sidecar was written
sidecar_user_written: list of files where user sidecar was written
sidecar_user_skipped: list of files where user sidecar was skipped
sidecar_user_error: list of tuples of (filename, error) for any errors generated by user sidecar
skipped: list of files that were skipped
skipped_album: list of tuples of (file, album) for any files that were skipped from an album
to_touch: list of files that were touched
touched: list of files that were touched
updated: list of files that were updated
xattr_skipped: list of files where xattr was skipped
xattr_written: list of files where xattr was written
user_written: list of files written by user post_function
user_skipped: list of files skipped by user post_function
user_error: list of tuples of (filename, error) for any errors generated by user post_function
Notes:
Each attribute is a list of files or None if no files for that attribute.
Error and warning attributes are a list of tuples of (filename, error) where filename is the file that caused the error and error is the error message.
Album attributes are a list of tuples of (file, album) where file is the file exported and album is the album it was exported to.
ExportResults can be added together with the += operator to combine results as the export progresses.
"""
# Note: __init__ docs above added in the class docstring so they are picked up by sphinx
__slots__ = [
"_datetime",
@ -343,46 +387,7 @@ class ExportResults:
):
"""ExportResults data class to hold results of export.
Args:
converted_to_jpeg: list of files converted to jpeg
deleted_directories: list of directories deleted
deleted_files: list of files deleted
error: list of tuples of (filename, error) for any errors generated during export
exif_updated: list of files where exif data was updated with exiftool
exiftool_error: list of tuples of (filename, error) for any errors generated by exiftool
exiftool_warning: list of tuples of (filename, warning) for any warnings generated by exiftool
exported: list of files exported
exported_album: list of tuples of (file, album) for any files exported to an album
metadata_changed: list of filenames that had metadata changes since last export
missing: list of files that were missing
missing_album: list of tuples of (file, album) for any files that were missing from an album
new: list of files that were new
aae_written: list of files where .AAE file was written
sidecar_exiftool_skipped: list of files where exiftool sidecar was skipped
sidecar_exiftool_written: list of files where exiftool sidecar was written
sidecar_json_skipped: list of files where json sidecar was skipped
sidecar_json_written: list of files where json sidecar was written
sidecar_xmp_skipped: list of files where xmp sidecar was skipped
sidecar_xmp_written: list of files where xmp sidecar was written
sidecar_user_written: list of files where user sidecar was written
sidecar_user_skipped: list of files where user sidecar was skipped
sidecar_user_error: list of tuples of (filename, error) for any errors generated by user sidecar
skipped: list of files that were skipped
skipped_album: list of tuples of (file, album) for any files that were skipped from an album
to_touch: list of files that were touched
touched: list of files that were touched
updated: list of files that were updated
xattr_skipped: list of files where xattr was skipped
xattr_written: list of files where xattr was written
user_written: list of files written by user post_function
user_skipped: list of files skipped by user post_function
user_error: list of tuples of (filename, error) for any errors generated by user post_function
Notes:
Each attribute is a list of files or None if no files for that attribute.
Error and warning attributes are a list of tuples of (filename, error) where filename is the file that caused the error and error is the error message.
Album attributes are a list of tuples of (file, album) where file is the file exported and album is the album it was exported to.
ExportResults can be added together with the += operator to combine results as the export progresses.
See class docstring for details.
"""
local_vars = locals()
self._datetime = datetime.now().isoformat()