cmd/SideCarJpegCleaner | ||
configs | ||
internal/app | ||
.gitignore | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md | ||
SideCarJpegCleaner |
SideCarJpegCleaner
A small tool to clean up a folder with raw and jpeg files. It scans the directory for jpg files and removes all without a corresponding raw file.
Dependencies
There are some external dependencies to build the application.
- logrus: This is a little logging library that is quite handy
- iniflags: The iniflags makes handling configuration files and applications parameters quite easy.
Get the source
To get the latest version, you should git clone https://git.haefelfinger.net/piwigo/SideCarJpegCleaner.git
to
your local disk or into your local go source directory by using ``go get git.haefelfinger.net/piwigo/SideCarJpegCleaner`.
GO modules
The repository supports gomodules so the modules should be resolved automatically during build or test run. But just in case, here are the manual commands to install them. This is needed if you put this repo inside the GOPATH as this sets the module config to ignore.
To get all dependencies at once:
go get ./...
Manual dependency installation
You may install the dependencies manually with the following commands or just use the command under "GO modules" to get all dependencies.
go get github.com/sirupsen/logrus
go get github.com/vharitonsky/iniflags
Build
Build the main executable by using the following command. By default it gets the name SideCarJpegCleaner but can be renamed to your favorite application name.
go build cmd/SideCarJpegCleaner/SideCarJpegCleaner.go
Configuration
Command line
You get the following help information to the command line by using:
./SideCarJpegCleaner -help
The following options are supported to run the application from the command line.
Usage of ./SideCarJpegCleaner:
-allowMissingConfig
Don't terminate the app if the ini file cannot be read.
-allowUnknownFlags
Don't terminate the app if ini file contains unknown flags.
-config string
Path to ini config for using in go flags. May be relative to the current executable path.
-configUpdateInterval duration
Update interval for re-reading config file set via -config flag. Zero disables config file re-reading.
-dryRun
If set to true, all actions are run except the real filesystem modifications (default true)
-dumpflags
Dumps values for all flags defined in the app into stdout in ini-compatible syntax and terminates the app.
-imagesRootPath string
This is the images root path that should be cleaned.
-logLevel string
The minimum log level required to write out a log message. (panic,fatal,error,warn,info,debug,trace) (default "info")
Configuration file
It is also possible to use a configuration file to save the settings to be used with multiple directories. To use configuration files, just copy the default one and edit the parameters to your wish.
cp ./configs/defaultConfig.ini ./localConfig.ini
nano ./localConfig.ini
Run the cleaner
Finally you may run the application using the following example command.
./SideCarJpegCleaner -config=./localConfig.ini
It is recommendet to do a dry run first!