* migrate
* abstract base class test
* remove assert_equal in test_cli
* remove nose from test_cli
* remove nose dependencies
* use tempfile
* configure coverage
* flag python version in name
* enable comment
* drop EOL py37
* break line
* remove unused imports
* remove unused os import
* make flake8 more strict
* configure flake for black
* fix action
* use importlib_resources
* rename deprecated methods
Python 2.7 EOL is arriving on 2020-01-01: https://pythonclock.org/
This will allow us to use Python 3 only libraries, like python-barcode,
which can maintain a reduced, simpler codebase, due to only one version
to support.
Closes#371.
Signed-off-by: Romain Porte <microjoe@microjoe.org>
This code is adapted from the works by Frédéric Van der Essen in
pyxmlescpos.
I had to adapt the code completely in order to make it compatible with
modern unicode-handling
Further changes:
* improve text unittests in CLI and MagicEncode with hypothesis
* add feature force_encoding in order to enable old behaviour
* disable cli_text_test (for now)
* fix charcode(): it does now cooperate with the new structure
* remove redundant variable codepage from class Escpos
The version string is in the module as __version__ available.
In the doc the version will be automatically parsed. The version comes
from the installed module if on read the docs or directly from
setuptools_scm if you are working locally.
The CLI will issue the version string if you call it with the option
'version'. The CLI does not accept commands like '--version', since this
would not be conform with the rest of the interface (and argparse).
The configuration for loading the version-string is adapted from
pimutils/vdirsyncer. It autogenerates a version string setuptools_scm at
install-time and then adds it to the __version__ member in __init__.py
I adapted the GitHub-template with a fitting comment and bumped the
changelog.
closes#141