From 9a45629af50612fd6c057f49b6a1ed92129df565 Mon Sep 17 00:00:00 2001 From: margau Date: Sun, 26 Jan 2025 22:02:42 +0100 Subject: [PATCH] feat: sort format list (#46) --- README.md | 16 +++++++--------- paperless_asn_qr_codes/main.py | 5 ++++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index efc50a9..3e57a48 100644 --- a/README.md +++ b/README.md @@ -28,16 +28,14 @@ positional arguments: options: -h, --help show this help message and exit - --format {averyL4731,avery5160,avery5161,avery5163,avery5167,avery5371,herma10003,herma4346}, -f {averyL4731,avery5160,avery5161,avery5163,avery5167,avery5371,herma10003,herma4346} - --digits DIGITS, -d DIGITS - Number of digits in the ASN (default: 7, produces 'ASN0000001') + --format, -f {avery5160,avery5161,avery5163,avery5167,avery5371,averyL4731,averyL4732,herma10003,herma4201,herma4346} + --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 --row-wise, -r Increment the ASNs row-wise, go from left to right - --num-labels NUM_LABELS, -n NUM_LABELS + --num-labels, -n NUM_LABELS Number of labels to be printed on the sheet - --pages PAGES, -p PAGES - Number of pages to be printed, ignored if NUM_LABELS is set (default: 1) - --start-position START_POSITION, -s START_POSITION + --pages, -p PAGES Number of pages to be printed, ignored if NUM_LABELS is set (default: 1) + --start-position, -s START_POSITION Define the starting position on the sheet, eighter as ROW:COLUMN or COUNT, both starting from 1 (default: 1:1 or 1) ``` @@ -66,9 +64,9 @@ Some different sheet types are supported with the `-f`/`--format` argument, howe The default is Avery L4731. Currently tested and known working are: -- Avery L4731 (189 Labels on DIN A4) -- Herma 4201 (64 Labels on DIN A4, [Disclaimer: Not perfect ;)](https://github.com/entropia/paperless-asn-qr-codes/pull/36)) +- **Avery L4731 (189 Labels on DIN A4, the default)** - Herma 10003 (80 Labels on DIN A4, formerly Herma 4345) +- Herma 4201 (64 Labels on DIN A4, [Disclaimer: Not perfect ;)](https://github.com/entropia/paperless-asn-qr-codes/pull/36)) - Herma 4346 (48 Labels on DIN A4) ## Tips & Tricks diff --git a/paperless_asn_qr_codes/main.py b/paperless_asn_qr_codes/main.py index 4f0baf5..2b72a31 100644 --- a/paperless_asn_qr_codes/main.py +++ b/paperless_asn_qr_codes/main.py @@ -28,6 +28,9 @@ def _start_position(arg): return int(arg) else: raise argparse.ArgumentTypeError("invalid value") + # prepare a sorted list of all formats + availableFormats = list(avery_labels.labelInfo.keys()) + availableFormats.sort() parser = argparse.ArgumentParser( prog="paperless-asn-qr-codes", @@ -41,7 +44,7 @@ def _start_position(arg): help="The output file to write to (default: labels.pdf)", ) parser.add_argument( - "--format", "-f", choices=avery_labels.labelInfo.keys(), default="averyL4731" + "--format", "-f", choices=availableFormats, default="averyL4731" ) parser.add_argument( "--digits",