updates readme to provide information on the new flags and fixes some existing typos
This commit is contained in:
parent
c66dbcd7dc
commit
ad3896697e
105
README.md
105
README.md
@ -1,11 +1,11 @@
|
|||||||
# PiwigoDirectoryUploader
|
# PiwigoDirectoryUploader
|
||||||
|
|
||||||
This tools mirrors the directory structure of the given root directory as albums and subalbums in piwigo
|
This tool mirrors the directory structure of the given root directory as albums and sub albums in Piwigo
|
||||||
and uploads all images to the albums.
|
and uploads all images to the albums.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
Currently the following features are supported
|
Currently, the uploader supports the following features
|
||||||
|
|
||||||
- Creating directory structure as album hierarchy in Piwigo
|
- Creating directory structure as album hierarchy in Piwigo
|
||||||
- Check if an image needs to be uploaded (only md5sum variant currently supported)
|
- Check if an image needs to be uploaded (only md5sum variant currently supported)
|
||||||
@ -13,10 +13,12 @@ Currently the following features are supported
|
|||||||
- Upload updated images that changed locally
|
- Upload updated images that changed locally
|
||||||
- Local image metadata / category storage using sqlite to make change detection easier
|
- Local image metadata / category storage using sqlite to make change detection easier
|
||||||
- Rebuild the local metadata database without uploading any pictures. Though, The categories get created!
|
- Rebuild the local metadata database without uploading any pictures. Though, The categories get created!
|
||||||
- Remove images no longer present (configurable)
|
- Can remove images no longer present on the local directory
|
||||||
- Uses all CPU Cores to calculate initial metadata
|
- Uses all CPU Cores to calculate initial metadata
|
||||||
- Upload 4 files in parallel by default (configurable)
|
- Upload multiple files in parallel
|
||||||
- Source uses go modules
|
- Configurable file extensions to scan for
|
||||||
|
- Configurable directories that will be ignored
|
||||||
|
- Configurable directories to skip during import
|
||||||
|
|
||||||
There are some features planned but not ready yet:
|
There are some features planned but not ready yet:
|
||||||
|
|
||||||
@ -38,7 +40,7 @@ your local disk or into your local go source directory by using ``go get git.hae
|
|||||||
|
|
||||||
### GO modules
|
### GO modules
|
||||||
|
|
||||||
The repository supports gomodules so the modules should be resolved automatically during build or test run.
|
This 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
|
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.
|
as this sets the module config to ignore.
|
||||||
|
|
||||||
@ -79,13 +81,19 @@ go generate ./...
|
|||||||
|
|
||||||
### Dynamically linked using glibc
|
### Dynamically linked using glibc
|
||||||
|
|
||||||
Build the main executable by using the following command. By default it gets the name PiwigoDirectoryUploader
|
Build the main executable by using the following command. The binary gets the name ``PiwigoDirectoryUploader``
|
||||||
but can be renamed to your favorite application name.
|
but can be renamed to your favorite application name.
|
||||||
|
|
||||||
```
|
```
|
||||||
go build cmd/PiwigoDirectoryUploader/PiwigoDirectoryUploader.go
|
go build cmd/PiwigoDirectoryUploader/PiwigoDirectoryUploader.go
|
||||||
```
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```
|
||||||
|
./build/build-gcc.sh
|
||||||
|
```
|
||||||
|
|
||||||
### Fully statically linked using musl
|
### Fully statically linked using musl
|
||||||
|
|
||||||
To get a fully static linked executable, you can use the build script build-musl.sh under the build folder.
|
To get a fully static linked executable, you can use the build script build-musl.sh under the build folder.
|
||||||
@ -110,9 +118,10 @@ You get the following help information to the command line by using:
|
|||||||
```
|
```
|
||||||
|
|
||||||
The following options are supported to run the application from the command line.
|
The following options are supported to run the application from the command line.
|
||||||
|
You will find mor details on some commands below the usage list.
|
||||||
|
|
||||||
```
|
```
|
||||||
Usage of ./PiwigoDirectoryUploader:
|
Usage of ./dist/PiwigoDirectoryUploader:
|
||||||
-allowMissingConfig
|
-allowMissingConfig
|
||||||
Don't terminate the app if the ini file cannot be read.
|
Don't terminate the app if the ini file cannot be read.
|
||||||
-allowUnknownFlags
|
-allowUnknownFlags
|
||||||
@ -121,8 +130,14 @@ Usage of ./PiwigoDirectoryUploader:
|
|||||||
Path to ini config for using in go flags. May be relative to the current executable path.
|
Path to ini config for using in go flags. May be relative to the current executable path.
|
||||||
-configUpdateInterval duration
|
-configUpdateInterval duration
|
||||||
Update interval for re-reading config file set via -config flag. Zero disables config file re-reading.
|
Update interval for re-reading config file set via -config flag. Zero disables config file re-reading.
|
||||||
|
-dirSuffixToSkip int
|
||||||
|
Set the number of directories at the end of the filepath to remove to build the category (e.g. value of 1: /foo/png/img.png results in foo/img.png).
|
||||||
-dumpflags
|
-dumpflags
|
||||||
Dumps values for all flags defined in the app into stdout in ini-compatible syntax and terminates the app.
|
Dumps values for all flags defined in the app into stdout in ini-compatible syntax and terminates the app.
|
||||||
|
-extension value
|
||||||
|
Supported file extensions. Flag can be specified multiple times. Uses jpg and png if omitted.
|
||||||
|
-ignoreDir value
|
||||||
|
Directories that should be ignored. Flag can be specified multiple times for more than one directory.
|
||||||
-imagesRootPath string
|
-imagesRootPath string
|
||||||
This is the images root path that should be mirrored to piwigo.
|
This is the images root path that should be mirrored to piwigo.
|
||||||
-logLevel string
|
-logLevel string
|
||||||
@ -143,6 +158,74 @@ Usage of ./PiwigoDirectoryUploader:
|
|||||||
The connection string to the sql lite database file. (default "./localstate.db")
|
The connection string to the sql lite database file. (default "./localstate.db")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Option dirSuffixToSkip
|
||||||
|
|
||||||
|
Set the number of directories at the end of the filepath to remove to build the category.
|
||||||
|
This comes in handy if you have a directory structure similar to mine.
|
||||||
|
|
||||||
|
Here is an example:
|
||||||
|
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── 2019
|
||||||
|
| └── Event1
|
||||||
|
| └── jpg
|
||||||
|
│ | ├── Image01.jpg
|
||||||
|
│ | └── Image02.jpg
|
||||||
|
| └── png
|
||||||
|
│ | ├── Image01.png
|
||||||
|
│ | └── Image02.png
|
||||||
|
| └── raw
|
||||||
|
│ ├── Image01.cr2
|
||||||
|
│ └── Image02.cr2
|
||||||
|
├── 2020
|
||||||
|
| └── Event1
|
||||||
|
| | └── jpg
|
||||||
|
│ | | ├── Image01.jpg
|
||||||
|
│ | | └── Image02.jpg
|
||||||
|
| | └── png
|
||||||
|
│ | | ├── Image01.png
|
||||||
|
│ | | └── Image02.png
|
||||||
|
| | └── raw
|
||||||
|
│ | ├── Image01.cr2
|
||||||
|
│ | └── Image02.cr2
|
||||||
|
| └── Event2
|
||||||
|
| └── jpg
|
||||||
|
│ | ├── Image01.jpg
|
||||||
|
│ | └── Image02.jpg
|
||||||
|
| └── png
|
||||||
|
│ | ├── Image01.png
|
||||||
|
│ | └── Image02.png
|
||||||
|
| └── raw
|
||||||
|
│ ├── Image01.cr2
|
||||||
|
│ └── Image02.cr2
|
||||||
|
```
|
||||||
|
|
||||||
|
By default, the uploader generates the exact same entries as directory structure in Piwigo.
|
||||||
|
I do not want that the category in Piwigo contains the name ``png`` if I upload all files from the ``png`` folder.
|
||||||
|
|
||||||
|
To fix this, you may set ``dirSuffixToSkip`` to ``1`` to move the files one level up and change
|
||||||
|
``2017/Event1/png`` to ``2017/Event1`` in Piwigo and forget about the ``png`` folder name.
|
||||||
|
|
||||||
|
#### Option ignoreDir
|
||||||
|
|
||||||
|
This flag contains the directory names that should be ignored during the directory walk.
|
||||||
|
You may use the flag multiple times to specify more than one value.
|
||||||
|
Taking the structure above, you can use this flag to ignore ``jpg`` and ``raw`` folders from the scan.
|
||||||
|
This can speed up the directory walking and prevent wrong results.
|
||||||
|
|
||||||
|
#### Option parallelUploads
|
||||||
|
|
||||||
|
Set the number of images that get uploaded in parallel. The default value of this setting is four.
|
||||||
|
How many concurrent uploads will work for you depend on the performance of the server and your client host.
|
||||||
|
The server may be the problem for almost all users.
|
||||||
|
Do not set this option to a value that stresses your server too much or you might see some issues on the user side of the gallery.
|
||||||
|
|
||||||
|
#### Option extension
|
||||||
|
|
||||||
|
Specify the file extensions that should be used to look up images.
|
||||||
|
By default, the system looks for ``jpg`` and ``png`` files.
|
||||||
|
|
||||||
### Configuration file
|
### Configuration file
|
||||||
|
|
||||||
It is also possible to use a configuration file to save the settings to be used with multiple piwigo instances.
|
It is also possible to use a configuration file to save the settings to be used with multiple piwigo instances.
|
||||||
@ -155,12 +238,12 @@ nano ./localConfig.ini
|
|||||||
|
|
||||||
## Run the uploader
|
## Run the uploader
|
||||||
|
|
||||||
Finally you may run the application using the following example command.
|
Finally, you may run the application using the following example command.
|
||||||
|
|
||||||
```
|
```
|
||||||
./PiwigoDirectoryUploader -config=./localConfig.ini
|
./PiwigoDirectoryUploader -config=./localConfig.ini
|
||||||
```
|
```
|
||||||
|
|
||||||
If you mess up the local database for some reason, you may just delete it and let the uploader regenerate the content.
|
If you mess up the local database for some reason, you may just delete it and let the uploader regenerate the content.
|
||||||
The only thing you might loose in this situation is the track of the files that should be deleted during next sync as
|
The only thing you might lose in this situation is the track of the files that should be deleted during next sync as
|
||||||
this information is built upon existing records of the local database.
|
this information is build upon existing records of the local database.
|
Loading…
Reference in New Issue
Block a user