From 65674f57bc174c078e6c47f12ba3aaba87bfa3a4 Mon Sep 17 00:00:00 2001 From: Rhet Turnbull Date: Fri, 1 May 2020 22:05:46 -0700 Subject: [PATCH] added --keyword-template --- README.md | 82 ++-- osxphotos/__main__.py | 38 +- osxphotos/_constants.py | 9 + osxphotos/_version.py | 2 +- osxphotos/datetime_formatter.py | 52 ++ osxphotos/photoinfo.py | 449 +++++++++++++++++- osxphotos/template.py | 383 +-------------- .../database/Photos.sqlite | Bin 2097152 -> 2097152 bytes .../database/Photos.sqlite-shm | Bin 32768 -> 32768 bytes .../database/Photos.sqlite-wal | Bin 12392 -> 4152 bytes .../database/Photos.sqlite.lock | 2 +- .../database/search/psi.sqlite | Bin 147456 -> 147456 bytes .../database/search/psi.sqlite-shm | Bin 32768 -> 32768 bytes .../MediaAnalysis/mediaanalysis.db | Bin 69632 -> 69632 bytes .../MediaAnalysis/mediaanalysis.db-shm | Bin 32768 -> 32768 bytes .../CLSBusinessCategoryCache.POI.sqlite-shm | Bin 32768 -> 32768 bytes .../CLSBusinessCategoryCache.POI.sqlite-wal | Bin 3316632 -> 3345472 bytes .../caches/graph/CLSContactCache.sqlite-shm | Bin 32768 -> 32768 bytes .../caches/graph/CLSContactCache.sqlite-wal | Bin 2092992 -> 3889312 bytes .../caches/graph/CLSLocationCache.sqlite-shm | Bin 32768 -> 32768 bytes .../caches/graph/CLSLocationCache.sqlite-wal | Bin 2855192 -> 3802792 bytes .../graph/PGCurationCache.sqlite.sqlite-shm | Bin 32768 -> 32768 bytes .../graph/PGCurationCache.sqlite.sqlite-wal | Bin 181312 -> 181312 bytes .../PhotoAnalysisServicePreferences.plist | 20 +- .../construction-photosgraph.kgdb-shm | Bin 32768 -> 32768 bytes .../PhotosGraph/photosgraph-tmp.kgdb-shm | Bin 32768 -> 32768 bytes .../caches/graph/PhotosGraph/photosgraph.kgdb | Bin 512000 -> 512000 bytes .../PhotoAnalysisServicePreferences.plist | 4 +- .../caches/vision/faceWorkerState.plist | 2 +- .../caches/vision/vnpersonsmodel.bin | Bin 7631 -> 7631 bytes tests/test_cli.py | 68 +++ tests/test_export_catalina_10_15_1.py | 21 +- ...port_catalina_10_15_1_use_photos_export.py | 1 - ...xport_keyword_template_catalina_10_15_4.py | 219 +++++++++ tests/test_export_mojave_10_14_6.py | 67 ++- tests/test_template.py | 70 +-- 36 files changed, 984 insertions(+), 505 deletions(-) create mode 100644 osxphotos/datetime_formatter.py create mode 100644 tests/test_export_keyword_template_catalina_10_15_4.py diff --git a/README.md b/README.md index e72ba16f..4d3001c1 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ + [AlbumInfo](#albuminfo) + [FolderInfo](#folderinfo) + [PlaceInfo](#placeinfo) - + [Template Functions](#template-functions) + + [Template Substitutions](#template-substitutions) + [Utility Functions](#utility-functions) * [Examples](#examples) * [Related Projects](#related-projects) @@ -101,6 +101,7 @@ Example: `osxphotos help export` ``` Usage: osxphotos export [OPTIONS] [PHOTOS_LIBRARY]... DEST +Usage: __main__.py export [OPTIONS] [PHOTOS_LIBRARY]... DEST Export photos from the Photos database. Export path DEST is required. Optionally, query the Photos database using 1 or more search options; if @@ -223,6 +224,18 @@ Options: exporting metadata. --album-keyword Use album name as keyword/tag when exporting metadata. + --keyword-template TEMPLATE For use with --exiftool, --sidecar; specify + a template string to use as keyword in the + form '{name,DEFAULT}' This is the same + format as --directory. For example, if you + wanted to add the full path to the folder + and album photo is contained in as a keyword + when exporting you could specify --keyword- + template "{folder_album}" You may specify + more than one template, for example + --keyword-template "{folder_album}" + --keyword-template "{created.year}" See + Templating System below. --current-name Use photo's current filename instead of original filename for export. Note: Starting with Photos 5, all photos are @@ -270,7 +283,7 @@ Options: **Templating System** -With the --directory option, you may specify a template for the export +With the --directory option you may specify a template for the export directory. This directory will be appended to the export path specified in the export DEST argument to export. For example, if template is '{created.year}/{created.month}', and export desitnation DEST is @@ -278,6 +291,11 @@ the export DEST argument to export. For example, if template is be '/Users/maria/Pictures/export/2020/March' if the photo was created in March 2020. +The templating system may also be used with the --keyword-template option to +set keywords on export (with --exiftool or --sidecar), for example, to set a +new keyword in format 'folder/subfolder/album' to preserve the folder/album +structure, you can use --keyword-template "{folder_album}" + In the template, valid template substitutions will be replaced by the corresponding value from the table below. Invalid substitutions will result in a an error and the script will abort. @@ -302,7 +320,7 @@ I plan to eventually extend the templating system to the exported filename so you can specify the filename using a template. Substitution Description -{name} Filename of the photo +{name} Current filename of the photo {original_name} Photo's original filename when imported to Photos {title} Title of the photo @@ -1004,6 +1022,26 @@ If overwrite=False and increment=False, export will fail if destination file alr **Implementation Note**: Because the usual python file copy methods don't preserve all the metadata available on MacOS, export uses `/usr/bin/ditto` to do the copy for export. ditto preserves most metadata such as extended attributes, permissions, ACLs, etc. +#### `render_template()` + +`render_template(template, none_str = "_", path_sep = None)` +Render template string for photo. none_str is used if template substitution results in None value and no default specified. +- `template`: str in form "{name,DEFAULT}" where name is one of the values in table below. The "," and default value that follows are optional. If specified, "DEFAULT" will be used if "name" is None. This is useful for values which are not always present, for example reverse geolocation data. +- `none_str`: optional str to use as substitution when template value is None and no default specified in the template string. default is "_". +- `path_sep`: optional character to use as path separator, default is os.path.sep + +Returns a tuple of (rendered, unmatched) where rendered is a list of rendered strings with all substitutions made and unmatched is a list of any strings that resembled a template substitution but did not match a known substitution. E.g. if template contained "{foo}", unmatched would be ["foo"]. + +e.g. `render_filepath_template("{created.year}/{foo}", photo)` would return `(["2020/{foo}"],["foo"])` + +If you want to include "{" or "}" in the output, use "{{" or "}}" + +e.g. `render_filepath_template("{created.year}/{{foo}}", photo)` would return `(["2020/{foo}"],[])` + +Some substitutions, notably `album`, `keyword`, and `person` could return multiple values, hence a new string will be return for each possible substitution (hence why a list of rendered strings is returned). For example, a photo in 2 albums: 'Vacation' and 'Family' would result in the following rendered values if template was "{created.year}/{album}" and created.year == 2020: `["2020/Vacation","2020/Family"]` + +See [Template Substitutions](#template-substitutions) for additional details. + ### 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. @@ -1149,26 +1187,9 @@ PostalAddress(street='3700 Wailea Alanui Dr', sub_locality=None, city='Kihei', s '96753' ``` -### Template Functions - -There is a simple template system used by the command line client to specify the output directory using a template. The following are available in `osxphotos.template`. - -#### `render_filepath_template(template, photo, none_str="_")` -Render template string for photo. none_str is used if template substitution results in None value and no default specified. -- `template`: str in form "{name,DEFAULT}" where name is one of the values in table below. The "," and default value that follows are optional. If specified, "DEFAULT" will be used if "name" is None. This is useful for values which are not always present, for example reverse geolocation data. -- `photo`: a [PhotoInfo](#photoinfo) object -- `none_str`: optional str to use as substitution when template value is None and no default specified in the template string. default is "_". - -Returns a tuple of (rendered, unmatched) where rendered is a list of rendered strings with all substitutions made and unmatched is a list of any strings that resembled a template substitution but did not match a known substitution. E.g. if template contained "{foo}", unmatched would be ["foo"]. - -e.g. `render_filepath_template("{created.year}/{foo}", photo)` would return `(["2020/{foo}"],["foo"])` - -If you want to include "{" or "}" in the output, use "{{" or "}}" - -e.g. `render_filepath_template("{created.year}/{{foo}}", photo)` would return `(["2020/{foo}"],[])` - -Some substitutions, notably `album`, `keyword`, and `person` could return multiple values, hence a new string will be return for each possible substitution (hence why a list of rendered strings is returned). For example, a photo in 2 albums: 'Vacation' and 'Family' would result in the following rendered values if template was "{created.year}/{album}" and created.year == 2020: `["2020/Vacation","2020/Family"]` +### Template Substitutions +The following substitutions are availabe for use with `PhotoInfo.render_template()` | Substitution | Description | |--------------|-------------| @@ -1208,21 +1229,6 @@ Some substitutions, notably `album`, `keyword`, and `person` could return multip |{person}|Person(s) / face(s) in a photo| -#### `DateTimeFormatter(dt)` -Class that provides easy access to formatted datetime values. -- `dt`: a datetime.datetime object - -Returnes `DateTimeFormater` class. - -Has the following properties: -- `date`: Date in ISO format without timezone, e.g. "2020-03-04" -- `year`: 4-digit year -- `yy`: 2-digit year -- `month`: month name in user's locale -- `mon`: month abbreviation in user's locale -- `mm`: 2-digit month -- `doy`: 3-digit day of year (e.g. Julian day) - ### Utility Functions The following functions are located in osxphotos.utils @@ -1328,7 +1334,7 @@ Testing against "real world" Photos libraries would be especially helpful. If y My goal is make osxphotos as reliable and comprehensive as possible. The test suite currently has over 400 tests--but there are still some [bugs](https://github.com/RhetTbull/osxphotos/issues?q=is%3Aissue+is%3Aopen+label%3Abug) or incomplete features lurking. If you find bugs please open an [issue](https://github.com/RhetTbull/osxphotos/issues). Notable issues include: -- RAW images imported to Photos with an associated jpeg preview are not handled correctly by osxphotos. osxphotos query and export will operate on the jpeg preview instead of the RAW image as will `PhotoInfo.path`. If the user selects "Use RAW as original" in Photos, the RAW image will be exported or operated on but the jpeg will be ignored. See [Issue #101](https://github.com/RhetTbull/osxphotos/issues/101) Note: Alpha version of fix for this bug is implemented in the current version of osxphotos. +- RAW images imported to Photos with an associated jpeg preview are not handled correctly by osxphotos. osxphotos query and export will operate on the jpeg preview instead of the RAW image as will `PhotoInfo.path`. If the user selects "Use RAW as original" in Photos, the RAW image will be exported or operated on but the jpeg will be ignored. See [Issue #101](https://github.com/RhetTbull/osxphotos/issues/101) Note: Beta version of fix for this bug is implemented in the current version of osxphotos. - The `--download-missing` option for `osxphotos export` does not work correctly with burst images. It will download the primary image but not the other burst images. See [Issue #75](https://github.com/RhetTbull/osxphotos/issues/75) ## Implementation Notes diff --git a/osxphotos/__main__.py b/osxphotos/__main__.py index e56dae5f..d8c0cdae 100644 --- a/osxphotos/__main__.py +++ b/osxphotos/__main__.py @@ -21,11 +21,7 @@ import osxphotos from ._constants import _EXIF_TOOL_URL, _PHOTOS_4_VERSION, _UNKNOWN_PLACE from ._version import __version__ from .exiftool import get_exiftool_path -from .template import ( - render_filepath_template, - TEMPLATE_SUBSTITUTIONS, - TEMPLATE_SUBSTITUTIONS_MULTI_VALUED, -) +from .template import TEMPLATE_SUBSTITUTIONS, TEMPLATE_SUBSTITUTIONS_MULTI_VALUED from .utils import _copy_file, create_path_by_date @@ -83,7 +79,7 @@ class ExportCommand(click.Command): formatter.write_text("**Templating System**") formatter.write("\n") formatter.write_text( - "With the --directory option, you may specify a template for the " + "With the --directory option you may specify a template for the " + "export directory. This directory will be appended to the export path specified " + "in the export DEST argument to export. For example, if template is " + "'{created.year}/{created.month}', and export desitnation DEST is " @@ -92,6 +88,13 @@ class ExportCommand(click.Command): + "if the photo was created in March 2020. " ) formatter.write("\n") + formatter.write_text( + "The templating system may also be used with the --keyword-template option " + + "to set keywords on export (with --exiftool or --sidecar), " + + "for example, to set a new keyword in format 'folder/subfolder/album' to " + + 'preserve the folder/album structure, you can use --keyword-template "{folder_album}"' + ) + formatter.write("\n") formatter.write_text( "In the template, valid template substitutions will be replaced by " + "the corresponding value from the table below. Invalid substitutions will result in a " @@ -903,6 +906,20 @@ def query( is_flag=True, help="Use album name as keyword/tag when exporting metadata.", ) +@click.option( + "--keyword-template", + metavar="TEMPLATE", + multiple=True, + default=None, + help="For use with --exiftool, --sidecar; specify a template string to use as " + "keyword in the form '{name,DEFAULT}' " + "This is the same format as --directory. For example, if you wanted to add " + "the full path to the folder and album photo is contained in as a keyword when exporting " + 'you could specify --keyword-template "{folder_album}" ' + 'You may specify more than one template, for example --keyword-template "{folder_album}" ' + '--keyword-template "{created.year}" ' + "See Templating System below.", +) @click.option( "--current-name", is_flag=True, @@ -995,6 +1012,7 @@ def export( skip_raw, person_keyword, album_keyword, + keyword_template, current_name, sidecar, only_photos, @@ -1188,6 +1206,7 @@ def export( export_raw, album_keyword, person_keyword, + keyword_template, ) else: for p in photos: @@ -1208,6 +1227,7 @@ def export( export_raw, album_keyword, person_keyword, + keyword_template, ) if export_paths: click.echo(f"Exported {p.filename} to {export_paths}") @@ -1596,6 +1616,7 @@ def export_photo( export_raw, album_keyword, person_keyword, + keyword_template, ): """ Helper function for export that does the actual export photo: PhotoInfo object @@ -1614,6 +1635,7 @@ def export_photo( export_raw: boolean; if True exports RAW image associate with the photo album_keyword: boolean; if True, exports album names as keywords in metadata person_keyword: boolean; if True, exports person names as keywords in metadata + keyword_template: list of strings; if provided use rendered template strings as keywords returns list of path(s) of exported photo or None if photo was missing """ @@ -1654,7 +1676,7 @@ def export_photo( dest_paths = [dest_path] elif directory: # got a directory template, render it and check results are valid - dirnames, unmatched = render_filepath_template(directory, photo) + dirnames, unmatched = photo.render_template(directory) if unmatched: raise click.BadOptionUsage( "directory", @@ -1699,6 +1721,7 @@ def export_photo( no_xattr=no_extended_attributes, use_albums_as_keywords=album_keyword, use_persons_as_keywords=person_keyword, + keyword_template=keyword_template, )[0] photo_paths.append(photo_path) @@ -1736,6 +1759,7 @@ def export_photo( no_xattr=no_extended_attributes, use_albums_as_keywords=album_keyword, use_persons_as_keywords=person_keyword, + keyword_template=keyword_template, ) return photo_paths diff --git a/osxphotos/_constants.py b/osxphotos/_constants.py index 714a32aa..cfdeeddb 100644 --- a/osxphotos/_constants.py +++ b/osxphotos/_constants.py @@ -51,3 +51,12 @@ _PHOTOS_5_ROOT_FOLDER_KIND = 3999 # root folder _PHOTOS_4_ALBUM_KIND = 3 # RKAlbum.albumSubclass _PHOTOS_4_TOP_LEVEL_ALBUM = "TopLevelAlbums" _PHOTOS_4_ROOT_FOLDER = "LibraryFolder" + +# EXIF related constants +# max keyword length for IPTC:Keyword, reference +# https://www.iptc.org/std/photometadata/documentation/userguide/ +_MAX_IPTC_KEYWORD_LEN = 64 + +# Sentinel value for detecting if a template in keyword_template doesn't match +# If anyone has a keyword matching this, then too bad... +_OSXPHOTOS_NONE_SENTINEL = "OSXPhotosXYZZY42_Sentinel$" diff --git a/osxphotos/_version.py b/osxphotos/_version.py index b7040edb..9815fa64 100644 --- a/osxphotos/_version.py +++ b/osxphotos/_version.py @@ -1,3 +1,3 @@ """ version info """ -__version__ = "0.28.11" +__version__ = "0.28.13" diff --git a/osxphotos/datetime_formatter.py b/osxphotos/datetime_formatter.py new file mode 100644 index 00000000..d5fdeef3 --- /dev/null +++ b/osxphotos/datetime_formatter.py @@ -0,0 +1,52 @@ +""" Simple formatting of datetime.datetime objects """ + +import datetime + + +class DateTimeFormatter: + """ provides property access to formatted datetime.datetime strftime values """ + + def __init__(self, dt: datetime.datetime): + self.dt = dt + + @property + def date(self): + """ ISO date in form 2020-03-22 """ + date = self.dt.date().isoformat() + return date + + @property + def year(self): + """ 4 digit year """ + year = f"{self.dt.year}" + return year + + @property + def yy(self): + """ 2 digit year """ + yy = f"{self.dt.strftime('%y')}" + return yy + + @property + def mm(self): + """ 2 digit month """ + mm = f"{self.dt.strftime('%m')}" + return mm + + @property + def month(self): + """ Month as locale's full name """ + month = f"{self.dt.strftime('%B')}" + return month + + @property + def mon(self): + """ Month as locale's abbreviated name """ + mon = f"{self.dt.strftime('%b')}" + return mon + + @property + def doy(self): + """ Julian day of year starting from 001 """ + doy = f"{self.dt.strftime('%j')}" + return doy diff --git a/osxphotos/photoinfo.py b/osxphotos/photoinfo.py index 00fd6e22..1df32457 100644 --- a/osxphotos/photoinfo.py +++ b/osxphotos/photoinfo.py @@ -7,6 +7,7 @@ PhotosDB.photos() returns a list of PhotoInfo objects import glob import json import logging +import os import os.path import pathlib import re @@ -19,7 +20,9 @@ import yaml from mako.template import Template from ._constants import ( + _MAX_IPTC_KEYWORD_LEN, _MOVIE_TYPE, + _OSXPHOTOS_NONE_SENTINEL, _PHOTO_TYPE, _PHOTOS_4_VERSION, _PHOTOS_5_SHARED_PHOTO_PATH, @@ -27,9 +30,15 @@ from ._constants import ( _UNKNOWN_PERSON, _XMP_TEMPLATE_NAME, ) +from .albuminfo import AlbumInfo +from .datetime_formatter import DateTimeFormatter from .exiftool import ExifTool from .placeinfo import PlaceInfo4, PlaceInfo5 -from .albuminfo import AlbumInfo +from .template import ( + MULTI_VALUE_SUBSTITUTIONS, + TEMPLATE_SUBSTITUTIONS, + TEMPLATE_SUBSTITUTIONS_MULTI_VALUED, +) from .utils import ( _copy_file, _export_photo_uuid_applescript, @@ -636,6 +645,7 @@ class PhotoInfo: no_xattr=False, use_albums_as_keywords=False, use_persons_as_keywords=False, + keyword_template=None, ): """ export photo dest: must be valid destination path (or exception raised) @@ -666,6 +676,7 @@ class PhotoInfo: when exporting metadata with exiftool or sidecar use_persons_as_keywords: (boolean, default = False); if True, will include person names in keywords when exporting metadata with exiftool or sidecar + keyword_template: (list of strings); list of template strings that will be rendered as used as keywords """ # list of all files exported during this call to export @@ -873,6 +884,7 @@ class PhotoInfo: sidecar_str = self._exiftool_json_sidecar( use_albums_as_keywords=use_albums_as_keywords, use_persons_as_keywords=use_persons_as_keywords, + keyword_template=keyword_template, ) try: self._write_sidecar(sidecar_filename, sidecar_str) @@ -886,6 +898,7 @@ class PhotoInfo: sidecar_str = self._xmp_sidecar( use_albums_as_keywords=use_albums_as_keywords, use_persons_as_keywords=use_persons_as_keywords, + keyword_template=keyword_template, ) try: self._write_sidecar(sidecar_filename, sidecar_str) @@ -900,12 +913,350 @@ class PhotoInfo: exported_file, use_albums_as_keywords=use_albums_as_keywords, use_persons_as_keywords=use_persons_as_keywords, + keyword_template=keyword_template, ) return exported_files + def render_template(self, template, none_str="_", path_sep=None): + """ render a filename or directory template + template: str template + none_str: str to use default for None values, default is '_' + path_sep: optional character to use as path separator, default is os.path.sep """ + + if path_sep is None: + path_sep = os.path.sep + elif path_sep is not None and len(path_sep) != 1: + raise ValueError(f"path_sep must be single character: {path_sep}") + + # the rendering happens in two phases: + # phase 1: handle all the single-value template substitutions + # results in a single string with all the template fields replaced + # phase 2: loop through all the multi-value template substitutions + # could result in multiple strings + # e.g. if template is "{album}/{person}" and there are 2 albums and 3 persons in the photo + # there would be 6 possible renderings (2 albums x 3 persons) + + # regex to find {template_field,optional_default} in strings + # for explanation of regex see https://regex101.com/r/4JJg42/1 + # pylint: disable=anomalous-backslash-in-string + regex = r"(? _MAX_IPTC_KEYWORD_LEN + ] + if long_keywords: + logging.warning( + f"Some keywords exceed max IPTC Keyword length of {_MAX_IPTC_KEYWORD_LEN}: {long_keywords}" + ) + + logging.debug(f"rendered_keywords: {rendered_keywords}") + keyword_list.extend(rendered_keywords) + if keyword_list: exif["XMP:TagsList"] = exif["IPTC:Keywords"] = keyword_list @@ -982,6 +1373,7 @@ class PhotoInfo: if self.keywords or person_list: # Photos puts both keywords and persons in Subject when using "Export IPTC as XMP" + # only use Photos' keywords for subject exif["XMP:Subject"] = list(self.keywords) + person_list # if self.favorite(): @@ -1016,8 +1408,17 @@ class PhotoInfo: json_str = json.dumps([exif]) return json_str - def _xmp_sidecar(self, use_albums_as_keywords=False, use_persons_as_keywords=False): - """ returns string for XMP sidecar """ + def _xmp_sidecar( + self, + use_albums_as_keywords=False, + use_persons_as_keywords=False, + keyword_template=None, + ): + """ returns string for XMP sidecar + use_albums_as_keywords: treat album names as keywords + use_persons_as_keywords: treat person names as keywords + keyword_template: (list of strings); list of template strings to render as keywords """ + # TODO: add additional fields to XMP file? xmp_template = Template( @@ -1028,6 +1429,9 @@ class PhotoInfo: if self.keywords: keyword_list.extend(self.keywords) + # TODO: keyword handling in this and _exiftool_json_sidecar is + # good candidate for pulling out in a function + person_list = [] if self.persons: # filter out _UNKNOWN_PERSON @@ -1039,6 +1443,39 @@ class PhotoInfo: if use_albums_as_keywords and self.albums: keyword_list.extend(self.albums) + if keyword_template: + rendered_keywords = [] + for template_str in keyword_template: + rendered, unmatched = self.render_template( + template_str, none_str=_OSXPHOTOS_NONE_SENTINEL, path_sep="/" + ) + if unmatched: + logging.warning( + f"Unmatched template substitution for template: {template_str} {unmatched}" + ) + rendered_keywords.extend(rendered) + + # filter out any template values that didn't match by looking for sentinel + rendered_keywords = [ + keyword + for keyword in rendered_keywords + if _OSXPHOTOS_NONE_SENTINEL not in keyword + ] + + # check to see if any keywords too long + long_keywords = [ + long_str + for long_str in rendered_keywords + if len(long_str) > _MAX_IPTC_KEYWORD_LEN + ] + if long_keywords: + logging.warning( + f"Some keywords exceed max IPTC Keyword length of {_MAX_IPTC_KEYWORD_LEN}: {long_keywords}" + ) + + logging.debug(f"rendered_keywords: {rendered_keywords}") + keyword_list.extend(rendered_keywords) + subject_list = [] if self.keywords or person_list: # Photos puts both keywords and persons in Subject when using "Export IPTC as XMP" diff --git a/osxphotos/template.py b/osxphotos/template.py index 551181db..90e802f6 100644 --- a/osxphotos/template.py +++ b/osxphotos/template.py @@ -1,4 +1,4 @@ -""" Custom template system for osxphotos """ +""" Custom template system for osxphotos (implemented in PhotoInfo.render_template) """ # Rolled my own template system because: # 1. Needed to handle multiple values (e.g. album, keyword) @@ -9,22 +9,14 @@ # # This code isn't elegant but it seems to work well. PRs gladly accepted. -import datetime import locale -import os -import pathlib -import re -from typing import Tuple, List # pylint: disable=syntax-error - -from .photoinfo import PhotoInfo -from ._constants import _UNKNOWN_PERSON # ensure locale set to user's locale locale.setlocale(locale.LC_ALL, "") # Permitted substitutions (each of these returns a single value or None) TEMPLATE_SUBSTITUTIONS = { - "{name}": "Filename of the photo", + "{name}": "Current filename of the photo", "{original_name}": "Photo's original filename when imported to Photos", "{title}": "Title of the photo", "{descr}": "Description of the photo", @@ -70,374 +62,3 @@ MULTI_VALUE_SUBSTITUTIONS = [ field.replace("{", "").replace("}", "") for field in TEMPLATE_SUBSTITUTIONS_MULTI_VALUED.keys() ] - - -def get_template_value(lookup, photo): - """ lookup template value (single-value template substitutions) for use in make_subst_function - lookup: value to find a match for - photo: PhotoInfo object whose data will be used for value substitutions - returns: either the matching template value (which may be None) - raises: KeyError if no rule exists for lookup """ - - # must be a valid keyword - if lookup == "name": - return pathlib.Path(photo.filename).stem - - if lookup == "original_name": - return pathlib.Path(photo.original_filename).stem - - if lookup == "title": - return photo.title - - if lookup == "descr": - return photo.description - - if lookup == "created.date": - return DateTimeFormatter(photo.date).date - - if lookup == "created.year": - return DateTimeFormatter(photo.date).year - - if lookup == "created.yy": - return DateTimeFormatter(photo.date).yy - - if lookup == "created.mm": - return DateTimeFormatter(photo.date).mm - - if lookup == "created.month": - return DateTimeFormatter(photo.date).month - - if lookup == "created.mon": - return DateTimeFormatter(photo.date).mon - - if lookup == "created.doy": - return DateTimeFormatter(photo.date).doy - - if lookup == "modified.date": - return ( - DateTimeFormatter(photo.date_modified).date if photo.date_modified else None - ) - - if lookup == "modified.year": - return ( - DateTimeFormatter(photo.date_modified).year if photo.date_modified else None - ) - - if lookup == "modified.yy": - return ( - DateTimeFormatter(photo.date_modified).yy if photo.date_modified else None - ) - - if lookup == "modified.mm": - return ( - DateTimeFormatter(photo.date_modified).mm if photo.date_modified else None - ) - - if lookup == "modified.month": - return ( - DateTimeFormatter(photo.date_modified).month - if photo.date_modified - else None - ) - - if lookup == "modified.mon": - return ( - DateTimeFormatter(photo.date_modified).mon if photo.date_modified else None - ) - - if lookup == "modified.doy": - return ( - DateTimeFormatter(photo.date_modified).doy if photo.date_modified else None - ) - - if lookup == "place.name": - return photo.place.name if photo.place else None - - if lookup == "place.country_code": - return photo.place.country_code if photo.place else None - - if lookup == "place.name.country": - return ( - photo.place.names.country[0] - if photo.place and photo.place.names.country - else None - ) - - if lookup == "place.name.state_province": - return ( - photo.place.names.state_province[0] - if photo.place and photo.place.names.state_province - else None - ) - - if lookup == "place.name.city": - return ( - photo.place.names.city[0] - if photo.place and photo.place.names.city - else None - ) - - if lookup == "place.name.area_of_interest": - return ( - photo.place.names.area_of_interest[0] - if photo.place and photo.place.names.area_of_interest - else None - ) - - if lookup == "place.address": - return ( - photo.place.address_str if photo.place and photo.place.address_str else None - ) - - if lookup == "place.address.street": - return ( - photo.place.address.street - if photo.place and photo.place.address.street - else None - ) - - if lookup == "place.address.city": - return ( - photo.place.address.city - if photo.place and photo.place.address.city - else None - ) - - if lookup == "place.address.state_province": - return ( - photo.place.address.state_province - if photo.place and photo.place.address.state_province - else None - ) - - if lookup == "place.address.postal_code": - return ( - photo.place.address.postal_code - if photo.place and photo.place.address.postal_code - else None - ) - - if lookup == "place.address.country": - return ( - photo.place.address.country - if photo.place and photo.place.address.country - else None - ) - - if lookup == "place.address.country_code": - return ( - photo.place.address.iso_country_code - if photo.place and photo.place.address.iso_country_code - else None - ) - - # if here, didn't get a match - raise KeyError(f"No rule for processing {lookup}") - - -def render_filepath_template(template, photo, none_str="_"): - """ render a filename or directory template - template: str template - photo: PhotoInfo object - none_str: str to use default for None values, default is '_' """ - - # the rendering happens in two phases: - # phase 1: handle all the single-value template substitutions - # results in a single string with all the template fields replaced - # phase 2: loop through all the multi-value template substitutions - # could result in multiple strings - # e.g. if template is "{album}/{person}" and there are 2 albums and 3 persons in the photo - # there would be 6 possible renderings (2 albums x 3 persons) - - # regex to find {template_field,optional_default} in strings - # for explanation of regex see https://regex101.com/r/4JJg42/1 - # pylint: disable=anomalous-backslash-in-string - regex = r"(?QBzu&C`{zUtd2`WUqk8BfT#)A=^-Q tQY3k(sGy1(>S&;e7TV~biyrzIV2BaMm|%(-9Juh{BfuPsEDyuY`wu~aNdy1@ delta 200 zcmWN^$qB+x6hKj)KIeJPq-n#gh?p{d4>s@>Lbkd}0b&UfBny|Z16P99A%b^txLj+k zSR8$cPQhBDy@`#)rWBj<)#%faOS*LRAVr$H`jc~Z^K>Qb*Vm5}*()IONbd_x$TrlS t6iFT`DyX7{IvQxAg*H0qqK7^P7-EDmCYWLd2QEDL2r$PY%foQ<{sS`MNa_Fp diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm index b7d9e472945cd684732f89390a459d2316b32d45..34c3650edc9e30ee1c94a833e8df1484a94a7dd6 100644 GIT binary patch delta 158 zcmZo@U}|V!s+V}A%K!pQK+MR%AOOT*&hy(}%-VSm>S!43y1Dtpo^4l{YJai1Zq6W8 lJ;*o^0GazA34jF|7`UJ`1B27XiLYHIF5qBf+&Hn>3IG8ZFxUV9 delta 164 zcmZo@U}|V!s+V}A%K!t63=9HHAP$h&`baE%@&WZl8V0*=u$@LzLHCga1A_nq5HM*N?7F%6#GY*%78+YCx?Y|P6mtR!Gr+{nzTAGU zbC9=vbAW(3C*#V=1)NQcrzcP3^_v_iwVrYL=8s&Cj6eZznTL$0H|xqiWMn)unP0vg NNY?Wg10}c>Tme0eEOr0@ delta 285 zcmdm?@FKy&yq>LzLHCga1A_nq5HM;O?7G2rUcGVMLSyR}8*V-Wia9YbFfqWyYhp!t z*9Rr(ZnQAxWL!46fU}A5#N>&*ev=)!)-x{I{E^F%5h!5H^N{hxW>MaUjEpBIf9Gol zlJ)$>K#9-%u0X3$jSLriv~`jCfyrPamxGNw2{&>n#K@CiBTqt%JOwuL6xhg!Gc?xdiGKi6hostuuid 9575E48B-8D5F-5654-ABAC-4431B1167324 pid - 2322 + 725 processname photolibraryd uid diff --git a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite index d2cd81c86d65d99d945683914e6aad4f74d1c5e4..0f72cdaf863038d313bdc92c9a6664f3208b41a3 100644 GIT binary patch delta 1604 zcmbW1J#1T56vut9^PJuk-y5j}77nc{s!D`3vC~9?QWPPP#EFyUJIzP)9ow;+0VKW_ z>={)ZYQUmPVL$?;R#c`k7zKuo9TXnD@#1mbn(A=bW_q?#zYzezfPS|6z!i32Plht#- zFDhfrYjWwTAN`TE>W%Ub|D@F0Wjef}-YV}LPOCSo#~zKhb~c`9ipBJ1>ZvPVzVO>O ze?PyI{_3TBSM`CEKkxf`_t7VA`&P@(AGG{*|CZjbl%48Rd$k{(x@n8}*ZLWK5UbBY z@_Ij3zX&O?3_^_Fi`54pNtS*{C(9xv%l9lmHd*E&8J1y4zi!0p>yW3pvIdE=tU}uK zeo$YD8qI~}Xi@1D+Y**?ESDeyENKz!vkf`TZ+IDUl%)VUr4J&JSRHBUQNA5{>60u- zOpmZ2Go5BZYWf7r2IRQjcP>_+fNI?ciuG}R7d&PRm0^|(kRg^)NQz|yGKibw2)rZU z$IhbC&Py|pV=U8<7|RqSV3~wOS%x4-`P5R77QGiZ>~p3$ut4STxN29=Rh~VePP>!# zhW*UGZ-2FOcHO>Gz1{jtyz=rH^?31s@}>!IjDToP3<=Riu>swnv>1+^hQ*K;4TvEw z>K8*^v?zwaXh95#(YzS`AB~71Dq0gmR<`|q7|tjEm{^sT(l&Hyy%i&ZP2I~ z5~FP~L`IjzkQo&s5pje@TVhC!a$<;$vSP@MGGYjhHjAQ&jyA;5RZ;F$77|Vn~vv4Ds0`LK>1HGNhCk zJ`WnK{n@ELEVW&8*WJ7Jy#3DzzyP@2`eeLvXGhH>y22q~&W1z4^oB#gbcaL0^n^pe zB*GzJlC>AVRXhg5DPUafa6FC5ZQaCJO^ukJy4IW{0l^MV%q=! delta 1604 zcmbW%J8WB37zc2l>s+TN#pgsSfrT$|9!}CYen0YXoH$8CNeM^{AR#dzp*)(3fkId8 z8C4x>z@kfGKmw#zR0bK00s|uh1JDVj6+&VI6x$;y|L?nJU?$7|cfV`hdvpKio_bx^ z>-zIc$BDf555r0owSO5=(Eb4;tNndMM*Dk+oc4DSrPj6Mj5=er{|1gs@g;Rr@d~ZQwBzPvJ8Y7OTdWN^E-=S z?eSnCTvOgQtAtYrj3RK6F(trtwtyLa!VADz#wHN=`k_#yvkp%1&#S=mj5Xjn#wxJG zr~om>3NYsNtc`T$K+o&?wa$5d7TjhQlV=$-z$L~su+4}A&)~;V6rS|?wrNZfd@2Q; zV)@h%S0vniAo))1(M((U=Hz(WnT0Q9*>lC@(@| zloR3qqqqoF(Xt3#(bAa#?bXm0Ey@gS(SitdQAvcpsOZjiXD;QGrh zms~D#)^OtmHz-MBZMfWYx#7;QyR5ogbGhoW;&R1h*$U8{%Xyaxmve*RonT?O!K{xj fFjxw_9At`B>&~WKrXncJG0D?A3n(2t`f{ diff --git a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm index fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10..3d5d2ccc3052e8e647f53d127983bcd83ecc9b9b 100644 GIT binary patch delta 265 zcmZo@U}|V!s+V}A%K!pQK+MR%Aix8pRe<+>VzRHsW zq^bv*2Ld4aKN0{7GBB8dC1478febz%<_BVFAeI4Q0U#CxVj&PanB)MHoM4h`W1}iN0Ec%&G5`Po delta 71 xcmZo@U}|V!VwQNMJNbUHDz^o@1e@vP+ni9o0*uc91^>~&#)F&z8!y!B0|2UEAaMWy diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db index 57dc31e82f7872b47937c03fc8bb3c4c61427e78..258a10e9a48eb3a8646b34782ccb9efcfb6bc2a7 100644 GIT binary patch delta 22 dcmZozz|ydQWr8%L{X`jOM*GHutqF_^_yJTQ2MPcH delta 22 dcmZozz|ydQWr8%L`9v9KM)SsmtqF_^_yJRS2KoR1 diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm index 34ce768b0aedc361d19897bbe10d2f57eddb2e48..facab9c5b995325d72a627c76cab758637c6978a 100644 GIT binary patch delta 64 wcmZo@U}|V!njj%D|3t+m{SS8(0(3V`lQjzxv)VRek-s6!13Xe26Bg710AL&&DF6Tf delta 64 vcmZo@U}|V!njj&O=bC>%)lT3WJ}g9o;q>WLbr9+QP)qd-M9MCeFQk7Pd zsvcxE2!PD}j|3p13``8#8yjcyOk5zdS%&wR>E?e<9&CJS%<9Y<%$m$v%-YO4%$pT? M`;<37%8?TW0C(Ft!~g&Q delta 165 zcmZo@U}|V!s+V}A%K!q55GkpM)Lfr&w7W8-X|%@(}JOeY8M%547UMeH=O_g diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal index f691e94b7e1a3d502206c46647df8c0db002962a..4e51131373b1b3bd51e391e82d1f8569a97af7af 100644 GIT binary patch delta 310 zcmXBMyGp|V7(ij-tx>CKy{GYh&Am|+Tm(VrCWs*99rOW;V##nehf=B};G($ILB&E> zT^z(g5kv>U(H9UmvGC6y=Om3sk+uYfareDE*ax9}F=|%o5AL9Pi|c?;m2enB92(RByDDo{cWc^;paibDCX~ q(rZ^?aeqa~6>?=+do66o_p4PgPs|fLxhUy{^IApB7xSBTru_r`J#GmA delta 111 zcmV~$#SH>M006)o?(TZHYlS?fh)rmNgfDMGQOtb8FADE(^bko%N=eJe%E>DzDk-a| qs;O&eYH91}>ggL88X23Iip|U|EUm0eVuznT9fF1y#IfmJh%uw@0|zQ{oDTtUNqFg2R)gO|B6G1SV0dWK=OOW zKHi;kVbvj&c_{A`_wx4fZr)+l;lVYY@?PdX-pxF$I^195sqW?dB#ohCj}-I==WWd3 zdhDPl33}3?ht3B=`*Uc`hB8bQ^l(8BohyXC_wnH!9&`_@>%-sIfA4>x%tPk{sqd{F zAMg5vRfqd|hd$4R_DUcBJ%@nTn+v#r3%Gy_xPS||fD5>Q3%Gy_xPS||fD5>Q3%Gy_ zxPS||fD5>Q3%Gy_xPS||fD5>Q3%Gy_xPS||fD5>Q3%Gy_xPS||fD5?5|5cz7PN6p6 z;cebwbA6%)p+ArF<^oTJKx5P))FMaj z^~2l*2WO+j+jB!nYf6Lgh(9JokR`D36M$jH;-Pny8JssE>wdh8AdrHfVcFP2#c`vcx z3ahaOYq35XvN4;oIa{(d+p;}7vNOA~JA1M>`?5a=axjN-I7f0c$8tO;ax$lKI%je= z=W;$5axs^3IahKu*K$2Kax=GbJ9lz7pW$9U$NhYPFYy%~6Ag4 zlttN;L%Ebk`BXrKR7Ay8LZwtj#_0&L()I`nHT5Z){9o1P~)m=T+ zTYc4E12tGfHC!V#T4Oa{6E#^=HC;0`TXQvE3$<8FwOlK;T5Gjl8?{+mwOu>4ThC~( zp3{E4pqKQD4(hO8*HOKx<9b`~>V2KmDSf2V`b=l_g)Zo#zS7tFR^RK2e$rL_s^4{8 zH+5TgL^BI-5iPPswdfYpVq08`ZwW22CAH+1(o$PmOK%x1vt_mHmeX=uUdwL~HMf@5+S*!s>u8;=t97@Y*4z48e;a6nZKw^m zkv7`K+IX92lWnR^x0yEE=GuH)Xp3#BEw`1n+Sb~7+i06@t8KTPe)jb@cdoy>n}W(% z5rT?ZQ4kF=5DRe-4+)ScsHK%GsGpT8sQr=-8ITECkPSJI3we+a1yBe@Pz)td3T03Z z6;KIPPz^Ou3w2Nr4G_V9qWl%O-~Jd0G(~f?L~FD~dvru+bVYacL~ry(e+X?dThjIY{ho$#BMx;y?74$@d94LD>#V5 zcpXRaCXVB6yo>j75)q%U6>`7c?qd|5AId)z_z0(Q2A|<9zQ6@s#8>zl-{N~*!B4n~ zU-3Jx<0fw74oG8oMr340Wpu`5Y{q4LCS+nJWpbuuYNlm+W@Kh&Wp?IdZsuiv7Gz-- zWpS2dX_jSqR%B&XWp&nMq$h0l|3heh_+uzgj}6#}P1uYr*otk~jvd&EUD%C1*o%GG zj{`V}LpY2hIErI9juSYEQ#g$?IE!;Qj|;enOSp_HxQc7IjvKg%TeyuoxQl!EEcfww z9^i|7nXmE?U*i$J!DD=jk=06V)J`4LNnO-UJ=9Bm)K3F6NJBJCBQ#25G)@yVNmDdU zGc-$cG*1h(NK3R#E3`^$v`!neNn5l{JG4uC^sM&jc^%M;dRedPkY3Xfy`f`zOYi7C zozMsRP#^ocdkkmdqd27Zc!D4BLw?Lp_$fcY#C3xDG^-ry}p zQFO&rY{gZ4B~)T1RdS_NYNb_rWmINmRd(f6Zsk>e6;xprRdJP6X_ZxZRa9kFRdv-= zZPitMHB@6Y^?CRxLig9aC-A90*EyZnm%60O`bOXB2mPp@^^1PfHQmrH{UMkvoJFum z7R91j42xxPES@E>M3%&oSqe*KX)K*(uuPW4vRMwxWqB;06|h29#EMx7D`jP@oK>(& zR>i7W4Xb5!te*eA!sp;47ieTnteLg2R@TPaSqJN6U96k+uwK^3`q=;*WJ7G2jj&NR z#>UwMn`BdLn$56THpk}K0$XHDY?-aFRkp^~*#_HWTWp){u+aZ%@#X?9-~uk-0#CMp s{4>gv9iSh*3%Gy_JcNMx-v1D4{ty>%0T*xq7jOX=Z~+%^fv_p?CrG<8{r~^~ literal 32768 zcmeI*Rcstd7zE&|3NsqQ%yArMW_CDnz+q-)W@ct^$YEw?W@ct)xZJLsNPfA8C{Yyq z{+3$*YBcKY`Kos{FVo|G%L6|efyf^P#B>}`=Wi~4o^>yFJA3=t2k(RRMnv%G;^kW^ zq5Dss|6^?DxZeV_fXAJmqdR(tKUf{t3dfWX%+XyO-TB>CgSJD!%w4}{Zq+~Ypz07X zbGPrATlLR8s5%79-2HpzR{b*%sty4&kMTWotNxh>b%%i2JMUec_i|SM9tUSWp&i|t z37CKhn1BhGfC-p@37CKhn1BhGfC-p@37CKhn1BhGfC-p@37CKhn1BhGfC-p@37CKh zn1BhGfC-p@37CKhn1BhGfC-p@37CKh{NDwpVhjo6H> z*p8jpjlI~9gE)+%IF6Gzjk7q9i@1!dxQ?5+jk~yyhj@&qc#fBNjkkD@kNAwQ_y#f< zLogJ>FdQQ=5~DC0U7Qbk1*#SYQ{cvNjG|Hc;M@+vTA&w*$=Hm`_)N&eOv>a;$<$24 zv`o*8%*?FJ&YaB6yv)ynEX<-T&XO$6GAzdmti&p;%IfrCE!JT@Hee$*VKcU1E4E=f zc3>xVVK??*FZN+S4&WdT;V_QiD2@qqt3NKL!kyz8Rika~2l{pIe*qIYnNvBPGdY`c z>B|LNL_aR&a<1fRuH|}e8G{-sOEh zDC%ZM&l zxhtk(E3V=zp%N>pk}IWBD~-}By)r7ZvMRfBD!1|~zY40bimJFusrYO}U#yLM`~_G-Tl>adRLxK8S{&g#4_>awot zx^C*W?&`iC>am{cxnAnE-s*jjSm#1;gmmml5fUn1Pv?h1r;cxtNFfSb&9C zgvD5brRc@7EYFIpOm9|W4c26B)@6M*WMejEbGBq_wq<*EWM_6|clKm&_GNz#4({R}?&AR-;t?L>37+B^ zp5p~x;uT)w4c_7%-s1y4;uAjO3%=qTzT*de;uroyND8iy3azjTuZW5)7r7~hVkwT| zDS;9xiIORWQprP}N~a9Uq%6v&9Ll9U%BKP$TC1(vtD`!rtGcVFdaJMcYoG>esD^8##%Y2kX^N(4hGuDw=4rkbYO$7R znO10()@YqJXp^>Rn|5fI_Gq6D=#Y-+m`>=F&gh&j=#sAJnr`Tp?&zK#=#if2nO^9X z-soMB_?`aT|DT<00w!PrCh*?^&V6{TnScqHfC-p@37CKhn1BhGfC-p@37CKhn1BhG zfC-p@37CKhn1BhGfC-p@37CKhn1BiV-2!yH**XM5Aq>JH0wN&_qB-7g?S>eL^>5a%^vg5<(*yhq D9fi+; diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal index e0aaa0058187bf65a306c52dc0c4e76475d5dbdd..3892cbff1035ff5c9f9a1b41e22fe2b729888d45 100644 GIT binary patch literal 3889312 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�_$)yy=!`Y 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

tZGtMgLEy6Mm7p8gt@eRNEZ!YUP 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 delta 72 zcmV~${SiWN007VvDV2ymh%##Z@dmMiy9W4eVglC+-W#VS3iIbHvJp#crFQl*2S+El XvqI^jQoFjjduX(tI=z?oZwUVtopBhc diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm index 23a3792e2e17dc2ecc8d89f03b0437573853d75f..c8d13ffc8c90c411c6f62eafd0d1f6def797d23f 100644 GIT binary patch delta 1286 zcmb7Bc~I0<9N+i({IF#gbxlyhQX-Q?M6ImQGQ0&*kx($uK$K(M6hRagkPS;K4W(Cz z(lpiBG0l!+ye{p;O0&bt?9j?Q$}TD`t?ba=Q+8(E{_4$qX5RZ;@B4l~pASAC>Z1=2 zwgr~3*<7u(*;Z;I!j-+cX7Bdw(G`{X*4%yVk2ajnauhr><^TEv-KO_U(CXxAYvof7 z`yE0wJ=|NyI$d&$!%8mIYNLi8$Oa8dqmM>EjaZF1jWmtv8aW!XG>qRN+wDDNhSM%e zJL|d@YPvW?wnU-q;fU8pOXfSQ@TySVu%hZ*MPzt&h-??tf%YOTm4wKaC_1lwMTl;X zGEDH(GW2<2(EGzZhR_JS=j@om6Bx)HBHM*KIBk-Z|4CN{(nc-|lI^0bQwlRug(`3+ z4^s&#F^qi{&*L?GiVoNq$tyULqnXB=ID@6EV-sb8bDVl&Yztzx;&tr9j}VOFKwi%= zoJlvA^Iqdgmyb>Gi+5y``|&Qv#4wI9q*r<;`6F)RWZuGZuH;5Tmdj14e(|n6KC@2k zPVEm4Ra`kHukA|qNPzK9R-Iljg*oPx!!jHZQ4naJTB cn zxxAH2c^mKM{idKuJ(%f6;!D_rFK`sc@h8IAjTbSFVHnJ7IDyl6GYh$p%hUatC+%cW-*^7tl$#Xu$Fgno#`5( zn&;@QH_bm$?)=O!u}hZ?lt<@pN_Yi(@g=^+ulO4m(8WIN&mp{ylQ^AuoX;{=^LF0D z7E_cbUBwnp;jNgUn94b4DGfZyKxx5!NI<~(%3z6Ua8*-=Y{6rRgLaF z7Dk!S~mas17<>pi?pI*FKylr~af$|p7>s5S&L--y&IDpAaWf2#%(KrXFwk1y@ s@&x{YotJPZGdY`H-oXtOc{?PeD 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 diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal index 14f6afff5744667629248f5f164fbc1998e8c0c5..ee4b7e988aac5cddc7deb3dd1b440e34a9f5239d 100644 GIT binary patch delta 1138 zcmX@m!F`~E+rqq_t%*VRkpu&S00Rgt3{pts;j$1kV-MZ(U)?+vD8vZDF!7hO5}RDE z8I?~C5Rl&({*qq+CUNe_pPc$6`?k#i0vrNxQHOIrTBp?;XH9NY5SctdffX5Vo}lmm zq5rX4ypDuK%EiqM21xo-HWv8J`L}-wP?T9floi>9?`r>Skc;g3 z6LUk$&HvXKGQk7IqszX!Ci2^s%?=xpOqJGprsmQ2i5F6A(!`$lSr`Esyg(9-BiPo|B-6^3)+l-J!XFiHa3jBC)8PLM3{L|kC zG8)6(oo~MXZgbz)<=YK{kag@l;A!|f{5$h@k0fN_t=5lNT-4H{wmL!@Crm;X-rBk_VTtia`RywfAq)4$`6tzN?$6zRU=y;iXyFCM z`c&(s5Vxcb$zc-Xsl_zF8YYSO%8g0n0Y-lN*Oq+f%IiF{H{&_vm`+45`7*!5Nm4kp^Xrm;t z=Z=s_7-?tS33I5Myf~4avldbF_+^3nHj#Jso~v?33Z=^;H?0iwXpLKmwP09uO^Vnt~TJ(hctcpkR%`qSB;6Tlsup8+9MVD=VI7-tk%gKS3-isS& zH)T|AFT&5k1YK+4qy9?FS^FQoz`wUd&(0?KrcBWX_Oj3A%Ch z+pg;<-5at?ORNvxS5b$G0wG5%*pxiaC@(~ENzKJ&vHXyzK^nn&iXkGX#KXtMc9N7q-xYJki$ PWmRj`_05eT?G)@E0SwfW diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist index 932681cb..b1d90f7c 100644 --- a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist +++ b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist @@ -3,24 +3,24 @@ BackgroundHighlightCollection - 2020-04-29T06:08:11Z + 2020-05-01T23:03:12Z BackgroundHighlightEnrichment - 2020-04-29T06:08:11Z + 2020-05-01T23:03:11Z BackgroundJobAssetRevGeocode - 2020-04-29T06:08:11Z + 2020-05-02T01:35:19Z BackgroundJobSearch - 2020-04-29T06:08:11Z + 2020-05-01T23:03:12Z BackgroundPeopleSuggestion - 2020-04-29T06:08:11Z + 2020-05-01T23:03:11Z BackgroundUserBehaviorProcessor - 2020-04-29T06:08:11Z + 2020-05-01T23:03:13Z PhotoAnalysisGraphLastBackgroundGraphConsistencyUpdateJobDateKey - 2020-04-29T06:08:13Z + 2020-05-02T01:35:36Z PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate - 2020-04-29T06:08:10Z + 2020-05-01T23:03:11Z PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate - 2020-04-29T06:08:12Z + 2020-05-02T01:35:19Z SiriPortraitDonation - 2020-04-29T06:08:11Z + 2020-05-01T23:03:13Z diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm index ca5a3e0161935b8d90903afe67d1ec68143a5841..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 100644 GIT binary patch delta 13 UcmZo@U}|V!nrL9K(cnTo03odfCIA2c delta 13 UcmZo@U}|V!n%JPRQR7BE03%%mZU6uP diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm index ca5a3e0161935b8d90903afe67d1ec68143a5841..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 100644 GIT binary patch delta 13 UcmZo@U}|V!nrL9K(cnTo03odfCIA2c delta 13 UcmZo@U}|V!n%JPRQR7BE03%%mZU6uP diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb index aba6bab782a321c6c98bfb4cc2ed8d1227f3064a..2c32774fbfe9189045d379097b70481cff109eb4 100644 GIT binary patch delta 1554 zcmbu7Urbw79LLW&z5m+V`={;gf1vFK)KN;?LD(=6Y2lVXQb1>DD`6F~F57f~xX2bX z&^d(|2i7x#i7}vNi_0=2){Gb;+k+1#W^OTN`ZC=MF}gkI9*n$*=kiC`W_-|la&wZ; z`F?-D@A)%6=NX^#e9U;mr$W-#(jCFboMLtQN7xbO4qIa=GX5Y=GuOq8P%rV~qEIS+ zAl?;6r37;c*Lq)}-(_v$H}kn(nqq_CU_RIHWbG6Ud=B}*;L*Or1DQxTj3^{~B!u59 zcj4!%Tv3}qgJRj0RMp4QYV-*N5RF8SshnklteK;M-61Ci2aX*=6s`FH%d#e#23CjM z)ORe4C>=KWJr))KAn6HKq%9!ahlC+Tw|LD1PKdZSmD5nRRP`$gw0&|bd?M9q3)^^fC0d?g9dK%+P<;_ z2M}~4Ak6{Wrg&>EOotM3EFP(D3h$|I4DMCq;b2X;HWsX_i$;QVyBlMB_D0m&San#S zz63qgClRKIe#!Wg^sF>(@JeCvg7l$yTUfy*4JAn5g6kXH_G{c{d=DSub%yWxtNa9g z(Qr<38(zgj4K9Pw&l$Nc?l@JzXBu`W0>vC=y2LBewXHFqThbw#$3HezIN~hOD`weD zZdE`~I~AzV!{A6hcM$JZEl`K!Y8+)KJf()vPJ}P35!6fJyJ`ksZE@hPxU+CF-V71D zg1>66v~pQ4``~RFThi6s=?Az)-D*xF7+q`5eG2%E)5CAKl!O2cl!|qof=~n^SVnY6 z*{SThhnB8Wyxii2uVJP&W-+_h1v1%N5rTFiz&)+M!RK+J&98e0Sn$cVQr_^z-~9^b z+C+qeW_+nVf`4f*cG^=~1=;LEs2ghO_9NOrL1@9niGc2P;LhjlR!eNXjdp}2T};y{ zcqB366}Mi2!fPU%tYwjrP9HRBX~d3cWCFOg(}%BgOv18!&R00nIm*>U$ZN`I4hV@O z3Dbyx{o6pQfq>p^AZac*Q@8xgg^DTk?awc-jxDT?L7PnHrEzI+K9`baK3auR{Zr)W zvH(WE3)V1njzN5y01Cj~lBfHSl-gLmaeMA;6Bj{JaufXeVwqR&U${IAyNCX3&G%=c zhlc;5rU!NZOU|<2@6Gv;Z+p%&)A!XJJHM9m(f?8N&A0B``$o+SIzMDIu5OL_+>{X} z^10TD_M2#-{ig1XTQjvwR5?t~-1wZTgsGX{B`Sad$r&A)CnlFD^3&vJ7ABY2K_u8z0x+zPJ6&^mrjVk*?v~X?Tz9U<+f^7 zuGsF$SeX`oP!r0lY`gzWvM3cO-!ElMMZI0IJ^MQ2 zJ-Yt9QPyG{mvW!o4SAi)edOAZZ+x=PLp9}!L*)p@5vL4^U`SLyay*vHthL>t1p~}c zMo_VqKl{wkA;86e)CJ9!zonEO+hcfO?opkasZG%4`qmxwEe+9zV0~SrE*RaRHwI&| zcuO!IiAE!Oqu$a`-)bi%sE89Vf97zW95$d7%Ocm1$&Y`+f-b5 z*)Cc8thH8?{FC(?>lC>pUr>wXSvJz-m5JGGGk2L!N%z>frZP=DB6gX-R<4qghhr)0 z76dYis%EnlUgB()kj14@4M4jaj@m)6y=vy(cxE_ZCCN{0tLO@`vdIZwI{?gM` zDMLp!FF-doL}?(hfU&c%chkoH+;}{R!JJ`VJy+v)#vj$Q12(!DyO^ylRc8_MSM0JH z2?dmLAPOc+(7{uX#i>8i5x}u^-TQ5&?7OxC))g;ex7z%;jfuOPotC%%d&Pab@8Xjz z(Ozl!63O}3Gn;j>x7yvg3+)Pk?H0S-5iucx*zJyz0$0^~ITt{LA4@qe2d<}BNus*; zU>;K|UQaMEw*W3QAnorU_hapnZ?5Bs<9O?A*3Z=BG_IJ)P_tS%*_C5&w7>tS}D}vhdFyqd``Brme zd37Flk32ck#rfFb(dAVibpH?O(}9ho6Bjp;mjAtp^xRC|bk`F#J^Nn%_tS83#9~Je z#!~jI4R_3D+on2hz;ee8)4Mn4EGt3 FaceIDModelLastGenerationKey - 2020-04-29T06:08:12Z + 2020-05-01T23:03:14Z LastContactClassificationKey - 2020-04-29T06:08:14Z + 2020-05-01T23:03:18Z diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist index c36206de..736db69d 100644 --- a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist +++ b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist @@ -3,7 +3,7 @@ IncrementalPersonProcessingStage - 6 + 0 PersonBuilderLastMinimumFaceGroupSizeForCreatingMergeCandidates 15 PersonBuilderMergeCandidatesEnabled diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin index c4d8bbeea42da72e5748100e8afc1198826bb8ec..c3a6c0e587cc484e5e7a01e2e70e0068e9e89f66 100644 GIT binary patch delta 141 zcmX?aecpOP3!7e{r2X&v3%i)ps{YqAFnoCL`C%rI7TA>orWw~xwgib|2OsRQi{la9 b{DJwrq(I)mg&Ftl+xqVcm;|R?&A$KuC-op0 delta 141 zcmX?aecpOP3!Bc0WomW@7IrbGF@V5-2w*mN2018-09-28T15:35:49 - """ + """ xmp_expected_lines = [line.strip() for line in xmp_expected.split("\n")] xmp_got = photos[0]._xmp_sidecar() xmp_got_lines = [line.strip() for line in xmp_got.split("\n")] - for line_expected, line_got in zip(xmp_expected_lines, xmp_got_lines): + for line_expected, line_got in zip( + sorted(xmp_expected_lines), sorted(xmp_got_lines) + ): assert line_expected == line_got @@ -673,14 +672,16 @@ def test_xmp_sidecar_use_persons_keyword(): 2018-09-28T15:35:49 - """ + """ xmp_expected_lines = [line.strip() for line in xmp_expected.split("\n")] xmp_got = photos[0]._xmp_sidecar(use_persons_as_keywords=True) xmp_got_lines = [line.strip() for line in xmp_got.split("\n")] - for line_expected, line_got in zip(xmp_expected_lines, xmp_got_lines): + for line_expected, line_got in zip( + sorted(xmp_expected_lines), sorted(xmp_got_lines) + ): assert line_expected == line_got @@ -734,12 +735,14 @@ def test_xmp_sidecar_use_albums_keyword(): 2018-09-28T15:35:49 - """ + """ xmp_expected_lines = [line.strip() for line in xmp_expected.split("\n")] xmp_got = photos[0]._xmp_sidecar(use_albums_as_keywords=True) xmp_got_lines = [line.strip() for line in xmp_got.split("\n")] - for line_expected, line_got in zip(xmp_expected_lines, xmp_got_lines): + for line_expected, line_got in zip( + sorted(xmp_expected_lines), sorted(xmp_got_lines) + ): assert line_expected == line_got diff --git a/tests/test_export_catalina_10_15_1_use_photos_export.py b/tests/test_export_catalina_10_15_1_use_photos_export.py index 1750a2f2..87d9d1b5 100644 --- a/tests/test_export_catalina_10_15_1_use_photos_export.py +++ b/tests/test_export_catalina_10_15_1_use_photos_export.py @@ -155,4 +155,3 @@ def test_export_edited_no_edit(photosdb): with pytest.raises(Exception) as e: assert photos[0].export(dest, use_photos_export=True, edited=True) assert e.type == ValueError - diff --git a/tests/test_export_keyword_template_catalina_10_15_4.py b/tests/test_export_keyword_template_catalina_10_15_4.py new file mode 100644 index 00000000..9d7633ec --- /dev/null +++ b/tests/test_export_keyword_template_catalina_10_15_4.py @@ -0,0 +1,219 @@ +import pytest + +from osxphotos._constants import _UNKNOWN_PERSON + +PHOTOS_DB = "./tests/Test-10.15.4.photoslibrary/database/photos.db" + +TOP_LEVEL_FOLDERS = ["Folder1"] + +TOP_LEVEL_CHILDREN = ["SubFolder1", "SubFolder2"] + +FOLDER_ALBUM_DICT = {"Folder1": [], "SubFolder1": [], "SubFolder2": ["AlbumInFolder"]} + +ALBUM_NAMES = ["Pumpkin Farm", "AlbumInFolder", "Test Album", "Test Album"] + +ALBUM_PARENT_DICT = { + "Pumpkin Farm": None, + "AlbumInFolder": "SubFolder2", + "Test Album": None, +} + +ALBUM_FOLDER_NAMES_DICT = { + "Pumpkin Farm": [], + "AlbumInFolder": ["Folder1", "SubFolder2"], + "Test Album": [], +} + +ALBUM_LEN_DICT = {"Pumpkin Farm": 3, "AlbumInFolder": 2, "Test Album": 1} + +ALBUM_PHOTO_UUID_DICT = { + "Pumpkin Farm": [ + "F12384F6-CD17-4151-ACBA-AE0E3688539E", + "D79B8D77-BFFC-460B-9312-034F2877D35B", + "1EB2B765-0765-43BA-A90C-0D0580E6172C", + ], + "Test Album": [ + "F12384F6-CD17-4151-ACBA-AE0E3688539E", + "D79B8D77-BFFC-460B-9312-034F2877D35B", + ], + "AlbumInFolder": [ + "3DD2C897-F19E-4CA6-8C22-B027D5A71907", + "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51", + ], +} + +UUID_DICT = { + "two_albums": "F12384F6-CD17-4151-ACBA-AE0E3688539E", + "in_album": "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51", + "xmp": "F12384F6-CD17-4151-ACBA-AE0E3688539E", +} + + +def test_exiftool_json_sidecar_keyword_template_long(caplog): + import osxphotos + from osxphotos._constants import _MAX_IPTC_KEYWORD_LEN + import json + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = photosdb.photos(uuid=[UUID_DICT["in_album"]]) + + json_expected = json.loads( + """ + [{"_CreatedBy": "osxphotos, https://github.com/RhetTbull/osxphotos", + "EXIF:ImageDescription": "Bride Wedding day", + "XMP:Description": "Bride Wedding day", + "XMP:TagsList": ["wedding", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"], + "IPTC:Keywords": ["wedding", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"], + "XMP:PersonInImage": ["Maria"], + "XMP:Subject": ["wedding", "Maria"], + "EXIF:DateTimeOriginal": "2019:04:15 14:40:24", + "EXIF:OffsetTimeOriginal": "-04:00", "EXIF:ModifyDate": "2019:11:24 13:09:17"}] + """ + )[0] + + long_str = "x" * (_MAX_IPTC_KEYWORD_LEN + 1) + json_got = photos[0]._exiftool_json_sidecar(keyword_template=[long_str]) + json_got = json.loads(json_got)[0] + + assert "Some keywords exceed max IPTC Keyword length" in caplog.text + # some gymnastics to account for different sort order in different pythons + for k, v in json_got.items(): + if type(v) in (list, tuple): + assert sorted(json_expected[k]) == sorted(v) + else: + assert json_expected[k] == v + + for k, v in json_expected.items(): + if type(v) in (list, tuple): + assert sorted(json_got[k]) == sorted(v) + else: + assert json_got[k] == v + + for k, v in json_expected.items(): + if type(v) in (list, tuple): + assert sorted(json_got[k]) == sorted(v) + else: + assert json_got[k] == v + + +def test_exiftool_json_sidecar_keyword_template(): + import osxphotos + import json + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = photosdb.photos(uuid=[UUID_DICT["in_album"]]) + + json_expected = json.loads( + """ + [{"_CreatedBy": "osxphotos, https://github.com/RhetTbull/osxphotos", + "EXIF:ImageDescription": "Bride Wedding day", + "XMP:Description": "Bride Wedding day", + "XMP:TagsList": ["wedding", "Folder1/SubFolder2/AlbumInFolder"], + "IPTC:Keywords": ["wedding", "Folder1/SubFolder2/AlbumInFolder"], + "XMP:PersonInImage": ["Maria"], + "XMP:Subject": ["wedding", "Maria"], + "EXIF:DateTimeOriginal": "2019:04:15 14:40:24", + "EXIF:OffsetTimeOriginal": "-04:00", "EXIF:ModifyDate": "2019:11:24 13:09:17"}] + """ + )[0] + + json_got = photos[0]._exiftool_json_sidecar(keyword_template=["{folder_album}"]) + json_got = json.loads(json_got)[0] + + # some gymnastics to account for different sort order in different pythons + for k, v in json_got.items(): + if type(v) in (list, tuple): + assert sorted(json_expected[k]) == sorted(v) + else: + assert json_expected[k] == v + + for k, v in json_expected.items(): + if type(v) in (list, tuple): + assert sorted(json_got[k]) == sorted(v) + else: + assert json_got[k] == v + + # some gymnastics to account for different sort order in different pythons + for k, v in json_got.items(): + if type(v) in (list, tuple): + assert sorted(json_expected[k]) == sorted(v) + else: + assert json_expected[k] == v + + for k, v in json_expected.items(): + if type(v) in (list, tuple): + assert sorted(json_got[k]) == sorted(v) + else: + assert json_got[k] == v + + for k, v in json_expected.items(): + if type(v) in (list, tuple): + assert sorted(json_got[k]) == sorted(v) + else: + assert json_got[k] == v + + +def test_xmp_sidecar_keyword_template(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = photosdb.photos(uuid=[UUID_DICT["xmp"]]) + + xmp_expected = """ + + + + + Girls with pumpkins + Can we carry this? + + + + Kids + Suzy + Katie + + + 2018-09-28T15:35:49.063000-04:00 + + + + + Suzy + Katie + + + + + + + Kids + Pumpkin Farm + Test Album + 2018 + + + + + 2018-09-28T15:35:49 + 2018-09-28T15:35:49 + + + """ + + xmp_expected_lines = [line.strip() for line in xmp_expected.split("\n")] + + xmp_got = photos[0]._xmp_sidecar( + keyword_template=["{created.year}", "{folder_album}"] + ) + xmp_got_lines = [line.strip() for line in xmp_got.split("\n")] + + for line_expected, line_got in zip( + sorted(xmp_expected_lines), sorted(xmp_got_lines) + ): + assert line_expected == line_got diff --git a/tests/test_export_mojave_10_14_6.py b/tests/test_export_mojave_10_14_6.py index 97e383e2..ee9810f3 100644 --- a/tests/test_export_mojave_10_14_6.py +++ b/tests/test_export_mojave_10_14_6.py @@ -454,7 +454,7 @@ def test_xmp_sidecar(): 2018-09-28T15:35:49 - """ + """ xmp_expected_lines = [line.strip() for line in xmp_expected.split("\n")] @@ -464,3 +464,68 @@ def test_xmp_sidecar(): for line_expected, line_got in zip(xmp_expected_lines, xmp_got_lines): assert line_expected == line_got + +def test_xmp_sidecar_keyword_template(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = photosdb.photos(uuid=[UUID_DICT["xmp"]]) + + xmp_expected = """ + + + + + Girls with pumpkins + Can we carry this? + + + + Kids + Suzy + Katie + + + 2018-09-28T15:35:49.063000-04:00 + + + + + Suzy + Katie + + + + + + + Kids + Test Album + Pumpkin Farm + 2018 + + + + + 2018-09-28T15:35:49 + 2018-09-28T15:35:49 + + + """ + + xmp_expected_lines = [line.strip() for line in xmp_expected.split("\n")] + + xmp_got = photos[0]._xmp_sidecar( + keyword_template=["{folder_album}", "{created.year}"] + ) + xmp_got_lines = [line.strip() for line in xmp_got.split("\n")] + + for line_expected, line_got in zip( + sorted(xmp_expected_lines), sorted(xmp_got_lines) + ): + assert line_expected == line_got diff --git a/tests/test_template.py b/tests/test_template.py index ca4cbcae..bcb2eb74 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -92,18 +92,14 @@ def test_lookup(): """ Test that a lookup is returned for every possible value """ import re import osxphotos - from osxphotos.template import ( - get_template_value, - render_filepath_template, - TEMPLATE_SUBSTITUTIONS, - ) + from osxphotos.template import TEMPLATE_SUBSTITUTIONS photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] for subst in TEMPLATE_SUBSTITUTIONS: lookup_str = re.match(r"\{([^\\,}]+)\}", subst).group(1) - lookup = get_template_value(lookup_str, photo) + lookup = photo.get_template_value(lookup_str) assert lookup or lookup is None @@ -111,14 +107,13 @@ def test_subst(): """ Test that substitutions are correct """ import locale import osxphotos - from osxphotos.template import render_filepath_template locale.setlocale(locale.LC_ALL, "en_US") photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] for template in TEMPLATE_VALUES: - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert rendered[0] == TEMPLATE_VALUES[template] @@ -130,13 +125,12 @@ def test_subst_locale_1(): # osxphotos.template sets local on load so set the environment first # set locale to DE locale.setlocale(locale.LC_ALL, "de_DE.UTF-8") - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] for template in TEMPLATE_VALUES_DEU: - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert rendered[0] == TEMPLATE_VALUES_DEU[template] @@ -155,13 +149,11 @@ def test_subst_locale_2(): os.environ["LC_NUMERIC"] = "de_DE.UTF-8" os.environ["LC_TIME"] = "de_DE.UTF-8" - from osxphotos.template import render_filepath_template - photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] for template in TEMPLATE_VALUES_DEU: - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert rendered[0] == TEMPLATE_VALUES_DEU[template] @@ -169,14 +161,13 @@ def test_subst_default_val(): """ Test substitution with default value specified """ import locale import osxphotos - from osxphotos.template import render_filepath_template locale.setlocale(locale.LC_ALL, "en_US") photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] template = "{place.name.area_of_interest,UNKNOWN}" - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert rendered[0] == "UNKNOWN" @@ -184,14 +175,13 @@ def test_subst_default_val_2(): """ Test substitution with ',' but no default value """ import locale import osxphotos - from osxphotos.template import render_filepath_template locale.setlocale(locale.LC_ALL, "en_US") photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] template = "{place.name.area_of_interest,}" - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert rendered[0] == "_" @@ -199,32 +189,30 @@ def test_subst_unknown_val(): """ Test substitution with unknown value specified """ import locale import osxphotos - from osxphotos.template import render_filepath_template locale.setlocale(locale.LC_ALL, "en_US") photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] template = "{created.year}/{foo}" - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert rendered[0] == "2020/{foo}" assert unknown == ["foo"] template = "{place.name.area_of_interest,}" - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert rendered[0] == "_" def test_subst_double_brace(): """ Test substitution with double brace {{ which should be ignored """ import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] template = "{created.year}/{{foo}}" - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert rendered[0] == "2020/{foo}" assert not unknown @@ -233,14 +221,13 @@ def test_subst_unknown_val_with_default(): """ Test substitution with unknown value specified """ import locale import osxphotos - from osxphotos.template import render_filepath_template locale.setlocale(locale.LC_ALL, "en_US") photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_PLACES) photo = photosdb.photos(uuid=[UUID_DICT["place_dc"]])[0] template = "{created.year}/{foo,bar}" - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert rendered[0] == "2020/{foo,bar}" assert unknown == ["foo"] @@ -249,14 +236,13 @@ def test_subst_multi_1_1_2(): """ Test that substitutions are correct """ # one album, one keyword, two persons import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) photo = photosdb.photos(uuid=[UUID_DICT["1_1_2"]])[0] template = "{created.year}/{album}/{keyword}/{person}" expected = ["2018/Pumpkin Farm/Kids/Katie", "2018/Pumpkin Farm/Kids/Suzy"] - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert sorted(rendered) == sorted(expected) @@ -264,7 +250,6 @@ def test_subst_multi_2_1_1(): """ Test that substitutions are correct """ # 2 albums, 1 keyword, 1 person import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) # one album, one keyword, two persons @@ -276,7 +261,7 @@ def test_subst_multi_2_1_1(): "2018/Test Album/Kids/Katie", "2018/Multi Keyword/Kids/Katie", ] - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert sorted(rendered) == sorted(expected) @@ -284,7 +269,6 @@ def test_subst_multi_2_1_1_single(): """ Test that substitutions are correct """ # 2 albums, 1 keyword, 1 person but only do keywords import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) # one album, one keyword, two persons @@ -292,7 +276,7 @@ def test_subst_multi_2_1_1_single(): template = "{keyword}" expected = ["Kids"] - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert sorted(rendered) == sorted(expected) @@ -300,7 +284,6 @@ def test_subst_multi_0_2_0(): """ Test that substitutions are correct """ # 0 albums, 2 keywords, 0 persons import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) # one album, one keyword, two persons @@ -308,7 +291,7 @@ def test_subst_multi_0_2_0(): template = "{created.year}/{album}/{keyword}/{person}" expected = ["2019/_/wedding/_", "2019/_/flowers/_"] - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert sorted(rendered) == sorted(expected) @@ -316,7 +299,6 @@ def test_subst_multi_0_2_0_single(): """ Test that substitutions are correct """ # 0 albums, 2 keywords, 0 persons, but only do albums import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) # one album, one keyword, two persons @@ -324,7 +306,7 @@ def test_subst_multi_0_2_0_single(): template = "{created.year}/{album}" expected = ["2019/_"] - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert sorted(rendered) == sorted(expected) @@ -332,7 +314,6 @@ def test_subst_multi_0_2_0_default_val(): """ Test that substitutions are correct """ # 0 albums, 2 keywords, 0 persons, default vals provided import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) # one album, one keyword, two persons @@ -340,7 +321,7 @@ def test_subst_multi_0_2_0_default_val(): template = "{created.year}/{album,NOALBUM}/{keyword,NOKEYWORD}/{person,NOPERSON}" expected = ["2019/NOALBUM/wedding/NOPERSON", "2019/NOALBUM/flowers/NOPERSON"] - rendered, _ = render_filepath_template(template, photo) + rendered, _ = photo.render_template(template) assert sorted(rendered) == sorted(expected) @@ -348,7 +329,6 @@ def test_subst_multi_0_2_0_default_val_unknown_val(): """ Test that substitutions are correct """ # 0 albums, 2 keywords, 0 persons, default vals provided, unknown val in template import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) # one album, one keyword, two persons @@ -361,7 +341,7 @@ def test_subst_multi_0_2_0_default_val_unknown_val(): "2019/NOALBUM/wedding/_/{foo}/{baz}", "2019/NOALBUM/flowers/_/{foo}/{baz}", ] - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert sorted(rendered) == sorted(expected) assert unknown == ["foo"] @@ -370,7 +350,6 @@ def test_subst_multi_0_2_0_default_val_unknown_val_2(): """ Test that substitutions are correct """ # 0 albums, 2 keywords, 0 persons, default vals provided, unknown val in template import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_1) # one album, one keyword, two persons @@ -381,7 +360,7 @@ def test_subst_multi_0_2_0_default_val_unknown_val_2(): "2019/NOALBUM/wedding/_/{foo,bar}/{baz,bar}", "2019/NOALBUM/flowers/_/{foo,bar}/{baz,bar}", ] - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert sorted(rendered) == sorted(expected) assert unknown == ["foo"] @@ -389,7 +368,6 @@ def test_subst_multi_0_2_0_default_val_unknown_val_2(): def test_subst_multi_folder_albums_1(): """ Test substitutions for folder_album are correct """ import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_4) @@ -397,7 +375,7 @@ def test_subst_multi_folder_albums_1(): photo = photosdb.photos(uuid=[UUID_DICT["folder_album_1"]])[0] template = "{folder_album}" expected = ["Folder1/SubFolder2/AlbumInFolder"] - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert sorted(rendered) == sorted(expected) assert unknown == [] @@ -405,7 +383,6 @@ def test_subst_multi_folder_albums_1(): def test_subst_multi_folder_albums_2(): """ Test substitutions for folder_album are correct """ import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_15_4) @@ -413,15 +390,14 @@ def test_subst_multi_folder_albums_2(): photo = photosdb.photos(uuid=[UUID_DICT["folder_album_no_folder"]])[0] template = "{folder_album}" expected = ["Pumpkin Farm", "Test Album"] - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert sorted(rendered) == sorted(expected) assert unknown == [] -def test_subst_multi_folder_albums_3(caplog): +def test_subst_multi_folder_albums_3(): """ Test substitutions for folder_album on < Photos 5 """ import osxphotos - from osxphotos.template import render_filepath_template photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB_14_6) @@ -429,6 +405,6 @@ def test_subst_multi_folder_albums_3(caplog): photo = photosdb.photos(uuid=[UUID_DICT["mojave_album_1"]])[0] template = "{folder_album}" expected = ["Folder1/SubFolder2/AlbumInFolder", "Pumpkin Farm", "Test Album (1)"] - rendered, unknown = render_filepath_template(template, photo) + rendered, unknown = photo.render_template(template) assert sorted(rendered) == sorted(expected) assert unknown == []