Release 0.51.7, support for reading iPhone Photos.sqlite
This commit is contained in:
@@ -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-4.4.0, furo 2022.04.07"/>
|
||||
<title>OSXPhotos Template System - osxphotos 0.51.6 documentation</title>
|
||||
<title>OSXPhotos Template System - osxphotos 0.51.7 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=68f4518137b9aefe99b631505a2064c3c42c9852" />
|
||||
<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.51.6 documentation</div></a>
|
||||
<a href="index.html"><div class="brand">osxphotos 0.51.7 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.51.6 documentation</span>
|
||||
<span class="sidebar-brand-text">osxphotos 0.51.7 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">
|
||||
@@ -363,45 +363,51 @@
|
||||
<tr class="row-odd"><td><p>{favorite}</p></td>
|
||||
<td><p>Photo has been marked as favorite?; True/False value, use in format ‘{favorite?VALUE_IF_TRUE,VALUE_IF_FALSE}’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.date}</p></td>
|
||||
<tr class="row-even"><td><p>{created}</p></td>
|
||||
<td><p>Photo’s creation date in ISO format, e.g. ‘2020-03-22’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{created.year}</p></td>
|
||||
<tr class="row-odd"><td><p>{created.date}</p></td>
|
||||
<td><p>Photo’s creation date in ISO format, e.g. ‘2020-03-22’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.year}</p></td>
|
||||
<td><p>4-digit year of photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.yy}</p></td>
|
||||
<tr class="row-odd"><td><p>{created.yy}</p></td>
|
||||
<td><p>2-digit year of photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{created.mm}</p></td>
|
||||
<tr class="row-even"><td><p>{created.mm}</p></td>
|
||||
<td><p>2-digit month of the photo creation time (zero padded)</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.month}</p></td>
|
||||
<tr class="row-odd"><td><p>{created.month}</p></td>
|
||||
<td><p>Month name in user’s locale of the photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{created.mon}</p></td>
|
||||
<tr class="row-even"><td><p>{created.mon}</p></td>
|
||||
<td><p>Month abbreviation in the user’s locale of the photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.dd}</p></td>
|
||||
<tr class="row-odd"><td><p>{created.dd}</p></td>
|
||||
<td><p>2-digit day of the month (zero padded) of photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{created.dow}</p></td>
|
||||
<tr class="row-even"><td><p>{created.dow}</p></td>
|
||||
<td><p>Day of week in user’s locale of the photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.doy}</p></td>
|
||||
<tr class="row-odd"><td><p>{created.doy}</p></td>
|
||||
<td><p>3-digit day of year (e.g Julian day) of photo creation time, starting from 1 (zero padded)</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{created.hour}</p></td>
|
||||
<tr class="row-even"><td><p>{created.hour}</p></td>
|
||||
<td><p>2-digit hour of the photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.min}</p></td>
|
||||
<tr class="row-odd"><td><p>{created.min}</p></td>
|
||||
<td><p>2-digit minute of the photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{created.sec}</p></td>
|
||||
<tr class="row-even"><td><p>{created.sec}</p></td>
|
||||
<td><p>2-digit second of the photo creation time</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{created.strftime}</p></td>
|
||||
<tr class="row-odd"><td><p>{created.strftime}</p></td>
|
||||
<td><p>Apply strftime template to file creation date/time. Should be used in form {created.strftime,TEMPLATE} where TEMPLATE is a valid strftime template, e.g. {created.strftime,%Y-%U} would result in year-week number of year: ‘2020-23’. If used with no template will return null value. See <a class="reference external" href="https://strftime.org/">https://strftime.org/</a> for help on strftime templates.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{modified}</p></td>
|
||||
<td><p>Photo’s modification date in ISO format, e.g. ‘2020-03-22’; uses creation date if photo is not modified</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{modified.date}</p></td>
|
||||
<td><p>Photo’s modification date in ISO format, e.g. ‘2020-03-22’; uses creation date if photo is not modified</p></td>
|
||||
</tr>
|
||||
@@ -441,157 +447,160 @@
|
||||
<tr class="row-odd"><td><p>{modified.strftime}</p></td>
|
||||
<td><p>Apply strftime template to file modification date/time. Should be used in form {modified.strftime,TEMPLATE} where TEMPLATE is a valid strftime template, e.g. {modified.strftime,%Y-%U} would result in year-week number of year: ‘2020-23’. If used with no template will return null value. Uses creation date if photo is not modified. See <a class="reference external" href="https://strftime.org/">https://strftime.org/</a> for help on strftime templates.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.date}</p></td>
|
||||
<tr class="row-even"><td><p>{today}</p></td>
|
||||
<td><p>Current date in iso format, e.g. ‘2020-03-22’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{today.year}</p></td>
|
||||
<tr class="row-odd"><td><p>{today.date}</p></td>
|
||||
<td><p>Current date in iso format, e.g. ‘2020-03-22’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.year}</p></td>
|
||||
<td><p>4-digit year of current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.yy}</p></td>
|
||||
<tr class="row-odd"><td><p>{today.yy}</p></td>
|
||||
<td><p>2-digit year of current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{today.mm}</p></td>
|
||||
<tr class="row-even"><td><p>{today.mm}</p></td>
|
||||
<td><p>2-digit month of the current date (zero padded)</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.month}</p></td>
|
||||
<tr class="row-odd"><td><p>{today.month}</p></td>
|
||||
<td><p>Month name in user’s locale of the current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{today.mon}</p></td>
|
||||
<tr class="row-even"><td><p>{today.mon}</p></td>
|
||||
<td><p>Month abbreviation in the user’s locale of the current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.dd}</p></td>
|
||||
<tr class="row-odd"><td><p>{today.dd}</p></td>
|
||||
<td><p>2-digit day of the month (zero padded) of current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{today.dow}</p></td>
|
||||
<tr class="row-even"><td><p>{today.dow}</p></td>
|
||||
<td><p>Day of week in user’s locale of the current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.doy}</p></td>
|
||||
<tr class="row-odd"><td><p>{today.doy}</p></td>
|
||||
<td><p>3-digit day of year (e.g Julian day) of current date, starting from 1 (zero padded)</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{today.hour}</p></td>
|
||||
<tr class="row-even"><td><p>{today.hour}</p></td>
|
||||
<td><p>2-digit hour of the current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.min}</p></td>
|
||||
<tr class="row-odd"><td><p>{today.min}</p></td>
|
||||
<td><p>2-digit minute of the current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{today.sec}</p></td>
|
||||
<tr class="row-even"><td><p>{today.sec}</p></td>
|
||||
<td><p>2-digit second of the current date</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{today.strftime}</p></td>
|
||||
<tr class="row-odd"><td><p>{today.strftime}</p></td>
|
||||
<td><p>Apply strftime template to current date/time. Should be used in form {today.strftime,TEMPLATE} where TEMPLATE is a valid strftime template, e.g. {today.strftime,%Y-%U} would result in year-week number of year: ‘2020-23’. If used with no template will return null value. See <a class="reference external" href="https://strftime.org/">https://strftime.org/</a> for help on strftime templates.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{place.name}</p></td>
|
||||
<tr class="row-even"><td><p>{place.name}</p></td>
|
||||
<td><p>Place name from the photo’s reverse geolocation data, as displayed in Photos</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{place.country_code}</p></td>
|
||||
<tr class="row-odd"><td><p>{place.country_code}</p></td>
|
||||
<td><p>The ISO country code from the photo’s reverse geolocation data</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{place.name.country}</p></td>
|
||||
<tr class="row-even"><td><p>{place.name.country}</p></td>
|
||||
<td><p>Country name from the photo’s reverse geolocation data</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{place.name.state_province}</p></td>
|
||||
<tr class="row-odd"><td><p>{place.name.state_province}</p></td>
|
||||
<td><p>State or province name from the photo’s reverse geolocation data</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{place.name.city}</p></td>
|
||||
<tr class="row-even"><td><p>{place.name.city}</p></td>
|
||||
<td><p>City or locality name from the photo’s reverse geolocation data</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{place.name.area_of_interest}</p></td>
|
||||
<tr class="row-odd"><td><p>{place.name.area_of_interest}</p></td>
|
||||
<td><p>Area of interest name (e.g. landmark or public place) from the photo’s reverse geolocation data</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{place.address}</p></td>
|
||||
<tr class="row-even"><td><p>{place.address}</p></td>
|
||||
<td><p>Postal address from the photo’s reverse geolocation data, e.g. ‘2007 18th St NW, Washington, DC 20009, United States’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{place.address.street}</p></td>
|
||||
<tr class="row-odd"><td><p>{place.address.street}</p></td>
|
||||
<td><p>Street part of the postal address, e.g. ‘2007 18th St NW’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{place.address.city}</p></td>
|
||||
<tr class="row-even"><td><p>{place.address.city}</p></td>
|
||||
<td><p>City part of the postal address, e.g. ‘Washington’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{place.address.state_province}</p></td>
|
||||
<tr class="row-odd"><td><p>{place.address.state_province}</p></td>
|
||||
<td><p>State/province part of the postal address, e.g. ‘DC’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{place.address.postal_code}</p></td>
|
||||
<tr class="row-even"><td><p>{place.address.postal_code}</p></td>
|
||||
<td><p>Postal code part of the postal address, e.g. ‘20009’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{place.address.country}</p></td>
|
||||
<tr class="row-odd"><td><p>{place.address.country}</p></td>
|
||||
<td><p>Country name of the postal address, e.g. ‘United States’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{place.address.country_code}</p></td>
|
||||
<tr class="row-even"><td><p>{place.address.country_code}</p></td>
|
||||
<td><p>ISO country code of the postal address, e.g. ‘US’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{searchinfo.season}</p></td>
|
||||
<tr class="row-odd"><td><p>{searchinfo.season}</p></td>
|
||||
<td><p>Season of the year associated with a photo, e.g. ‘Summer’; (Photos 5+ only, applied automatically by Photos’ image categorization algorithms).</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{exif.camera_make}</p></td>
|
||||
<tr class="row-even"><td><p>{exif.camera_make}</p></td>
|
||||
<td><p>Camera make from original photo’s EXIF information as imported by Photos, e.g. ‘Apple’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{exif.camera_model}</p></td>
|
||||
<tr class="row-odd"><td><p>{exif.camera_model}</p></td>
|
||||
<td><p>Camera model from original photo’s EXIF information as imported by Photos, e.g. ‘iPhone 6s’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{exif.lens_model}</p></td>
|
||||
<tr class="row-even"><td><p>{exif.lens_model}</p></td>
|
||||
<td><p>Lens model from original photo’s EXIF information as imported by Photos, e.g. ‘iPhone 6s back camera 4.15mm f/2.2’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{moment}</p></td>
|
||||
<tr class="row-odd"><td><p>{moment}</p></td>
|
||||
<td><p>The moment title of the photo</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{uuid}</p></td>
|
||||
<tr class="row-even"><td><p>{uuid}</p></td>
|
||||
<td><p>Photo’s internal universally unique identifier (UUID) for the photo, a 36-character string unique to the photo, e.g. ‘128FB4C6-0B16-4E7D-9108-FB2E90DA1546’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{shortuuid}</p></td>
|
||||
<tr class="row-odd"><td><p>{shortuuid}</p></td>
|
||||
<td><p>A shorter representation of photo’s internal universally unique identifier (UUID) for the photo, a 22-character string unique to the photo, e.g. ‘JYsxugP9UjetmCbBCHXcmu’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{id}</p></td>
|
||||
<tr class="row-even"><td><p>{id}</p></td>
|
||||
<td><p>A unique number for the photo based on its primary key in the Photos database. A sequential integer, e.g. 1, 2, 3…etc. Each asset associated with a photo (e.g. an image and Live Photo preview) will share the same id. May be formatted using a python string format code. For example, to format as a 5-digit integer and pad with zeros, use ‘{id:05d}’ which results in 00001, 00002, 00003…etc.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{album_seq}</p></td>
|
||||
<tr class="row-odd"><td><p>{album_seq}</p></td>
|
||||
<td><p>An integer, starting at 0, indicating the photo’s index (sequence) in the containing album. Only valid when used in a ‘–filename’ template and only when ‘{album}’ or ‘{folder_album}’ is used in the ‘–directory’ template. For example ‘–directory “{folder_album}” –filename “{album<em>seq}</em>{original_name}”’. To start counting at a value other than 0, append append ‘(starting_value)’ to the field name. For example, to start counting at 1 instead of 0: ‘{album_seq(1)}’. May be formatted using a python string format code. For example, to format as a 5-digit integer and pad with zeros, use ‘{album_seq:05d}’ which results in 00000, 00001, 00002…etc. To format while also using a starting value: ‘{album_seq:05d(1)}’ which results in 0001, 00002…etc.This may result in incorrect sequences if you have duplicate albums with the same name; see also ‘{folder_album_seq}’.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{folder_album_seq}</p></td>
|
||||
<tr class="row-even"><td><p>{folder_album_seq}</p></td>
|
||||
<td><p>An integer, starting at 0, indicating the photo’s index (sequence) in the containing album and folder path. Only valid when used in a ‘–filename’ template and only when ‘{folder_album}’ is used in the ‘–directory’ template. For example ‘–directory “{folder_album}” –filename “{folder_album<em>seq}</em>{original_name}”’. To start counting at a value other than 0, append ‘(starting_value)’ to the field name. For example, to start counting at 1 instead of 0: ‘{folder_album_seq(1)}’ May be formatted using a python string format code. For example, to format as a 5-digit integer and pad with zeros, use ‘{folder_album_seq:05d}’ which results in 00000, 00001, 00002…etc. To format while also using a starting value: ‘{folder_album_seq:05d(1)}’ which results in 0001, 00002…etc.This may result in incorrect sequences if you have duplicate albums with the same name in the same folder; see also ‘{album_seq}’.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{comma}</p></td>
|
||||
<tr class="row-odd"><td><p>{comma}</p></td>
|
||||
<td><p>A comma: ‘,’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{semicolon}</p></td>
|
||||
<tr class="row-even"><td><p>{semicolon}</p></td>
|
||||
<td><p>A semicolon: ‘;’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{questionmark}</p></td>
|
||||
<tr class="row-odd"><td><p>{questionmark}</p></td>
|
||||
<td><p>A question mark: ‘?’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{pipe}</p></td>
|
||||
<tr class="row-even"><td><p>{pipe}</p></td>
|
||||
<td><p>A vertical pipe: ‘|’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{openbrace}</p></td>
|
||||
<tr class="row-odd"><td><p>{openbrace}</p></td>
|
||||
<td><p>An open brace: ‘{’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{closebrace}</p></td>
|
||||
<tr class="row-even"><td><p>{closebrace}</p></td>
|
||||
<td><p>A close brace: ‘}’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{openparens}</p></td>
|
||||
<tr class="row-odd"><td><p>{openparens}</p></td>
|
||||
<td><p>An open parentheses: ‘(’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{closeparens}</p></td>
|
||||
<tr class="row-even"><td><p>{closeparens}</p></td>
|
||||
<td><p>A close parentheses: ‘)’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{openbracket}</p></td>
|
||||
<tr class="row-odd"><td><p>{openbracket}</p></td>
|
||||
<td><p>An open bracket: ‘[’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{closebracket}</p></td>
|
||||
<tr class="row-even"><td><p>{closebracket}</p></td>
|
||||
<td><p>A close bracket: ‘]’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{newline}</p></td>
|
||||
<tr class="row-odd"><td><p>{newline}</p></td>
|
||||
<td><p>A newline: ‘n’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{lf}</p></td>
|
||||
<tr class="row-even"><td><p>{lf}</p></td>
|
||||
<td><p>A line feed: ‘n’, alias for {newline}</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{cr}</p></td>
|
||||
<tr class="row-odd"><td><p>{cr}</p></td>
|
||||
<td><p>A carriage return: ‘r’</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{crlf}</p></td>
|
||||
<tr class="row-even"><td><p>{crlf}</p></td>
|
||||
<td><p>A carriage return + line feed: ‘rn’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{tab}</p></td>
|
||||
<tr class="row-odd"><td><p>{tab}</p></td>
|
||||
<td><dl class="field-list simple">
|
||||
<dt class="field-odd">A tab</dt>
|
||||
<dd class="field-odd"><p>‘t’</p>
|
||||
@@ -599,73 +608,73 @@
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{osxphotos_version}</p></td>
|
||||
<td><p>The osxphotos version, e.g. ‘0.51.6’</p></td>
|
||||
<tr class="row-even"><td><p>{osxphotos_version}</p></td>
|
||||
<td><p>The osxphotos version, e.g. ‘0.51.7’</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{osxphotos_cmd_line}</p></td>
|
||||
<tr class="row-odd"><td><p>{osxphotos_cmd_line}</p></td>
|
||||
<td><p>The full command line used to run osxphotos</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{album}</p></td>
|
||||
<tr class="row-even"><td><p>{album}</p></td>
|
||||
<td><p>Album(s) photo is contained in</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{folder_album}</p></td>
|
||||
<tr class="row-odd"><td><p>{folder_album}</p></td>
|
||||
<td><p>Folder path + album photo is contained in. e.g. ‘Folder/Subfolder/Album’ or just ‘Album’ if no enclosing folder</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{project}</p></td>
|
||||
<tr class="row-even"><td><p>{project}</p></td>
|
||||
<td><p>Project(s) photo is contained in (such as greeting cards, calendars, slideshows)</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{album_project}</p></td>
|
||||
<tr class="row-odd"><td><p>{album_project}</p></td>
|
||||
<td><p>Album(s) and project(s) photo is contained in; treats projects as regular albums</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{folder_album_project}</p></td>
|
||||
<tr class="row-even"><td><p>{folder_album_project}</p></td>
|
||||
<td><p>Folder path + album (includes projects as albums) photo is contained in. e.g. ‘Folder/Subfolder/Album’ or just ‘Album’ if no enclosing folder</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{keyword}</p></td>
|
||||
<tr class="row-odd"><td><p>{keyword}</p></td>
|
||||
<td><p>Keyword(s) assigned to photo</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{person}</p></td>
|
||||
<tr class="row-even"><td><p>{person}</p></td>
|
||||
<td><p>Person(s) / face(s) in a photo</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{label}</p></td>
|
||||
<tr class="row-odd"><td><p>{label}</p></td>
|
||||
<td><p>Image categorization label associated with a photo (Photos 5+ only). Labels are added automatically by Photos using machine learning algorithms to categorize images. These are not the same as {keyword} which refers to the user-defined keywords/tags applied in Photos.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{label_normalized}</p></td>
|
||||
<tr class="row-even"><td><p>{label_normalized}</p></td>
|
||||
<td><p>All lower case version of ‘label’ (Photos 5+ only)</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{comment}</p></td>
|
||||
<tr class="row-odd"><td><p>{comment}</p></td>
|
||||
<td><p>Comment(s) on shared Photos; format is ‘Person name: comment text’ (Photos 5+ only)</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{exiftool}</p></td>
|
||||
<tr class="row-even"><td><p>{exiftool}</p></td>
|
||||
<td><p>Format: ‘{exiftool:GROUP:TAGNAME}’; use exiftool (https://exiftool.org) to extract metadata, in form GROUP:TAGNAME, from image. E.g. ‘{exiftool:EXIF:Make}’ to get camera make, or {exiftool:IPTC:Keywords} to extract keywords. See https://exiftool.org/TagNames/ for list of valid tag names. You must specify group (e.g. EXIF, IPTC, etc) as used in <code class="docutils literal notranslate"><span class="pre">exiftool</span> <span class="pre">-G</span></code>. exiftool must be installed in the path to use this template.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{searchinfo.holiday}</p></td>
|
||||
<tr class="row-odd"><td><p>{searchinfo.holiday}</p></td>
|
||||
<td><p>Holiday names associated with a photo, e.g. ‘Christmas Day’; (Photos 5+ only, applied automatically by Photos’ image categorization algorithms).</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{searchinfo.activity}</p></td>
|
||||
<tr class="row-even"><td><p>{searchinfo.activity}</p></td>
|
||||
<td><p>Activities associated with a photo, e.g. ‘Sporting Event’; (Photos 5+ only, applied automatically by Photos’ image categorization algorithms).</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{searchinfo.venue}</p></td>
|
||||
<tr class="row-odd"><td><p>{searchinfo.venue}</p></td>
|
||||
<td><p>Venues associated with a photo, e.g. name of restaurant; (Photos 5+ only, applied automatically by Photos’ image categorization algorithms).</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{searchinfo.venue_type}</p></td>
|
||||
<tr class="row-even"><td><p>{searchinfo.venue_type}</p></td>
|
||||
<td><p>Venue types associated with a photo, e.g. ‘Restaurant’; (Photos 5+ only, applied automatically by Photos’ image categorization algorithms).</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{photo}</p></td>
|
||||
<tr class="row-odd"><td><p>{photo}</p></td>
|
||||
<td><p>Provides direct access to the PhotoInfo object for the photo. Must be used in format ‘{photo.property}’ where ‘property’ represents a PhotoInfo property. For example: ‘{photo.favorite}’ is the same as ‘{favorite}’ and ‘{photo.place.name}’ is the same as ‘{place.name}’. ‘{photo}’ provides access to properties that are not available as separate template fields but it assumes some knowledge of the underlying PhotoInfo class. See <a class="reference external" href="https://rhettbull.github.io/osxphotos/">https://rhettbull.github.io/osxphotos/</a> for additional documentation on the PhotoInfo class.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{detected_text}</p></td>
|
||||
<tr class="row-even"><td><p>{detected_text}</p></td>
|
||||
<td><p>List of text strings found in the image after performing text detection. Using ‘{detected_text}’ will cause osxphotos to perform text detection on your photos using the built-in macOS text detection algorithms which will slow down your export. The results for each photo will be cached in the export database so that future exports with ‘–update’ do not need to reprocess each photo. You may pass a confidence threshold value between 0.0 and 1.0 after a colon as in ‘{detected_text:0.5}’; The default confidence threshold is 0.75. ‘{detected_text}’ works only on macOS Catalina (10.15) or later. Note: this feature is not the same thing as Live Text in macOS Monterey, which osxphotos does not yet support.</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{shell_quote}</p></td>
|
||||
<tr class="row-odd"><td><p>{shell_quote}</p></td>
|
||||
<td><p>Use in form ‘{shell_quote,TEMPLATE}’; quotes the rendered TEMPLATE value(s) for safe usage in the shell, e.g. My file.jpeg => ‘My file.jpeg’; only adds quotes if needed.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{strip}</p></td>
|
||||
<tr class="row-even"><td><p>{strip}</p></td>
|
||||
<td><p>Use in form ‘{strip,TEMPLATE}’; strips whitespace from begining and end of rendered TEMPLATE value(s).</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>{format}</p></td>
|
||||
<tr class="row-odd"><td><p>{format}</p></td>
|
||||
<td><p>Use in form, ‘{format:TYPE:FORMAT,TEMPLATE}’; converts TEMPLATE value to TYPE then formats the value using Python string formatting codes specified by FORMAT; TYPE is one of: ‘int’, ‘float’, or ‘str’. For example, ‘{format:float:.1f,{exiftool:EXIF:FocalLength}}’ will format focal length to 1 decimal place (e.g. ‘100.0’).</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>{function}</p></td>
|
||||
<tr class="row-even"><td><p>{function}</p></td>
|
||||
<td><p>Execute a python function from an external file and use return value as template substitution. Use in format: {function:file.py::function_name} where ‘file.py’ is the name of the python file and ‘function_name’ is the name of the function to call. The function will be passed the PhotoInfo object for the photo. See https://github.com/RhetTbull/osxphotos/blob/master/examples/template_function.py for an example of how to implement a template function.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user