Changed offset option

This commit is contained in:
Tris Forster 2023-02-07 13:03:54 +11:00
parent 5b09007939
commit 88b3d8952d
2 changed files with 31 additions and 6 deletions

View File

@ -11,21 +11,46 @@ Generate labels for printing using HTML rendering.
## Usage ## Usage
The simplest use case is some static labels: The simplest use case is some static labels using a [template](examples/simple.html):
python -m pylabel -t examples/simple.html -p avery.L7157 -c 10 > output.html python -m pylabel -t examples/simple.html -p avery.L7157 -c 10 > output.html
Then, when you need some more just pop the same sheet back in the printer and offset the start Then, when you need some more just pop the same sheet back in the printer and offset the start
python -m pylabel -t examples/simple.html -p avery.L7157 -c 10 > output.html python -m pylabel -t examples/simple.html -p avery.L7157 -c 10 -o 10 > output.html
To do some mail merge operations create a list of names: To do some mail merge operations create a [list of names](examples/names.txt):
Andy Andrews Andy Andrews
Bob Brown Bob Brown
Charlie Chaplin Charlie Chaplin
and use a `{data[text]}` element in your template. Note we've shifted to an external stylesheet now as well. and use a `{data[text]}` element in your [template](examples/name_tags.html). Note we've shifted to an [external stylesheet](examples/hello.css) now as well.
python -m pylabel -t examples/name_tags.html -p avery.L7157 -d examples/names.txt -s examples/hello.css > output.html python -m pylabel -t examples/name_tags.html -p avery.L7157 -d examples/names.txt -s examples/hello.css > output.html
Full list of options `python -m pylabel -h`
usage: __main__.py [-h] [--count COUNT] [--offset OFFSET] [--profile PROFILE] [--template TEMPLATE] [--style STYLE] [--data DATA] [--json] [--logging LOGGING] [spec]
Generate a page of labels
positional arguments:
spec Specification module
options:
-h, --help show this help message and exit
--count COUNT, -c COUNT
Number of labels to generate
--offset OFFSET, -o OFFSET
Skip first n labels
--profile PROFILE, -p PROFILE
Label profile
--template TEMPLATE, -t TEMPLATE
Template for label
--style STYLE, -s STYLE
Additional stylesheet
--data DATA, -d DATA Pre-generated data, one entry per line
--json, -j Parse data lines as json
--logging LOGGING, -l LOGGING
Logging level

View File

@ -15,7 +15,7 @@ logger = logging.getLogger(__name__)
parser = argparse.ArgumentParser(description="Generate a page of labels") parser = argparse.ArgumentParser(description="Generate a page of labels")
parser.add_argument('--count', '-c', type=int, default=0, help="Number of labels to generate") parser.add_argument('--count', '-c', type=int, default=0, help="Number of labels to generate")
parser.add_argument('--skip', '-n', type=int, default=0, help="Skip first n labels") parser.add_argument('--offset', '-o', type=int, default=0, help="Skip first n labels")
parser.add_argument('--profile', '-p', help='Label profile') parser.add_argument('--profile', '-p', help='Label profile')
parser.add_argument('--template', '-t', type=argparse.FileType('r'), help='Template for label') parser.add_argument('--template', '-t', type=argparse.FileType('r'), help='Template for label')
parser.add_argument('--style', '-s', type=argparse.FileType('r'), help='Additional stylesheet') parser.add_argument('--style', '-s', type=argparse.FileType('r'), help='Additional stylesheet')
@ -77,4 +77,4 @@ for required in ('profile', 'template', 'data'):
sheet = LabelSheet(spec.profile) sheet = LabelSheet(spec.profile)
sys.stdout.write(sheet.render_html(spec.template, spec.data, options.skip, getattr(spec, 'style', ''))) sys.stdout.write(sheet.render_html(spec.template, spec.data, options.offset, getattr(spec, 'style', '')))