28 lines
1.2 KiB
Python
28 lines
1.2 KiB
Python
""" Example showing how to use a custom function for osxphotos {function} template with the `osxphotos import` command
|
|
Use: osxphotos import /path/to/import/*.jpg --album "{function:/path/to/template_function_import.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, Optional, Union
|
|
|
|
|
|
def example(
|
|
filepath: pathlib.Path, args: Optional[str] = None, **kwargs
|
|
) -> Union[List, str]:
|
|
"""example function for {function} template for use with `osxphotos import`
|
|
|
|
This example parses filenames in format album_img_123.jpg and returns the album name
|
|
|
|
Args:
|
|
filepath: pathlib.Path object of file being imported
|
|
args: optional str of arguments passed to template function
|
|
**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 = filepath.stem
|
|
fields = filename.split("_")
|
|
return fields[0] if len(fields) > 1 else ""
|