Skip to main content

Module plan

Module plan 

Source
Expand description

Where a dated file goes: <root>/YYYY/MM/YYYY-MM-DD, each day an album series (2014-07-12, 2014-07-12 (2), …) so no album passes SmugMug’s limit. Year and month folders and day albums are created only when a file needs uploading into them, and each folder is listed at most once per run.

Each day also keeps the file names its albums hold, so a file is never uploaded over a different photo of the same name (two cameras both producing IMG_0001.JPG on one day): the newcomer is renamed IMG_0001~<md5 prefix>.JPG instead. A file whose name and content are already there is linked to that image rather than uploaded again.

Structs§

Day
One day’s album series and the file names in it.
DayAlbums
Day album series under one root folder, loaded as files need them.
DayBackend
The albums of one day’s series, as AlbumSeries sees them.
NamedImage
An image already in a day’s albums, by file name.

Enums§

NameCheck
What to call a file in its day’s albums.

Traits§

Smug
The SmugMug calls placing files by date needs.

Functions§

day_album_name
Name of the album for date (the first of its series).
renamed
IMG_0001.JPG → IMG_0001~1a2b3c4d.JPG.