diff --git a/README.md b/README.md index aabf24c..10d9311 100644 --- a/README.md +++ b/README.md @@ -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= > .env +echo TOKEN= >> .env +``` + +## Usage + +```text +paperless.sh get_tasks | put_document + +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 to your paperless + instance. + +return values: + If everything went alright, paperless.sh returns 0. Every other return + value indicates an error. +``` diff --git a/paperless.sh b/paperless.sh index 9d8995c..61d5cba 100755 --- a/paperless.sh +++ b/paperless.sh @@ -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 @@ -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