Enable spell checking (#563)
* add spellchecking * improve spelling * improve spelling config * extend word list * improve spelling * improve spelling * escalate warning in spell check to failure * fix spelling * fix spelling * add plural * Update doc/spelling_wordlist.txt * do not stop on warning * require newest sphinxcontrib spelling * remove old comment * add authors as single line entry to spelling list * reenable stop on warning
This commit is contained in:
parent
8f07c1da0f
commit
cfa9ecf16d
|
@ -10,7 +10,7 @@ finally get a version 3.0 out.
|
||||||
changes
|
changes
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
- Include support for CUPS based printer interfaces
|
- Include support for CUPS based printer interfaces
|
||||||
- Move the build toolchain to GitHub
|
- Move the build tool chain to GitHub
|
||||||
|
|
||||||
contributors
|
contributors
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
@ -67,7 +67,7 @@ contributors
|
||||||
- Alexander Bougakov
|
- Alexander Bougakov
|
||||||
- Brian
|
- Brian
|
||||||
- Yaisel Hurtado
|
- Yaisel Hurtado
|
||||||
- Maximilan Wagenbach
|
- Maximilian Wagenbach
|
||||||
- Patrick Kanzler
|
- Patrick Kanzler
|
||||||
|
|
||||||
2019-06-19 - Version 3.0a6 - "Mistake not..."
|
2019-06-19 - Version 3.0a6 - "Mistake not..."
|
||||||
|
@ -79,7 +79,7 @@ released.
|
||||||
changes
|
changes
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
- fix inclusion of the capabilities-file
|
- fix inclusion of the capabilities-file
|
||||||
- execute CI jobs also on Windows and macOS-targets
|
- execute CI jobs also on Windows and MacOS-targets
|
||||||
- improve documentation
|
- improve documentation
|
||||||
|
|
||||||
contributors
|
contributors
|
||||||
|
@ -214,7 +214,7 @@ changes
|
||||||
- feature: the driver tries now to guess the appropriate codepage and sets it automatically (called "magic encode")
|
- feature: the driver tries now to guess the appropriate codepage and sets it automatically (called "magic encode")
|
||||||
- as an alternative you can force the codepage with the old API
|
- as an alternative you can force the codepage with the old API
|
||||||
- updated and improved documentation
|
- updated and improved documentation
|
||||||
- changed constructor of main class due to introduction of capablities
|
- changed constructor of main class due to introduction of capabilities
|
||||||
- changed interface of method `blocktext`, changed behavior of multiple methods, for details refer to the documentation
|
- changed interface of method `blocktext`, changed behavior of multiple methods, for details refer to the documentation
|
||||||
on `python-escpos.readthedocs.io <https://python-escpos.readthedocs.io>`_
|
on `python-escpos.readthedocs.io <https://python-escpos.readthedocs.io>`_
|
||||||
- add support for custom cash drawer sequence
|
- add support for custom cash drawer sequence
|
||||||
|
@ -239,7 +239,7 @@ changes
|
||||||
- fix improper API-use in qrcode()
|
- fix improper API-use in qrcode()
|
||||||
- change setup.py shebang to make it compatible with virtualenvs.
|
- change setup.py shebang to make it compatible with virtualenvs.
|
||||||
- add constants for sheet mode and colors
|
- add constants for sheet mode and colors
|
||||||
- support changing the linespacing
|
- support changing the line spacing
|
||||||
|
|
||||||
contributors
|
contributors
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
@ -293,8 +293,8 @@ changes
|
||||||
- packaging: configured the coverage-analysis codecov.io
|
- packaging: configured the coverage-analysis codecov.io
|
||||||
- GitHub: improved issues-template
|
- GitHub: improved issues-template
|
||||||
- documentation: add troubleshooting tip to network-interface
|
- documentation: add troubleshooting tip to network-interface
|
||||||
- the module, cli and documentation is now aware of the version of python-escpos
|
- the module, CLI and documentation is now aware of the version of python-escpos
|
||||||
- the cli does now support basic tabcompletion
|
- the CLI does now support basic tab completion
|
||||||
|
|
||||||
contributors
|
contributors
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
@ -312,7 +312,7 @@ changes
|
||||||
- refactor complete code in order to be compatible with Python 2 and 3
|
- refactor complete code in order to be compatible with Python 2 and 3
|
||||||
- modernize packaging
|
- modernize packaging
|
||||||
- add testing and CI
|
- add testing and CI
|
||||||
- merge various forks into codebase, fixing multiple issues with barcode-, QR-printing, cashdraw and structure
|
- merge various forks into codebase, fixing multiple issues with barcode-, QR-printing, cash-draw and structure
|
||||||
- improve the documentation
|
- improve the documentation
|
||||||
- extend support of barcode-codes to type B
|
- extend support of barcode-codes to type B
|
||||||
- add function to disable panel-buttons
|
- add function to disable panel-buttons
|
||||||
|
@ -383,7 +383,7 @@ contributors
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
- Issue #5: Fixed vertical tab
|
- Issue #5: Fixed vertical tab
|
||||||
- Issue #9: Fixed identation inconsistence
|
- Issue #9: Fixed indentation inconsistency
|
||||||
|
|
||||||
2013-03-14 - Version 1.0.1
|
2013-03-14 - Version 1.0.1
|
||||||
--------------------------
|
--------------------------
|
||||||
|
@ -394,6 +394,6 @@ contributors
|
||||||
2012-11-15 - Version 1.0
|
2012-11-15 - Version 1.0
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
- Issue #2: Added ethernet support
|
- Issue #2: Added Ethernet support
|
||||||
- Issue #3: Added compatibility with libusb-1.0.1
|
- Issue #3: Added compatibility with libusb-1.0.1
|
||||||
- Issue #4: Fixed typo in escpos.py
|
- Issue #4: Fixed typo in escpos.py
|
||||||
|
|
|
@ -12,7 +12,7 @@ Description
|
||||||
Python ESC/POS is a library which lets the user have access to all those printers handled
|
Python ESC/POS is a library which lets the user have access to all those printers handled
|
||||||
by ESC/POS commands, as defined by Epson, from a Python application.
|
by ESC/POS commands, as defined by Epson, from a Python application.
|
||||||
|
|
||||||
The library tries to implement the functions provided by the ESC/POS-commandset and supports sending text, images,
|
The library tries to implement the functions provided by the ESC/POS-command-set and supports sending text, images,
|
||||||
barcodes and qr-codes to the printer.
|
barcodes and qr-codes to the printer.
|
||||||
|
|
||||||
Text can be aligned/justified and fonts can be changed by size, type and weight.
|
Text can be aligned/justified and fonts can be changed by size, type and weight.
|
||||||
|
|
12
doc/conf.py
12
doc/conf.py
|
@ -316,3 +316,15 @@ spelling_ignore_pypi_package_names = True
|
||||||
spelling_ignore_wiki_words = True
|
spelling_ignore_wiki_words = True
|
||||||
spelling_ignore_python_builtins = True
|
spelling_ignore_python_builtins = True
|
||||||
spelling_ignore_importable_modules = True
|
spelling_ignore_importable_modules = True
|
||||||
|
spelling_ignore_contributor_names = True
|
||||||
|
spelling_word_list_filename = ["spelling_wordlist.txt", "../AUTHORS"]
|
||||||
|
spelling_show_suggestions = True
|
||||||
|
spelling_suggestion_limit = 3
|
||||||
|
spelling_warning = True
|
||||||
|
spelling_exclude_patterns = [
|
||||||
|
"**/capabilities.json",
|
||||||
|
"../../capabilities-data/dist/capabilities.json",
|
||||||
|
"**/available-encodings.rst",
|
||||||
|
"**/available-profiles.rst",
|
||||||
|
"dev/todo.rst",
|
||||||
|
]
|
||||||
|
|
|
@ -5,13 +5,13 @@ Repository
|
||||||
|
|
||||||
:Last Reviewed: 2023-09-05
|
:Last Reviewed: 2023-09-05
|
||||||
|
|
||||||
This project uses subprojects and retrieves its versioning
|
This project uses sub-projects and retrieves its versioning
|
||||||
information from version control.
|
information from version control.
|
||||||
Therefore it is crucial that you follow these rules when
|
Therefore it is crucial that you follow these rules when
|
||||||
working with the project (e.g. for packaging a
|
working with the project (e.g. for packaging a
|
||||||
development version).
|
development version).
|
||||||
|
|
||||||
* Make sure that the git project is complete. A call to git status for example should succeed.
|
* Make sure that the git project is complete. A call to git status for example should succeed.
|
||||||
* Make sure that you have checked out all available subprojects.
|
* Make sure that you have checked out all available sub-projects.
|
||||||
* Proper initialization of submodules can be ensured with ``git submodule update --init --recursive``
|
* Proper initialization of submodules can be ensured with ``git submodule update --init --recursive``
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,6 @@ The identifier can be found in :ref:`available-profiles`.
|
||||||
This documentation describes the profiles in the database file that
|
This documentation describes the profiles in the database file that
|
||||||
is bundled with this release.
|
is bundled with this release.
|
||||||
If another configuration is to be used, this chapter can be followed
|
If another configuration is to be used, this chapter can be followed
|
||||||
for information on how to sideload another `capabilities`-database:
|
for information on how to side-load another `capabilities`-database:
|
||||||
:ref:`advanced-usage-change-capabilities-profile`.
|
:ref:`advanced-usage-change-capabilities-profile`.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,125 @@
|
||||||
Raspbian
|
|
||||||
ESC
|
ESC
|
||||||
|
Esc
|
||||||
POS
|
POS
|
||||||
|
Pos
|
||||||
Escpos
|
Escpos
|
||||||
Escpos
|
Escpos
|
||||||
|
escpos
|
||||||
|
|
||||||
|
bitImageColumn
|
||||||
|
bitImageRaster
|
||||||
|
ep
|
||||||
|
pc
|
||||||
|
cp
|
||||||
|
|
||||||
|
csoft
|
||||||
|
Frédéric
|
||||||
|
Headcrash
|
||||||
|
Krispy
|
||||||
|
primax
|
||||||
|
Tahri
|
||||||
|
reck
|
||||||
|
mrwunderbar
|
||||||
|
zouppen
|
||||||
|
kedare
|
||||||
|
Foaly
|
||||||
|
brendanhowell
|
||||||
|
der
|
||||||
|
fvdsn
|
||||||
|
Marull
|
||||||
|
Paretas
|
||||||
|
Kakistocrat
|
||||||
|
Billington
|
||||||
|
patkan
|
||||||
|
Romain
|
||||||
|
Bougakov
|
||||||
|
Yaisel
|
||||||
|
Hurtado
|
||||||
|
Wagenbach
|
||||||
|
Poca
|
||||||
|
Akram
|
||||||
|
Vieira
|
||||||
|
Christoph
|
||||||
|
Heuel
|
||||||
|
Thijs
|
||||||
|
Triemstra
|
||||||
|
Linder
|
||||||
|
Romain
|
||||||
|
Pulgarin
|
||||||
|
Romain
|
||||||
|
Cheng
|
||||||
|
Dmytro
|
||||||
|
Katyukha
|
||||||
|
Elsdörfer
|
||||||
|
Asuki
|
||||||
|
Kono
|
||||||
|
López
|
||||||
|
mashedkeyboard
|
||||||
|
Thijs
|
||||||
|
Triemstra
|
||||||
|
Elsdörfer
|
||||||
|
Renato
|
||||||
|
Lorenzi
|
||||||
|
Bookham
|
||||||
|
Goglin
|
||||||
|
Christoph
|
||||||
|
Heuel
|
||||||
|
Qian
|
||||||
|
Lehtonen
|
||||||
|
|
||||||
|
barcode
|
||||||
|
barcodes
|
||||||
baudrate
|
baudrate
|
||||||
|
Bashlinux
|
||||||
|
capabilities
|
||||||
|
cashdraw
|
||||||
|
charcode
|
||||||
|
changelog
|
||||||
|
cheque
|
||||||
|
codebase
|
||||||
|
codecov
|
||||||
|
codepages
|
||||||
|
config
|
||||||
|
del
|
||||||
|
dev
|
||||||
|
dialout
|
||||||
|
docstrings
|
||||||
|
ean
|
||||||
|
Ean
|
||||||
|
encodable
|
||||||
|
fff
|
||||||
|
io
|
||||||
|
json
|
||||||
|
latin
|
||||||
|
libusb
|
||||||
|
lp
|
||||||
lsusb
|
lsusb
|
||||||
|
natively
|
||||||
|
php
|
||||||
|
pre
|
||||||
|
prefilled
|
||||||
|
printcap
|
||||||
|
programmatically
|
||||||
|
py
|
||||||
|
pypy
|
||||||
|
pyyaml
|
||||||
|
px
|
||||||
|
qrcode
|
||||||
|
Raspbian
|
||||||
|
rebase
|
||||||
|
rebased
|
||||||
|
resetted
|
||||||
|
rst
|
||||||
|
submodule
|
||||||
|
submodules
|
||||||
|
src
|
||||||
|
testcases
|
||||||
|
th
|
||||||
|
Todo
|
||||||
|
traceback
|
||||||
|
udev
|
||||||
|
usb
|
||||||
|
usec
|
||||||
|
virtualenvs
|
||||||
|
whitespaces
|
||||||
|
xml
|
|
@ -4,14 +4,14 @@ Printing Barcodes
|
||||||
:Last Reviewed: 2023-08-10
|
:Last Reviewed: 2023-08-10
|
||||||
|
|
||||||
Many printers implement barcode printing natively.
|
Many printers implement barcode printing natively.
|
||||||
This hardware renderered barcodes are fast but the supported
|
These hardware rendered barcodes are fast but the supported
|
||||||
formats are limited by the printer itself and different between models.
|
formats are limited by the printer itself and different between models.
|
||||||
However, almost all printers support printing images, so barcode
|
However, almost all printers support printing images, so barcode
|
||||||
rendering can be performed externally by software and then sent
|
rendering can be performed externally by software and then sent
|
||||||
to the printer as an image.
|
to the printer as an image.
|
||||||
As a drawback, this operation is much slower and the user needs
|
As a drawback, this operation is much slower and the user needs
|
||||||
to know and choose the image implementation method supported by
|
to know and choose the image implementation method supported by
|
||||||
the printer's commandset.
|
the printer's command-set.
|
||||||
|
|
||||||
barcode-method
|
barcode-method
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
|
@ -63,7 +63,8 @@ Setup udev for USB-Printers
|
||||||
|
|
||||||
Enabling tab-completion in CLI
|
Enabling tab-completion in CLI
|
||||||
------------------------------
|
------------------------------
|
||||||
python-escpos has a CLI with tab-completion. This is realised with ``argcomplete``.
|
python-escpos has a CLI with tab-completion.
|
||||||
|
This is realized with ``argcomplete``.
|
||||||
In order for this to work you have to enable tab-completion, which is described in
|
In order for this to work you have to enable tab-completion, which is described in
|
||||||
the `manual of argcomplete <https://argcomplete.readthedocs.io>`__.
|
the `manual of argcomplete <https://argcomplete.readthedocs.io>`__.
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ printers.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This driver is not suited for USB-to-Serial-adapters
|
This driver is not suited for USB-to-Serial-adapters
|
||||||
and similiar devices, but only for those implementing native USB.
|
and similar devices, but only for those implementing native USB.
|
||||||
|
|
||||||
.. autoclass:: escpos.printer.Usb
|
.. autoclass:: escpos.printer.Usb
|
||||||
:members:
|
:members:
|
||||||
|
|
|
@ -146,7 +146,7 @@ And for linux::
|
||||||
|
|
||||||
$HOME/.config/python-escpos/config.yaml
|
$HOME/.config/python-escpos/config.yaml
|
||||||
|
|
||||||
If you aren't sure, run::
|
If you are not sure, run::
|
||||||
|
|
||||||
from escpos import config
|
from escpos import config
|
||||||
c = config.Config()
|
c = config.Config()
|
||||||
|
@ -206,10 +206,12 @@ For normal usage you can simply pass your text to the printers ``text()``-functi
|
||||||
the right codepage and then send the encoded data to the printer. If this feature does not work, please try to
|
the right codepage and then send the encoded data to the printer. If this feature does not work, please try to
|
||||||
isolate the error and then create an issue on the GitHub project page.
|
isolate the error and then create an issue on the GitHub project page.
|
||||||
|
|
||||||
If you want or need to you can manually set the codepage. For this please use the ``charcode()``-function. You can set
|
If you want or need to you can manually set the codepage.
|
||||||
any key-value that is in ``CHARCODE``. If something is wrong, an ``CharCodeError`` will be raised.
|
For this please use the ``charcode()``-function.
|
||||||
After you have manually set the codepage the printer won't change it anymore. You can revert to normal behaviour
|
You can set any key-value that is in ``CHARCODE``.
|
||||||
by setting charcode to ``AUTO``.
|
If something is wrong, an ``CharCodeError`` will be raised.
|
||||||
|
After you have manually set the codepage the printer won't change it anymore.
|
||||||
|
You can revert to normal behavior by setting charcode to ``AUTO``.
|
||||||
|
|
||||||
Advanced Usage: Print from binary blob
|
Advanced Usage: Print from binary blob
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
|
@ -56,7 +56,7 @@ tests_require =
|
||||||
mock
|
mock
|
||||||
hypothesis>4
|
hypothesis>4
|
||||||
flake8
|
flake8
|
||||||
sphinxcontrib-spelling>=7.2.0
|
sphinxcontrib-spelling>=8.0.0
|
||||||
|
|
||||||
[options.extras_require]
|
[options.extras_require]
|
||||||
usb =
|
usb =
|
||||||
|
|
|
@ -26,7 +26,7 @@ from . import config, version
|
||||||
|
|
||||||
# Must be defined before it's used in DEMO_FUNCTIONS
|
# Must be defined before it's used in DEMO_FUNCTIONS
|
||||||
def str_to_bool(string):
|
def str_to_bool(string):
|
||||||
"""Convert string to Bool.
|
"""Convert string to bool.
|
||||||
|
|
||||||
Used as a type in argparse so that we get back a proper
|
Used as a type in argparse so that we get back a proper
|
||||||
bool instead of always True.
|
bool instead of always True.
|
||||||
|
|
|
@ -13,7 +13,7 @@ from . import exceptions, printer
|
||||||
class Config(object):
|
class Config(object):
|
||||||
"""Configuration handler class.
|
"""Configuration handler class.
|
||||||
|
|
||||||
This class loads configuration from a default or specificed directory. It
|
This class loads configuration from a default or specified directory. It
|
||||||
can create your defined printer and return it to you.
|
can create your defined printer and return it to you.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ class Config(object):
|
||||||
|
|
||||||
Throw an exception on error.
|
Throw an exception on error.
|
||||||
|
|
||||||
This method loads the default config if one hasn't beeen already loaded.
|
This method loads the default config if one has not been already loaded.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if not self._has_loaded:
|
if not self._has_loaded:
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
""" Set of ESC/POS Commands (Constants)
|
""" Set of ESC/POS Commands (Constants)
|
||||||
|
|
||||||
This module contains constants that are described in the esc/pos-documentation.
|
This module contains constants that are described in the Esc/Pos-documentation.
|
||||||
Since there is no definitive and unified specification for all esc/pos-like printers the constants could later be
|
Since there is no definitive and unified specification for all Esc/Pos-like printers the constants could later be
|
||||||
moved to `capabilities` as in `escpos-php by @mike42 <https://github.com/mike42/escpos-php>`_.
|
moved to `capabilities` as in `escpos-php by @mike42 <https://github.com/mike42/escpos-php>`_.
|
||||||
|
|
||||||
:author: python-escpos developers
|
:author: python-escpos developers
|
||||||
|
|
|
@ -110,7 +110,7 @@ SW_BARCODE_NAMES = {
|
||||||
class Escpos(object):
|
class Escpos(object):
|
||||||
"""ESC/POS Printer object.
|
"""ESC/POS Printer object.
|
||||||
|
|
||||||
This class is the abstract base class for an esc/pos-printer. The printer implementations are children of this
|
This class is the abstract base class for an Esc/Pos-printer. The printer implementations are children of this
|
||||||
class.
|
class.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -391,9 +391,11 @@ class Escpos(object):
|
||||||
def charcode(self, code: str = "AUTO") -> None:
|
def charcode(self, code: str = "AUTO") -> None:
|
||||||
"""Set Character Code Table.
|
"""Set Character Code Table.
|
||||||
|
|
||||||
Sets the control sequence from ``CHARCODE`` in :py:mod:`escpos.constants` as active. It will be sent with
|
Sets the control sequence from ``CHARCODE`` in :py:mod:`escpos.constants` as active.
|
||||||
the next text sequence. If you set the variable code to ``AUTO`` it will try to automatically guess the
|
It will be sent with the next text sequence.
|
||||||
right codepage. (This is the standard behaviour.)
|
If you set the variable code to ``AUTO`` it will try to automatically guess the
|
||||||
|
right codepage.
|
||||||
|
(This is the standard behavior.)
|
||||||
|
|
||||||
:param code: Name of CharCode
|
:param code: Name of CharCode
|
||||||
:raises: :py:exc:`~escpos.exceptions.CharCodeError`
|
:raises: :py:exc:`~escpos.exceptions.CharCodeError`
|
||||||
|
@ -848,7 +850,7 @@ class Escpos(object):
|
||||||
self.text("\n" * count)
|
self.text("\n" * count)
|
||||||
|
|
||||||
def block_text(self, txt, font="0", columns=None):
|
def block_text(self, txt, font="0", columns=None):
|
||||||
"""Print text wrapped to specifiec columns.
|
"""Print text wrapped to specific columns.
|
||||||
|
|
||||||
Text has to be encoded in unicode.
|
Text has to be encoded in unicode.
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ class BarcodeSizeError(Error):
|
||||||
|
|
||||||
This exception indicates that the values for the barcode size are out of range.
|
This exception indicates that the values for the barcode size are out of range.
|
||||||
The size of the barcode has to be in the range that is specified in :py:meth:`escpos.escpos.Escpos.barcode`.
|
The size of the barcode has to be in the range that is specified in :py:meth:`escpos.escpos.Escpos.barcode`.
|
||||||
The resulting returncode is `20`.
|
The resulting return code is `20`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ class BarcodeCodeError(Error):
|
||||||
|
|
||||||
No data for the barcode has been supplied in :py:meth:`escpos.escpos.Escpos.barcode` or the the `check` parameter
|
No data for the barcode has been supplied in :py:meth:`escpos.escpos.Escpos.barcode` or the the `check` parameter
|
||||||
was True and the check failed.
|
was True and the check failed.
|
||||||
The returncode for this exception is `30`.
|
The return code for this exception is `30`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ class BarcodeCodeError(Error):
|
||||||
class ImageSizeError(Error):
|
class ImageSizeError(Error):
|
||||||
"""Image height is longer than 255px and can't be printed.
|
"""Image height is longer than 255px and can't be printed.
|
||||||
|
|
||||||
The returncode for this exception is `40`.
|
The return code for this exception is `40`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ class TextError(Error):
|
||||||
"""Text string must be supplied to the `text()` method.
|
"""Text string must be supplied to the `text()` method.
|
||||||
|
|
||||||
This exception is raised when an empty string is passed to :py:meth:`escpos.escpos.Escpos.text`.
|
This exception is raised when an empty string is passed to :py:meth:`escpos.escpos.Escpos.text`.
|
||||||
The returncode for this exception is `50`.
|
The return code for this exception is `50`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ class CashDrawerError(Error):
|
||||||
"""Valid pin must be set in order to send pulse.
|
"""Valid pin must be set in order to send pulse.
|
||||||
|
|
||||||
A valid pin number has to be passed onto the method :py:meth:`escpos.escpos.Escpos.cashdraw`.
|
A valid pin number has to be passed onto the method :py:meth:`escpos.escpos.Escpos.cashdraw`.
|
||||||
The returncode for this exception is `60`.
|
The return code for this exception is `60`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ class TabPosError(Error):
|
||||||
Both values multiplied must not exceed 255, since it is the maximum tab value.
|
Both values multiplied must not exceed 255, since it is the maximum tab value.
|
||||||
|
|
||||||
This exception is raised by :py:meth:`escpos.escpos.Escpos.control`.
|
This exception is raised by :py:meth:`escpos.escpos.Escpos.control`.
|
||||||
The returncode for this exception is `70`.
|
The return code for this exception is `70`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -255,7 +255,7 @@ class CharCodeError(Error):
|
||||||
"""Valid char code must be set.
|
"""Valid char code must be set.
|
||||||
|
|
||||||
The supplied charcode-name in :py:meth:`escpos.escpos.Escpos.charcode` is unknown.
|
The supplied charcode-name in :py:meth:`escpos.escpos.Escpos.charcode` is unknown.
|
||||||
Ths returncode for this exception is `80`.
|
The return code for this exception is `80`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -276,10 +276,10 @@ class CharCodeError(Error):
|
||||||
|
|
||||||
|
|
||||||
class USBNotFoundError(Error):
|
class USBNotFoundError(Error):
|
||||||
"""Device wasn't found (probably not plugged in).
|
"""Device was not found (probably not plugged in).
|
||||||
|
|
||||||
The USB device seems to be not plugged in.
|
The USB device seems to be not plugged in.
|
||||||
Ths returncode for this exception is `90`.
|
The return code for this exception is `90`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -303,7 +303,7 @@ class SetVariableError(Error):
|
||||||
"""A set method variable was out of range.
|
"""A set method variable was out of range.
|
||||||
|
|
||||||
Check set variables against minimum and maximum values
|
Check set variables against minimum and maximum values
|
||||||
Ths returncode for this exception is `100`.
|
The return code for this exception is `100`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ class ConfigNotFoundError(Error):
|
||||||
"""The configuration file was not found.
|
"""The configuration file was not found.
|
||||||
|
|
||||||
The default or passed configuration file could not be read
|
The default or passed configuration file could not be read
|
||||||
Ths returncode for this exception is `200`.
|
The return code for this exception is `200`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -354,7 +354,7 @@ class ConfigSyntaxError(Error):
|
||||||
"""The configuration file is invalid.
|
"""The configuration file is invalid.
|
||||||
|
|
||||||
The syntax is incorrect
|
The syntax is incorrect
|
||||||
Ths returncode for this exception is `210`.
|
The return code for this exception is `210`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -377,8 +377,8 @@ class ConfigSyntaxError(Error):
|
||||||
class ConfigSectionMissingError(Error):
|
class ConfigSectionMissingError(Error):
|
||||||
"""The configuration file is missing a section.
|
"""The configuration file is missing a section.
|
||||||
|
|
||||||
The part of the config asked for doesn't exist in the loaded configuration
|
The part of the config asked for does not exist in the loaded configuration
|
||||||
Ths returncode for this exception is `220`.
|
The return code for this exception is `220`.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
|
|
@ -28,15 +28,9 @@ class Encoder(object):
|
||||||
|
|
||||||
Note: To determine the code page, it needs to do the conversion, and
|
Note: To determine the code page, it needs to do the conversion, and
|
||||||
thus already knows what the final byte in the target encoding would
|
thus already knows what the final byte in the target encoding would
|
||||||
be. Nevertheless, the API of this class doesn't return the byte.
|
be. Nevertheless, the API of this class does not return the byte.
|
||||||
|
|
||||||
The caller use to do the character conversion itself.
|
The caller use to do the character conversion itself.
|
||||||
|
|
||||||
$ python -m timeit -s "{u'ö':'a'}.get(u'ö')"
|
|
||||||
100000000 loops, best of 3: 0.0133 usec per loop
|
|
||||||
|
|
||||||
$ python -m timeit -s "u'ö'.encode('latin1')"
|
|
||||||
100000000 loops, best of 3: 0.0141 usec per loop
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, codepage_map):
|
def __init__(self, codepage_map):
|
||||||
|
@ -117,7 +111,7 @@ class Encoder(object):
|
||||||
return codepage_char_map
|
return codepage_char_map
|
||||||
|
|
||||||
def can_encode(self, encoding, char):
|
def can_encode(self, encoding, char):
|
||||||
"""Determine if a character is encodeable in the given code page.
|
"""Determine if a character is encodable in the given code page.
|
||||||
|
|
||||||
:param encoding: The name of the encoding.
|
:param encoding: The name of the encoding.
|
||||||
:param char: The character to attempt to encode.
|
:param char: The character to attempt to encode.
|
||||||
|
@ -171,7 +165,7 @@ class Encoder(object):
|
||||||
1. code pages that we already tried before; there is a good
|
1. code pages that we already tried before; there is a good
|
||||||
chance they might work again, reducing the search space,
|
chance they might work again, reducing the search space,
|
||||||
and by re-using already used encodings we might also
|
and by re-using already used encodings we might also
|
||||||
reduce the number of codepage change instructiosn we have
|
reduce the number of codepage change instruction we have
|
||||||
to send. Still, any performance gains will presumably be
|
to send. Still, any performance gains will presumably be
|
||||||
fairly minor.
|
fairly minor.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""This module contains the implementation of the CupsPrinter printer driver.
|
"""This module contains the implementation of the Network printer driver.
|
||||||
|
|
||||||
:author: python-escpos developers
|
:author: python-escpos developers
|
||||||
:organization: `python-escpos <https://github.com/python-escpos>`_
|
:organization: `python-escpos <https://github.com/python-escpos>`_
|
||||||
|
@ -21,18 +21,22 @@ def is_usable() -> bool:
|
||||||
class Network(Escpos):
|
class Network(Escpos):
|
||||||
"""Network printer.
|
"""Network printer.
|
||||||
|
|
||||||
This class is used to attach to a networked printer. You can also use this in order to attach to a printer that
|
This class is used to attach to a networked printer.
|
||||||
|
You can also use this in order to attach to a printer that
|
||||||
is forwarded with ``socat``.
|
is forwarded with ``socat``.
|
||||||
|
|
||||||
If you have a local printer on parallel port ``/dev/usb/lp0`` then you could start ``socat`` with:
|
If you have a local printer on parallel port ``/dev/usb/lp0``
|
||||||
|
then you could start ``socat`` with:
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
socat -u TCP4-LISTEN:4242,reuseaddr,fork OPEN:/dev/usb/lp0
|
socat -u TCP4-LISTEN:4242,reuseaddr,fork OPEN:/dev/usb/lp0
|
||||||
|
|
||||||
Then you should be able to attach to port ``4242`` with this class.
|
Then you should be able to attach to port ``4242`` with this class.
|
||||||
Otherwise the normal usecase would be to have a printer with ethernet interface. This type of printer should
|
Otherwise the normal use case would be to have a printer with
|
||||||
work the same with this class. For the address of the printer check its manuals.
|
Ethernet interface.
|
||||||
|
This type of printer should work the same with this class.
|
||||||
|
For the address of the printer check its manuals.
|
||||||
|
|
||||||
inheritance:
|
inheritance:
|
||||||
|
|
||||||
|
@ -53,7 +57,7 @@ class Network(Escpos):
|
||||||
def __init__(self, host, port=9100, timeout=60, *args, **kwargs):
|
def __init__(self, host, port=9100, timeout=60, *args, **kwargs):
|
||||||
"""Initialize network printer.
|
"""Initialize network printer.
|
||||||
|
|
||||||
:param host: Printer's hostname or IP address
|
:param host: Printer's host name or IP address
|
||||||
:param port: Port to write to
|
:param port: Port to write to
|
||||||
:param timeout: timeout in seconds for the socket-library
|
:param timeout: timeout in seconds for the socket-library
|
||||||
"""
|
"""
|
||||||
|
|
3
tox.ini
3
tox.ini
|
@ -33,12 +33,13 @@ changedir = doc
|
||||||
deps = sphinx>=7.2.3
|
deps = sphinx>=7.2.3
|
||||||
setuptools_scm
|
setuptools_scm
|
||||||
python-barcode
|
python-barcode
|
||||||
sphinxcontrib-spelling>=7.2.0
|
sphinxcontrib-spelling>=8.0.0
|
||||||
sphinxcontrib.datatemplates
|
sphinxcontrib.datatemplates
|
||||||
sphinx-autodoc-typehints
|
sphinx-autodoc-typehints
|
||||||
sphinx_rtd_theme
|
sphinx_rtd_theme
|
||||||
pycups
|
pycups
|
||||||
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
|
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
|
||||||
|
sphinx-build -W -b spelling -d {envtmpdir}/doctrees . {envtmpdir}/spelling
|
||||||
|
|
||||||
[testenv:flake8]
|
[testenv:flake8]
|
||||||
basepython = python
|
basepython = python
|
||||||
|
|
Loading…
Reference in New Issue