Compare commits

...

2 commits

Author SHA1 Message Date
2a16d6fe19 feat: print version on start 2024-11-21 20:46:55 +01:00
3dd43b1bab docs: extended README 2024-11-21 20:45:58 +01:00
2 changed files with 39 additions and 0 deletions

View file

@ -7,3 +7,33 @@ SPDX-License-Identifier: AGPL-3.0-or-later
# paperless-client
![pre-commit enabled](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)
This simple client is a wrapper around the paperless-ng API. It allows you to
upload documents to your paperless-ng instance. By design it doesn't use
anything besides curl, so that it can be used in a wide range of environments,
like Alpine Linux or OpenWRT.
## Installation
```text
curl -ROLf1 https://git.schmidl.dev/schtobia/paperless-client/raw/branch/master/paperless.sh
chmod +x paperless.sh
echo BASEURL=<your paperless-ng instance> > .env
echo TOKEN=<your paperless-ng token> >> .env
```
## Usage
```text
paperless.sh get_tasks | put_document <file>
commands:
get_tasks Get the list of tasks. This is not formatted, i.e. you'll
have to pipe it yourself through a formatter.
put_document Uploads the document under <file> to your paperless
instance.
return values:
If everything went alright, paperless.sh returns 0. Every other return
value indicates an error.
```

View file

@ -3,6 +3,9 @@
#
# SPDX-License-Identifier: AGPL-3.0-or-later
VERSION="1.0.0"
# load_env loads the .env file and checks if the necessary parameters are present.
load_env () {
[ ! -r "./.env" ] && { echo "env file not readable, please make sure a .env is present." >&2; exit 1; }
. "./.env"
@ -10,6 +13,7 @@ load_env () {
[ -z "$BASE_URL" ] && { echo "Parameter BASE_URL is not present in env file, please fill it with the URL of your paperless server." >&2; exit 1; }
}
# print_usage prints the usage of the script.
print_usage () {
cat << END_OF_COMMENT
$(basename "$0") get_tasks | put_document <file>
@ -29,6 +33,11 @@ END_OF_COMMENT
AUTH_PARM="Authorization: Token $TOKEN"
echo "$(basename "$0") v${VERSION}"
echo ""
[ "$#" -lt 1 ] && { print_usage; exit 1; }
case "$1" in
get_tasks)
load_env