31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
""" Example showing how to use a custom function for osxphotos {function} template
|
|
Use: osxphotos export /path/to/export --filename "{function:/path/to/template_function.py::example}"
|
|
|
|
You may place more than one template function in a single file as each is called by name using the {function:file.py::function_name} format
|
|
"""
|
|
|
|
import pathlib
|
|
from typing import List, Union
|
|
|
|
import osxphotos
|
|
|
|
|
|
def example(photo: osxphotos.PhotoInfo, **kwargs) -> Union[List, str]:
|
|
""" example function for {function} template; adds suffix of # if photo has adjustments and ! if photo is a favorite
|
|
|
|
Args:
|
|
photo: osxphotos.PhotoInfo object
|
|
**kwargs: not currently used, placeholder to keep functions compatible with possible changes to {function}
|
|
|
|
Returns:
|
|
str or list of str of values that should be substituted for the {function} template
|
|
"""
|
|
|
|
filename = pathlib.Path(photo.original_filename).stem
|
|
if photo.hasadjustments:
|
|
filename += "#"
|
|
if photo.favorite:
|
|
filename += "!"
|
|
|
|
return filename
|