From 7865cc45037a8c3cc5e6a115ed99c3da78ddc742 Mon Sep 17 00:00:00 2001 From: Florian Meinicke Date: Mon, 15 Jan 2024 16:09:54 +0100 Subject: [PATCH 1/2] Add `--digits` option to allow configuring the number of digits in the ASN string. This argument is optional and defaults to 7 to keep backwards compatibility. --- paperless_asn_qr_codes/main.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/paperless_asn_qr_codes/main.py b/paperless_asn_qr_codes/main.py index be9711d..b4eb7d5 100644 --- a/paperless_asn_qr_codes/main.py +++ b/paperless_asn_qr_codes/main.py @@ -8,7 +8,8 @@ from paperless_asn_qr_codes import avery_labels def render(c, x, y): global startASN - barcode_value = f"ASN{startASN:07d}" + global digits + barcode_value = f"ASN{startASN:0{digits}d}" startASN = startASN + 1 qr = QRCodeImage(barcode_value, size=y * 0.9) @@ -27,6 +28,9 @@ def main(): parser.add_argument( "--format", "-f", choices=avery_labels.labelInfo.keys(), default="averyL4731" ) + parser.add_argument( + "--digits", "-d", default=7, help="Number of digits in the ASN (default: 7, produces 'ASN0000001')", type=int + ) parser.add_argument( "--border", "-b", @@ -35,7 +39,9 @@ def main(): ) args = parser.parse_args() global startASN + global digits startASN = int(args.start_asn) + digits = int(args.digits) label = avery_labels.AveryLabel(args.format, args.border) label.open(args.output_file) # by default, we render all labels possible on a single sheet From 2fa39881a6463b43f1d01fb07fce0bbbe75defe9 Mon Sep 17 00:00:00 2001 From: Florian Meinicke Date: Thu, 18 Apr 2024 11:06:47 +0200 Subject: [PATCH 2/2] Update README.md with documentation about the `-d`/`--digits` option --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 1b6e556..ff047d3 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ positional arguments: options: -h, --help show this help message and exit --format {averyL4731,avery5160,avery5161,avery5163,avery5167,avery5371}, -f {averyL4731,avery5160,avery5161,avery5163,avery5167,avery5371} + --digits DIGITS, -d DIGITS + Number of digits in the ASN (default: 7, produces 'ASN0000001') --border, -b Display borders around labels, useful for debugging the printer alignment ``` @@ -39,6 +41,7 @@ options: - `-h`, `--help`: Shows the help message - `-f`, `--format`: Selects the format of the output sheet (see [Supported Sheets](#supported-sheets)) +- `-d`, `--digits`: Specifies the number of digits in the ASN (e.g. for the default number 7, the ASN will look like 'ASN0000001') - `-b`, `--border`: Generates the borders around the labels to help debug alignment issues (see [Tips & Tricks](#tips--tricks)) ## Supported Sheets