mirror of
https://github.com/python-escpos/python-escpos
synced 2025-12-02 09:43:30 +00:00
REFACTOR fix minor PEP8 and similar mistakes
This commit is contained in:
@@ -46,9 +46,11 @@ __license__ = "MIT"
|
||||
import re
|
||||
|
||||
from escpos import printer
|
||||
|
||||
epson = printer.Usb(0x0416, 0x5011)
|
||||
# TODO: Un-hardcode this
|
||||
|
||||
|
||||
def _print_text_file(path):
|
||||
"""Print the given text file"""
|
||||
epson.set(align='left')
|
||||
@@ -56,10 +58,12 @@ def _print_text_file(path):
|
||||
for line in fobj:
|
||||
epson.text(line)
|
||||
|
||||
|
||||
def _print_image_file(path):
|
||||
"""Print the given image file."""
|
||||
epson.fullimage(path, histeq=False, width=384)
|
||||
|
||||
|
||||
def print_files(args):
|
||||
"""The 'print' subcommand"""
|
||||
for path in args.paths:
|
||||
@@ -74,6 +78,7 @@ def print_files(args):
|
||||
KNOWN_BARCODE_TYPES = ['UPC-A', 'UPC-E', 'EAN13', 'ITF']
|
||||
re_barcode_escape = re.compile(r'^%(?P<type>\S+)\s(?P<data>[0-9X]+)$')
|
||||
|
||||
|
||||
def echo(args): # pylint: disable=unused-argument
|
||||
"""TTY-like line-by-line keyboard-to-printer echo loop."""
|
||||
try:
|
||||
@@ -94,6 +99,7 @@ def echo(args): # pylint: disable=unused-argument
|
||||
|
||||
from PIL import Image, ImageDraw
|
||||
|
||||
|
||||
def _stall_test(width, height):
|
||||
"""Generate a pattern to detect print glitches due to vertical stalling."""
|
||||
img = Image.new('1', (width, height))
|
||||
@@ -101,6 +107,7 @@ def _stall_test(width, height):
|
||||
img.putpixel(pos, not sum(pos) % 10)
|
||||
return img
|
||||
|
||||
|
||||
def _test_basic():
|
||||
"""The original test code from python-escpos's Usage wiki page"""
|
||||
epson.set(align='left')
|
||||
@@ -120,24 +127,26 @@ def _test_basic():
|
||||
# Cut paper
|
||||
epson.cut()
|
||||
|
||||
|
||||
def _test_barcodes():
|
||||
"""Print test barcodes for all ESCPOS-specified formats."""
|
||||
for name, data in (
|
||||
# pylint: disable=bad-continuation
|
||||
('UPC-A', '123456789012\x00'),
|
||||
('UPC-E', '02345036\x00'),
|
||||
('EAN13', '1234567890128\x00'),
|
||||
('EAN8', '12345670\x00'),
|
||||
('CODE39', 'BARCODE12345678\x00'),
|
||||
('ITF', '123456\x00'),
|
||||
('CODABAR', 'A40156B'),
|
||||
# TODO: CODE93 and CODE128
|
||||
# pylint: disable=bad-continuation
|
||||
('UPC-A', '123456789012\x00'),
|
||||
('UPC-E', '02345036\x00'),
|
||||
('EAN13', '1234567890128\x00'),
|
||||
('EAN8', '12345670\x00'),
|
||||
('CODE39', 'BARCODE12345678\x00'),
|
||||
('ITF', '123456\x00'),
|
||||
('CODABAR', 'A40156B'),
|
||||
# TODO: CODE93 and CODE128
|
||||
):
|
||||
# TODO: Fix the library to restore old alignment somehow
|
||||
epson.set(align='center')
|
||||
epson.text('\n%s\n' % name)
|
||||
epson.barcode(data, name, 64, 2, '', '')
|
||||
|
||||
|
||||
def _test_patterns(width=384, height=255):
|
||||
"""Print a set of test patterns for raster image output."""
|
||||
# Test our guess of the paper width
|
||||
@@ -152,6 +161,7 @@ def _test_patterns(width=384, height=255):
|
||||
epson.image(_stall_test(width, height))
|
||||
epson.image(_stall_test(width / 2, height))
|
||||
|
||||
|
||||
def test(args):
|
||||
"""The 'test' subcommand"""
|
||||
if args.barcodes:
|
||||
@@ -161,6 +171,7 @@ def test(args):
|
||||
else:
|
||||
_test_basic()
|
||||
|
||||
|
||||
# }}}
|
||||
|
||||
def main():
|
||||
@@ -168,25 +179,26 @@ def main():
|
||||
# pylint: disable=bad-continuation
|
||||
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Command-line interface to python-escpos")
|
||||
subparsers = parser.add_subparsers(title='subcommands')
|
||||
|
||||
echo_parser = subparsers.add_parser('echo', help='Echo the keyboard to '
|
||||
'the printer line-by-line (Exit with Ctrl+C)')
|
||||
'the printer line-by-line (Exit with Ctrl+C)')
|
||||
echo_parser.set_defaults(func=echo)
|
||||
|
||||
print_parser = subparsers.add_parser('print', help='Print the given files')
|
||||
print_parser.add_argument('--images', action='store_true',
|
||||
help="Provided files are images rather than text files.")
|
||||
help="Provided files are images rather than text files.")
|
||||
print_parser.add_argument('paths', metavar='path', nargs='+')
|
||||
print_parser.set_defaults(func=print_files)
|
||||
|
||||
test_parser = subparsers.add_parser('test', help='Print test patterns')
|
||||
test_modes = test_parser.add_mutually_exclusive_group()
|
||||
test_modes.add_argument('--barcodes', action='store_true',
|
||||
help="Test supported barcode types (Warning: Some printers must be "
|
||||
"reset after attempting an unsupported barcode type.)")
|
||||
help="Test supported barcode types (Warning: Some printers must be "
|
||||
"reset after attempting an unsupported barcode type.)")
|
||||
test_modes.add_argument('--patterns', action='store_true',
|
||||
help="Print test patterns")
|
||||
test_parser.set_defaults(func=test)
|
||||
@@ -194,6 +206,7 @@ def main():
|
||||
args = parser.parse_args()
|
||||
args.func(args)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user