Welcome to PhotoStructure, @ainuke !
Know that PhotoStructure v1.1 currently supports custom directory names (the YYYY/MM
bit), but doesn’t currently support custom file basenames (the PhotoDate-PhotoTime.ext
bit).
This is an easy feature to add, though, so I just coded it up : it’ll be available in v2.1, which is currently in pre-alpha.
Until then, know that you can configure the directory format via the assetSubdirectoryDatestampFormat
setting:
If you chose to copy assets into your library, they will be copied into
<originals directory>/<result of this pattern>/<original imagename>
.
- See the originalsDir system setting for what your is
(it defaults to your library root directory).- Please encode this path with forward-slashes, even if you’re on Windows.
- If any patterns resolve to including forward-slashes, know that will be interpreted as subdirectories.
- If you want to add a static path, escape the pathname with single quotes
(like “‘photos’/y/MM/dd”).- This will always be interpreted as a relative path from your
PhotoStructure library.- See https://moment.github.io/luxon/#/formatting?id=table-of-tokens.
The default value is "y/y-MM-dd"
. You’ll want to change this to "y/MM"
.
You do that by navigating to the environment variable section in your docker image setup, and PS_ASSET_SUBDIRECTORY_DATESTAMP_FORMAT
(or assetSubdirectoryDatestampFormat
, PhotoStructure looks in both places) to the new value "y/MM"
. You’ll need to restart the container for this to take affect, and know that PhotoStructure never renames or moves files that are already in your library directory. More details are here: PhotoStructure | Using environment variables with PhotoStructure
…and after v2.1 ships…
After v2.1 is available, you’ll want to override a brand-new setting, assetPathnameFormat
, to "y/MM/ISO.EXT"
, which will render the PhotoDate-PhotoTime
with the ISO 8601 standard.
Here’s the documentation for this new setting:
If you chose to copy assets into your library, they will be copied into
<originals directory>/<result of assetPathnameFormat>
.
See the originalsDir system setting for what your is
(it defaults to your library root directory).Please encode this path with forward-slashes, even if you’re on Windows.
If any patterns resolve to including forward-slashes, know that will be
interpreted as subdirectories.If you want to add a static path, escape the pathname with single quotes
(like “‘photos’/y/MM/dd”).The result of this will always be interpreted as a relative path from your
PhotoStructure originals directory.Use token “BASE” as a shorthand for the original basename (“photo.jpg” for
“/path/to/photo.jpg”).Use token “NAME” as a shorthand for the original filename, without the
file extension (“photo” for “/path/to/photo.jpg”).Use token “PARENT” as a shorthand for the original file’s parent directory
name (“to” for “/path/to/photo.jpg”).Use token “GRANDPARENT” as a shorthand for the original file’s grandparent
directory name (“path” for “/path/to/photo.jpg”).Use token “EXT” for the filename’s extension without the “.” prefix (like
“jpg” for “/path/to/photo.jpg”).Use token “ISO” as a shorthand for
"yyyy-MM-dd'T'HH:mm:ss.SSSZZ"
.You can escape other static text by wrapping with single quotes (like the
'T'
in the ISO format above).For other tokens, see
https://moment.github.io/luxon/#/formatting?id=table-of-tokens.