You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.1 KiB
Markdown

5 years ago
# 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.
```
5 years ago
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!**