From 03f8b2bc6ed53d3176f9d1ac51c3e4469db3e94b Mon Sep 17 00:00:00 2001 From: Rhet Turnbull Date: Tue, 13 Apr 2021 06:20:56 -0700 Subject: [PATCH] Implements conditional expressions for template system, #417 --- README.md | 113 +++++++++++++++++++-- docs/.buildinfo | 2 +- docs/_modules/index.html | 2 +- docs/_static/documentation_options.js | 2 +- docs/cli.html | 2 +- docs/genindex.html | 2 +- docs/index.html | 2 +- docs/modules.html | 2 +- docs/osxphotos.pdf | Bin 253052 -> 253116 bytes docs/reference.html | 2 +- docs/search.html | 2 +- osxphotos/_version.py | 2 +- osxphotos/phototemplate.md | 38 ++++++- osxphotos/phototemplate.py | 138 ++++++++++++++++++++++---- osxphotos/phototemplate.tx | 23 ++++- tests/test_template.py | 52 ++++++++++ 16 files changed, 340 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 10cbf66b..5b1ca4d6 100644 --- a/README.md +++ b/README.md @@ -791,8 +791,8 @@ example "{title}" which would resolve to the title of the photo. Template statements may contain one or more modifiers. The full syntax is: -"pretext{delim+template_field:subfield|filter(path_sep)[find,replace]?bool_value -,default}posttext" +"pretext{delim+template_field:subfield|filter(path_sep)[find,replace] +conditional?bool_value,default}posttext" Template statements are white-space sensitive meaning that white space (spaces, tabs) changes the meaning of the template statement. @@ -865,13 +865,68 @@ another find|replace pair. e.g. to replace both "/" and ":" in album name: "{album[/,-|:,-]}". find/replace pairs are not limited to single characters. The "|" character cannot be used in a find/replace pair. -?bool_value: Template fields may be evaluated as boolean by appending "?" after -the field name (and following "(path_sep)" or "[find/replace]". If a field is -True (e.g. photo is HDR and field is "{hdr}") or has any value, the value -following the "?" will be used to render the template instead of the actual -field value. If the template field evaluates to False (e.g. in above example, -photo is not HDR) or has no value (e.g. photo has no title and field is -"{title}") then the default value following a "," will be used. +conditional: optional conditional expression that is evaluated as boolean +(True/False) for use with the ?bool_value modifier. Conditional expressions +take the form ' not operator value' where not is an optional modifier that +negates the operator. Note: the space before the conditional expression is +required if you use a conditional expression. Valid comparison operators are: + + • contains: template field contains value, similar to python's in + • matches: template field contains exactly value, unlike contains: does not + match partial matches + • startswith: template field starts with value + • endswith: template field ends with value + • <=: template field is less than or equal to value + • >=: template field is greater than or equal to value + • <: template field is less than value + • >: template field is greater than value + • ==: template field equals value + • !=: template field does not equal value + +The value part of the conditional expression is treated as a bare (unquoted) +word/phrase. Multiple values may be separated by '|' (the pipe symbol). value +is itself a template statement so you can use one or more template fields in +value which will be resolved before the comparison occurs. + +For example: + + • {keyword matches Beach} resolves to True if 'Beach' is a keyword. It would + not match keyword 'BeachDay'. + • {keyword contains Beach} resolves to True if any keyword contains the word + 'Beach' so it would match both 'Beach' and 'BeachDay'. + • {photo.score.overall > 0.7} resolves to True if the photo's overall aesthetic + score is greater than 0.7. + • {keyword|lower contains beach} uses the lower case filter to do + case-insensitive matching to match any keyword that contains the word + 'beach'. + • {keyword|lower not contains beach} uses the not modifier to negate the + comparison so this resolves to True if there is no keyword that matches + 'beach'. + +Examples: to export photos that contain certain keywords with the osxphotos +export command's --directory option: + +--directory "{keyword|lower matches +travel|vacation?Travel-Photos,Not-Travel-Photos}" + +This exports any photo that has keywords 'travel' or 'vacation' into a directory +'Travel-Photos' and all other photos into directory 'Not-Travel-Photos'. + +This can be used to rename files as well, for example: --filename +"{favorite?Favorite-{original_name},{original_name}}" + +This renames any photo that is a favorite as 'Favorite-ImageName.jpg' (where +'ImageName.jpg' is the original name of the photo) and all other photos with the +unmodified original name. + +?bool_value: Template fields may be evaluated as boolean (True/False) by +appending "?" after the field name (and following "(path_sep)" or +"[find/replace]". If a field is True (e.g. photo is HDR and field is "{hdr}") +or has any value, the value following the "?" will be used to render the +template instead of the actual field value. If the template field evaluates to +False (e.g. in above example, photo is not HDR) or has no value (e.g. photo has +no title and field is "{title}") then the default value following a "," will be +used. e.g. if photo is an HDR image, @@ -1156,6 +1211,7 @@ Substitution Description {comma} A comma: ',' {semicolon} A semicolon: ';' +{questionmark} A question mark: '?' {pipe} A vertical pipe: '|' {openbrace} An open brace: '{' {closebrace} A close brace: '}' @@ -2101,7 +2157,7 @@ In its simplest form, a template statement has the form: `"{template_field}"`, f Template statements may contain one or more modifiers. The full syntax is: -`"pretext{delim+template_field:subfield|filter(path_sep)[find,replace]?bool_value,default}posttext"` +`"pretext{delim+template_field:subfield|filter(path_sep)[find,replace] conditional?bool_value,default}posttext"` Template statements are white-space sensitive meaning that white space (spaces, tabs) changes the meaning of the template statement. @@ -2159,7 +2215,41 @@ e.g. If Photo is in `Album1` in `Folder1`: `[find|replace]`: optional text replacement to perform on rendered template value. For example, to replace "/" in an album name, you could use the template `"{album[/,-]}"`. Multiple replacements can be made by appending "|" and adding another find|replace pair. e.g. to replace both "/" and ":" in album name: `"{album[/,-|:,-]}"`. find/replace pairs are not limited to single characters. The "|" character cannot be used in a find/replace pair. -`?bool_value`: Template fields may be evaluated as boolean by appending "?" after the field name (and following "(path_sep)" or "[find/replace]". If a field is True (e.g. photo is HDR and field is `"{hdr}"`) or has any value, the value following the "?" will be used to render the template instead of the actual field value. If the template field evaluates to False (e.g. in above example, photo is not HDR) or has no value (e.g. photo has no title and field is `"{title}"`) then the default value following a "," will be used. +`conditional`: optional conditional expression that is evaluated as boolean (True/False) for use with the `?bool_value` modifier. Conditional expressions take the form '` not operator value`' where `not` is an optional modifier that negates the `operator`. Note: the space before the conditional expression is required if you use a conditional expression. Valid comparison operators are: + +- `contains`: template field contains value, similar to python's `in` +- `matches`: template field contains exactly value, unlike `contains`: does not match partial matches +- `startswith`: template field starts with value +- `endswith`: template field ends with value +- `<=`: template field is less than or equal to value +- `>=`: template field is greater than or equal to value +- `<`: template field is less than value +- `>`: template field is greater than value +- `==`: template field equals value +- `!=`: template field does not equal value + +The `value` part of the conditional expression is treated as a bare (unquoted) word/phrase. Multiple values may be separated by '|' (the pipe symbol). `value` is itself a template statement so you can use one or more template fields in `value` which will be resolved before the comparison occurs. + +For example: + +- `{keyword matches Beach}` resolves to True if 'Beach' is a keyword. It would not match keyword 'BeachDay'. +- `{keyword contains Beach}` resolves to True if any keyword contains the word 'Beach' so it would match both 'Beach' and 'BeachDay'. +- `{photo.score.overall > 0.7}` resolves to True if the photo's overall aesthetic score is greater than 0.7. +- `{keyword|lower contains beach}` uses the lower case filter to do case-insensitive matching to match any keyword that contains the word 'beach'. +- `{keyword|lower not contains beach}` uses the `not` modifier to negate the comparison so this resolves to True if there is no keyword that matches 'beach'. + +Examples: to export photos that contain certain keywords with the `osxphotos export` command's `--directory` option: + +`--directory "{keyword|lower matches travel|vacation?Travel-Photos,Not-Travel-Photos}"` + +This exports any photo that has keywords 'travel' or 'vacation' into a directory 'Travel-Photos' and all other photos into directory 'Not-Travel-Photos'. + +This can be used to rename files as well, for example: +`--filename "{favorite?Favorite-{original_name},{original_name}}"` + +This renames any photo that is a favorite as 'Favorite-ImageName.jpg' (where 'ImageName.jpg' is the original name of the photo) and all other photos with the unmodified original name. + +`?bool_value`: Template fields may be evaluated as boolean (True/False) by appending "?" after the field name (and following "(path_sep)" or "[find/replace]". If a field is True (e.g. photo is HDR and field is `"{hdr}"`) or has any value, the value following the "?" will be used to render the template instead of the actual field value. If the template field evaluates to False (e.g. in above example, photo is not HDR) or has no value (e.g. photo has no title and field is `"{title}"`) then the default value following a "," will be used. e.g. if photo is an HDR image, @@ -2781,6 +2871,7 @@ The following template field substitutions are availabe for use with `PhotoInfo. |{uuid}|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'| |{comma}|A comma: ','| |{semicolon}|A semicolon: ';'| +|{questionmark}|A question mark: '?'| |{pipe}|A vertical pipe: '|'| |{openbrace}|An open brace: '{'| |{closebrace}|A close brace: '}'| diff --git a/docs/.buildinfo b/docs/.buildinfo index 987087a8..7e81afe2 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 0179796ca3088aa7a0ec190387bfe684 +config: 3a4409f9ef528dee2e4ce25074f0e795 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_modules/index.html b/docs/_modules/index.html index f13c30be..4a261be2 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -5,7 +5,7 @@ - Overview: module code — osxphotos 0.41.10 documentation + Overview: module code — osxphotos 0.42.00 documentation diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 4e70fb3f..e808a3d7 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.41.10', + VERSION: '0.42.00', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/cli.html b/docs/cli.html index db7a47ee..774e3596 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -5,7 +5,7 @@ - osxphotos command line interface (CLI) — osxphotos 0.41.10 documentation + osxphotos command line interface (CLI) — osxphotos 0.42.00 documentation diff --git a/docs/genindex.html b/docs/genindex.html index 16fc78e5..7cf1dad5 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -5,7 +5,7 @@ - Index — osxphotos 0.41.10 documentation + Index — osxphotos 0.42.00 documentation diff --git a/docs/index.html b/docs/index.html index f1a956dd..faa0a11f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,7 +5,7 @@ - Welcome to osxphotos’s documentation! — osxphotos 0.41.10 documentation + Welcome to osxphotos’s documentation! — osxphotos 0.42.00 documentation diff --git a/docs/modules.html b/docs/modules.html index ed73cff1..15676719 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -5,7 +5,7 @@ - osxphotos — osxphotos 0.41.10 documentation + osxphotos — osxphotos 0.42.00 documentation diff --git a/docs/osxphotos.pdf b/docs/osxphotos.pdf index 0b3634a607455943392842e42949cc08dda99ec5..7e728e362ab231513f015d4f5e65fa39632e99c9 100644 GIT binary patch delta 65697 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 W)C`7+g_D()9fp)tR31bO=6?Yxh^q1c delta 65393 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 A*#H0l diff --git a/docs/reference.html b/docs/reference.html index 7ac9c831..1a0580a8 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -5,7 +5,7 @@ - osxphotos package — osxphotos 0.41.10 documentation + osxphotos package — osxphotos 0.42.00 documentation diff --git a/docs/search.html b/docs/search.html index 7ea5b33e..db623957 100644 --- a/docs/search.html +++ b/docs/search.html @@ -5,7 +5,7 @@ - Search — osxphotos 0.41.10 documentation + Search — osxphotos 0.42.00 documentation diff --git a/osxphotos/_version.py b/osxphotos/_version.py index 9d35c4ab..da54677a 100644 --- a/osxphotos/_version.py +++ b/osxphotos/_version.py @@ -1,3 +1,3 @@ """ version info """ -__version__ = "0.41.11" +__version__ = "0.42.00" diff --git a/osxphotos/phototemplate.md b/osxphotos/phototemplate.md index b464c8c5..af41db26 100644 --- a/osxphotos/phototemplate.md +++ b/osxphotos/phototemplate.md @@ -4,7 +4,7 @@ In its simplest form, a template statement has the form: `"{template_field}"`, f Template statements may contain one or more modifiers. The full syntax is: -`"pretext{delim+template_field:subfield|filter(path_sep)[find,replace]?bool_value,default}posttext"` +`"pretext{delim+template_field:subfield|filter(path_sep)[find,replace] conditional?bool_value,default}posttext"` Template statements are white-space sensitive meaning that white space (spaces, tabs) changes the meaning of the template statement. @@ -62,7 +62,41 @@ e.g. If Photo is in `Album1` in `Folder1`: `[find|replace]`: optional text replacement to perform on rendered template value. For example, to replace "/" in an album name, you could use the template `"{album[/,-]}"`. Multiple replacements can be made by appending "|" and adding another find|replace pair. e.g. to replace both "/" and ":" in album name: `"{album[/,-|:,-]}"`. find/replace pairs are not limited to single characters. The "|" character cannot be used in a find/replace pair. -`?bool_value`: Template fields may be evaluated as boolean by appending "?" after the field name (and following "(path_sep)" or "[find/replace]". If a field is True (e.g. photo is HDR and field is `"{hdr}"`) or has any value, the value following the "?" will be used to render the template instead of the actual field value. If the template field evaluates to False (e.g. in above example, photo is not HDR) or has no value (e.g. photo has no title and field is `"{title}"`) then the default value following a "," will be used. +`conditional`: optional conditional expression that is evaluated as boolean (True/False) for use with the `?bool_value` modifier. Conditional expressions take the form '` not operator value`' where `not` is an optional modifier that negates the `operator`. Note: the space before the conditional expression is required if you use a conditional expression. Valid comparison operators are: + +- `contains`: template field contains value, similar to python's `in` +- `matches`: template field contains exactly value, unlike `contains`: does not match partial matches +- `startswith`: template field starts with value +- `endswith`: template field ends with value +- `<=`: template field is less than or equal to value +- `>=`: template field is greater than or equal to value +- `<`: template field is less than value +- `>`: template field is greater than value +- `==`: template field equals value +- `!=`: template field does not equal value + +The `value` part of the conditional expression is treated as a bare (unquoted) word/phrase. Multiple values may be separated by '|' (the pipe symbol). `value` is itself a template statement so you can use one or more template fields in `value` which will be resolved before the comparison occurs. + +For example: + +- `{keyword matches Beach}` resolves to True if 'Beach' is a keyword. It would not match keyword 'BeachDay'. +- `{keyword contains Beach}` resolves to True if any keyword contains the word 'Beach' so it would match both 'Beach' and 'BeachDay'. +- `{photo.score.overall > 0.7}` resolves to True if the photo's overall aesthetic score is greater than 0.7. +- `{keyword|lower contains beach}` uses the lower case filter to do case-insensitive matching to match any keyword that contains the word 'beach'. +- `{keyword|lower not contains beach}` uses the `not` modifier to negate the comparison so this resolves to True if there is no keyword that matches 'beach'. + +Examples: to export photos that contain certain keywords with the `osxphotos export` command's `--directory` option: + +`--directory "{keyword|lower matches travel|vacation?Travel-Photos,Not-Travel-Photos}"` + +This exports any photo that has keywords 'travel' or 'vacation' into a directory 'Travel-Photos' and all other photos into directory 'Not-Travel-Photos'. + +This can be used to rename files as well, for example: +`--filename "{favorite?Favorite-{original_name},{original_name}}"` + +This renames any photo that is a favorite as 'Favorite-ImageName.jpg' (where 'ImageName.jpg' is the original name of the photo) and all other photos with the unmodified original name. + +`?bool_value`: Template fields may be evaluated as boolean (True/False) by appending "?" after the field name (and following "(path_sep)" or "[find/replace]". If a field is True (e.g. photo is HDR and field is `"{hdr}"`) or has any value, the value following the "?" will be used to render the template instead of the actual field value. If the template field evaluates to False (e.g. in above example, photo is not HDR) or has no value (e.g. photo has no title and field is `"{title}"`) then the default value following a "," will be used. e.g. if photo is an HDR image, diff --git a/osxphotos/phototemplate.py b/osxphotos/phototemplate.py index de55c75a..bf523cc6 100644 --- a/osxphotos/phototemplate.py +++ b/osxphotos/phototemplate.py @@ -120,6 +120,7 @@ TEMPLATE_SUBSTITUTIONS = { "{uuid}": "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'", "{comma}": "A comma: ','", "{semicolon}": "A semicolon: ';'", + "{questionmark}": "A question mark: '?'", "{pipe}": "A vertical pipe: '|'", "{openbrace}": "An open brace: '{'", "{closebrace}": "A close brace: '}'", @@ -191,6 +192,7 @@ PUNCTUATION = { "closeparens": ")", "openbracket": "[", "closebracket": "]", + "questionmark": "?", } @@ -323,17 +325,6 @@ class PhotoTemplate: unmatched=unmatched, ) - # process find/replace - if ts.template and ts.template.findreplace: - new_results = [] - for result in results: - for pair in ts.template.findreplace.pairs: - find = pair.find or "" - repl = pair.replace or "" - result = result.replace(find, repl) - new_results.append(result) - results = new_results - rendered_strings = results if filename: @@ -430,6 +421,30 @@ class PhotoTemplate: else: default = [] + # process conditional + if ts.template.conditional is not None: + operator = ts.template.conditional.operator + negation = ts.template.conditional.negation + if ts.template.conditional.value is not None: + # conditional value is also a TemplateString + conditional_value, u = self._render_statement( + ts.template.conditional.value, + none_str=none_str, + path_sep=path_sep, + expand_inplace=expand_inplace, + inplace_sep=inplace_sep, + filename=filename, + dirname=dirname, + ) + unmatched.extend(u) + else: + # this shouldn't happen + conditional_value = [""] + else: + operator = None + negation = None + conditional_value = [] + vals = [] if field in SINGLE_VALUE_SUBSTITUTIONS: vals = self.get_template_value( @@ -458,14 +473,6 @@ class PhotoTemplate: vals = [val for val in vals if val is not None] - if is_bool: - if not vals: - vals = default - else: - vals = bool_val - elif not vals: - vals = default or [none_str] - if expand_inplace or delim is not None: sep = delim if delim is not None else inplace_sep vals = [sep.join(sorted(vals))] @@ -473,6 +480,99 @@ class PhotoTemplate: for filter_ in filters: vals = self.get_template_value_filter(filter_, vals) + # process find/replace + if ts.template.findreplace: + new_vals = [] + for val in vals: + for pair in ts.template.findreplace.pairs: + find = pair.find or "" + repl = pair.replace or "" + val = val.replace(find, repl) + new_vals.append(val) + vals = new_vals + + if operator: + # have a conditional operator + + def string_test(test_function): + """ Perform string comparison using test_function; closure to capture conditional_value, vals, negation """ + match = False + for c in conditional_value: + for v in vals: + if test_function(v, c): + match = True + break + if match: + break + if (match and not negation) or (negation and not match): + return ["True"] + else: + return [] + + def comparison_test(test_function): + """ Perform numerical comparisons using test_function; closure to capture conditional_val, vals, negation """ + if len(vals) != 1 or len(conditional_value) != 1: + raise ValueError( + f"comparison operators may only be used with a single value: {vals} {conditional_value}" + ) + try: + match = ( + True + if test_function( + float(vals[0]), float(conditional_value[0]) + ) + else False + ) + if (match and not negation) or (negation and not match): + return ["True"] + else: + return [] + except ValueError as e: + raise ValueError( + f"comparison operators may only be used with values that can be converted to numbers: {vals} {conditional_value}" + ) + + if operator in ["contains", "matches", "startswith", "endswith"]: + # process any "or" values separated by "|" + temp_values = [] + for c in conditional_value: + temp_values.extend(c.split("|")) + conditional_value = temp_values + + if operator == "contains": + vals = string_test(lambda v, c: c in v) + elif operator == "matches": + vals = string_test(lambda v, c: v == c) + elif operator == "startswith": + vals = string_test(lambda v, c: v.startswith(c)) + elif operator == "endswith": + vals = string_test(lambda v, c: v.endswith(c)) + elif operator == "==": + match = sorted(vals) == sorted(conditional_value) + if (match and not negation) or (negation and not match): + vals = ["True"] + else: + vals = [] + elif operator == "!=": + match = sorted(vals) != sorted(conditional_value) + if (match and not negation) or (negation and not match): + vals = ["True"] + else: + vals = [] + elif operator == "<": + vals = comparison_test(lambda v, c: v < c) + elif operator == "<=": + vals = comparison_test(lambda v, c: v <= c) + elif operator == ">": + vals = comparison_test(lambda v, c: v > c) + elif operator == ">=": + vals = comparison_test(lambda v, c: v >= c) + + if is_bool: + vals = default if not vals else bool_val + elif not vals: + vals = default or [none_str] + pre = ts.pre or "" post = ts.post or "" diff --git a/osxphotos/phototemplate.tx b/osxphotos/phototemplate.tx index 4a9fb89b..3914d975 100644 --- a/osxphotos/phototemplate.tx +++ b/osxphotos/phototemplate.tx @@ -1,6 +1,6 @@ // OSXPhotos Template Language (OTL) // a TemplateString has format: -// pre{delim+template_field:subfield|filter(path_sep)[find,replace]?bool_value,default}post +// pre{delim+template_field:subfield|filter(path_sep)[find,replace] conditional?bool_value,default}post // a TemplateStatement may contain zero or more TemplateStrings // The pre and post are optional strings // The template itself (inside the {}) is also optional but if present @@ -25,6 +25,7 @@ Template: filter=Filter pathsep=PathSep findreplace=FindReplace + conditional=Conditional bool=Boolean default=Default "}" @@ -32,7 +33,7 @@ Template: ; NON_TEMPLATE_STRING: - /[^\{\},]*/ + /[^\{\},\?]*/ ; Delim: @@ -76,6 +77,24 @@ FILTER_WORD: /[\.\w]+/ ; +Conditional: + ( + (" "+)- + (negation=NEGATION)? + (operator=OPERATOR) + (" "+)- + (value=Statement) + )? +; + +NEGATION: + "not " +; + +OPERATOR: + "contains" | "matches" | "startswith" | "endswith" | "<=" | ">=" | "<" | ">" | "==" | "!=" +; + PathSep: ( "(" diff --git a/tests/test_template.py b/tests/test_template.py index 35055964..511b6470 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -283,6 +283,50 @@ UUID_PHOTO = { "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51": {"{photo.favorite}": ["favorite"]}, } +UUID_CONDITIONAL = { + "3DD2C897-F19E-4CA6-8C22-B027D5A71907": { + "{title matches Elder Park?YES,NO}": ["YES"], + "{title matches not Elder Park?YES,NO}": ["NO"], + "{title contains Park?YES,NO}": ["YES"], + "{title not contains Park?YES,NO}": ["NO"], + "{title matches Park?YES,NO}": ["NO"], + "{title matches Elder Park?YES,NO}": ["YES"], + "{title == Elder Park?YES,NO}": ["YES"], + "{title != Elder Park?YES,NO}": ["NO"], + "{title[ ,] == ElderPark?YES,NO}": ["YES"], + "{title not != Elder Park?YES,NO}": ["YES"], + "{title not == Elder Park?YES,NO}": ["NO"], + "{title endswith Park?YES,NO}": ["YES"], + "{title endswith Elder?YES,NO}": ["NO"], + "{title startswith Elder?YES,NO}": ["YES"], + "{title endswith Elder?YES,NO}": ["NO"], + "{photo.place.name contains Adelaide?YES,NO}": ["YES"], + "{photo.place.name|lower contains adelaide?YES,NO}": ["YES"], + "{photo.place.name|lower not contains adelaide?YES,NO}": ["NO"], + "{photo.score.overall < 0.7?YES,NO}": ["YES"], + "{photo.score.overall <= 0.7?YES,NO}": ["YES"], + "{photo.score.overall > 0.7?YES,NO}": ["NO"], + "{photo.score.overall >= 0.7?YES,NO}": ["NO"], + "{photo.score.overall not < 0.7?YES,NO}": ["NO"], + "{folder_album(-) contains Folder1-SubFolder2-AlbumInFolder?YES,NO}": ["YES"], + "{folder_album(-)[In,] contains Folder1-SubFolder2-AlbumFolder?YES,NO}": [ + "YES" + ], + }, + "DC99FBDD-7A52-4100-A5BB-344131646C30": { + "{keyword == {keyword}?YES,NO}": ["YES"], + "{keyword contains England?YES,NO}": ["YES"], + "{keyword contains Eng?YES,NO}": ["YES"], + "{keyword contains Foo?YES,NO}": ["NO"], + "{keyword matches England?YES,NO}": ["YES"], + "{keyword matches Eng?YES,NO}": ["NO"], + "{keyword contains Foo|Bar|England?YES,NO}": ["YES"], + "{keyword contains Foo|Bar?YES,NO}": ["NO"], + "{keyword matches Foo|Bar|England?YES,NO}": ["YES"], + "{keyword matches Foo|Bar?YES,NO}": ["NO"], + }, +} + @pytest.fixture(scope="module") def photosdb_places(): @@ -913,3 +957,11 @@ def test_photo_template(photosdb): for template in UUID_PHOTO[uuid]: rendered, _ = photo.render_template(template) assert sorted(rendered) == sorted(UUID_PHOTO[uuid][template]) + + +def test_conditional(photosdb): + for uuid in UUID_CONDITIONAL: + photo = photosdb.get_photo(uuid) + for template in UUID_CONDITIONAL[uuid]: + rendered, _ = photo.render_template(template) + assert sorted(rendered) == sorted(UUID_CONDITIONAL[uuid][template])