Skip to content

Repository files navigation

ImgSeeder

ImgSeeder change requests and release notes are centralized in the RAIkeep doc/ directory under ImgSeeder_... filenames; they are not stored separately in this child repository.

The NuGet tool package includes the Burkhardt HardCastle.png package icon, matching the other RAIkeep packages.

ImgSeeder uses the shared RAIkeep configured cloud-root contract: Dropbox, OneDrive, GoogleDrive, and ICloudDrive.

ImgSeeder is the RAIkeep image organizer package. It installs the iorg CLI, which copies source images, normalizes filenames with RaiImage naming rules, and places the final files into an ImageTreeFile directory layout such as ItemIdTree8x2.

4.0.1

  • Adds command-first organize and clean syntax for CR006.
  • Keeps established flat iorg invocations working throughout 4.x; the legacy parser is scheduled for removal in 5.x.x.
  • Fallback package defaults stay aligned on JsonPit 4.0.1, OsLibCore 4.0.1, RaiUtils 4.0.1, and RaiImage 4.0.1.
  • Help is contextual per command and startup banners use decorative glyph rules instead of repeated equals signs.
  • Current release notes: ImgSeeder_RELEASE_NOTES_4.0.1.md

This tool is part of the RAIkeep package family:

  • OsLibCore
  • RaiUtils
  • RaiImage
  • JsonPit
  • ImgSeeder (iorg command)
  • PitSeeder

Install

Install the NuGet tool with:

dotnet tool install --global ImgSeeder

On macOS or Linux, a practical option is to install directly into a directory on your PATH:

sudo dotnet tool install ImgSeeder --tool-path /usr/local/bin

Update an existing installation with:

dotnet tool update --global ImgSeeder

To update an installation in /usr/local/bin:

sudo dotnet tool update ImgSeeder --tool-path /usr/local/bin

Usage

Typical cloud-rooted usage:

iorg organize -c OneDrive --root LiveAfricaStageImage/nomsa \
  --source /Users/Shared/ServerData/GDriveData/TestAfricaStage/Images/NOMSA.net/ \
  --pathconv 3 --nameconv 3

The command resolves -c through Os.Config.Cloud. When --subscriber is omitted, --root is the complete subscriber destination and its final directory name supplies the subscriber identity. Alternatively, provide a parent image root and --subscriber <name> explicitly.

When -c/--cloud is omitted, iorg selects the first provider in the configured Os.Config.DefaultCloudOrder that also has a non-empty Cloud path. The configured order is preserved in help, and providers outside that filtered list are rejected. An explicit absolute root (or .) remains local when no cloud option was explicitly supplied.

To inspect the resolved values without copying files, add -h:

iorg organize --help

The help screen shows the resolved source, destination ImageRoot, subscriber, supported image extensions, detected source image count, and option selections. With -d, it also prints debug diagnostics such as CanRun, RunBlocker, source/target existence checks, and resolved full paths. Remove -h to execute the copies.

Without -d, each copied image is printed as a compact file name:

nomsa-concert-11.jpg
SD-State-Sony-149.jpg

With -d, each copied image is printed with full destination and source paths:

/dest/nomsa/NomsaCon/NomsaConce/NomsaConcert_11.jpg  /source/nomsa-concert-11.jpg

The final summary reports how many detected source images were copied and groups any files that were not copied by failure reason.

To inspect image deletion for an item without deleting files, use clean with a required ShortName:

iorg clean NomsaConcert_11 -c OneDrive --root LiveAfricaStageImage/nomsa

ShortName can be either ItemId or ItemId_Nr. By default, clean matches all images for that short name; --cache limits the operation to cached/rendered variants such as files with a template/name extension:

iorg clean NomsaConcert_11 -c OneDrive --root LiveAfricaStageImage/nomsa --cache

Delete commands are dry-run by default and list what would be deleted. Add --force to actually delete the matched files:

iorg clean NomsaConcert_11 -c OneDrive --root LiveAfricaStageImage/nomsa --cache --force

An unbounded clean is not supported: omitting ShortName is a validation error, including when --force is present.

Useful options:

  • -h, --help: print help
  • -v, --version: print version
  • -l, --nologo: hide banner
  • -d, --debug: enable debug output
  • -c, --cloud: configured provider from Os.Config.DefaultCloudOrder; defaults to its first available entry
  • -r, --root: destination root; complete subscriber destination unless --subscriber is supplied
  • --subscriber: explicit subscriber identity when --root is the parent image root
  • --source: source image directory for organize
  • --cache: restrict clean to cached/rendered images
  • --force: perform the otherwise dry-run clean
  • -p, --pathconv: 1 CanonicalByName, 2 ItemIdTree3x3, or 3 ItemIdTree8x2 (default)
  • -n, --nameconv: 1 Legacy, 2 ItemTemplate, or 3 Structured (default)

Run iorg <command> --help for contextual options.

4.x legacy transition

The existing flat -s, -rm, -rmc/--rm-cache, positional subscriber, -p, and -n forms remain supported throughout 4.x and invoke the same handlers as command syntax. New scripts should use subcommands. The 5.x.x line will require organize or clean. The root option is not deprecated: -r and --root are both supported by the new command parser. The -p and -n convention aliases likewise remain available, scoped to organize.

Standalone Binaries

Tagged releases also publish self-contained iorg workflow artifacts for:

  • linux-x64
  • osx-arm64
  • osx-x64
  • win-x64

These binaries can be deployed without a separate .NET runtime installation.

Validation

  • dotnet test ImgSeeder.slnx --nologo -v minimal

About

Reorganize images from a source directory into a directory tree - cli project

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages