image-foldarizer

5.0.1 • Public • Published

image-foldarizer

Take a flat directory of named image files that have some counter and place then in subdirectories

Build Status Windows build status Node.js v14 CI codecov FOSSA Status Code Smells

Please note that the minimum supported version of Node.js is 14.15.0, which is the active Long Term Support (LTS) version.

Purpose

Renaming image files is already a pain to do, and once that has been done by looking at the images and patch renaming to add meaningful names with counters in the end, the last part (at least in my work flow) is to place those images in their own directories for better organisation.

This tool will help in the last step, by looking at a single directory for media files that have a counter at the end of the file name, organise them so that the base name of the file without the counter will become the directory name in which the given set of images will be moved.

For example there would be a images-and-media directory with the following flat structure:

images-and-media/
  Nanbudo-Kisahalli.2010-03-20_33.mp4
  Nanbudo-Kisahalli.2010-03-20_34.mp4
  Nanbudo-Kisahalli.2010-03-20_36.mp4
  Nanbudo-Kisahalli.2010-03-20_38.mp4
  encode.log

After running image-foldarizer images-and-media, the structure will look like this:

images-and-media/
  Nanbudo-Kisahalli.2010-03-20/
    Nanbudo-Kisahalli.2010-03-20_33.mp4
    Nanbudo-Kisahalli.2010-03-20_34.mp4
    Nanbudo-Kisahalli.2010-03-20_36.mp4
    Nanbudo-Kisahalli.2010-03-20_38.mp4
  encode.log

File names themselves are not touched and files that do not match /_\d+$/ for their basename are not moved.

In case the target directory already exists AND has any files in it, the given group will be ignored. This might change in a future release.

See also image-flatify for organising images with their creation date.

Installation

[sudo] npm install --global image-foldarizer

Command line options

image-foldarizer --help
image-foldarizer [options] <directory>

  -h, --help               Help and usage instructions
  -V, --version            Version number
  -v, --verbose            Verbose output, will print which file is currently being processed
  -n, --dry-run            Try it out without actually touching anything
  -E, --skip-existing      Skip when the group directory already exists
  -k, --keep-suffix        Keep the original suffix, as default is to lowercase
  -i, --initial-character  Files are only processed if they start with a character, as oppose to a
                           number

Version 4.0.0

Contributing

First thing to do is to file an issue. Then possibly open a Pull Request for solving the given issue. ESLint is used for linting the code, please use it by doing:

npm install
npm run lint

Unit tests are written with tape and can be executed with npm test. Code coverage is inspected with nyc and can be executed with npm run coverage after running npm test. Please make sure it is over 90% at all times.

Version history

Changes happening across different versions and upcoming changes are tracked in the CHANGELOG.md file.

License

Licensed under the MIT license.

Copyright (c) Juga Paazmaya paazmaya@yahoo.com

FOSSA Status

Package Sidebar

Install

npm i image-foldarizer

Weekly Downloads

0

Version

5.0.1

License

MIT

Unpacked Size

200 kB

Total Files

13

Last publish

Collaborators

  • paazmaya