Sam Cheng
a0ef820947
add support for an ESCPOS_CAPABILITIES_FILE environment variable. This is useful in situations where package structure is changed, such as using cx-freeze
2017-03-27 14:39:49 +02:00
Patrick Kanzler
3ee787e8b1
change license to MIT
2017-01-31 03:55:50 +01:00
Patrick Kanzler
e92f00cdf3
fix AttributeError when executing close
...
When self.device is already None an AttributeError will occur.
This is relevant to #189 .
2017-01-30 16:14:58 +01:00
Patrick Kanzler
337e8ee19e
add flake8-checks to travis
2017-01-30 02:29:08 +01:00
Patrick Kanzler
81028f9a35
refactor not ... in to ... not in ...
2017-01-30 02:16:22 +01:00
Patrick Kanzler
fb18bb34cc
normalize imports
2017-01-30 02:15:40 +01:00
Patrick Kanzler
94a0f2b94b
normalize whitespace
2017-01-30 01:57:36 +01:00
Patrick Kanzler
ce94a1fc18
normalize whitespace
2017-01-30 01:52:26 +01:00
Patrick Kanzler
b4920aafe2
increase allowed line-length, fix whitespace in cli.py
2017-01-30 01:41:01 +01:00
Patrick Kanzler
c48a0bee51
use not in instead of not ... in
2017-01-30 00:50:58 +01:00
Patrick Kanzler
c2fc464c55
reformat PEP8 and similar issues
2017-01-30 00:10:14 +01:00
Patrick Kanzler
e4a21e94fc
improve doc, improve codepage_tables.py
2017-01-29 23:36:33 +01:00
Patrick Kanzler
e595bc2150
doc update methods and printers and use autodoc
2017-01-26 00:28:33 +01:00
Thijs Triemstra
7bf6a1791b
Correct fragment_height documentation default ( #198 )
2017-01-25 23:56:06 +01:00
Michael
10c589ae8d
swap default fragment height to 960
2016-10-04 14:01:26 +11:00
Patrick Kanzler
cd38cdf74e
Merge pull request #170 from miracle2k/text-encoding
...
Text encoding
2016-09-29 19:23:54 +02:00
Patrick Kanzler
1b2f509758
use jaconv instead of jcconv for japanese chars
...
jaconv is available for more Python-versions and seems to be more
professional. Apart from that I added jaconv to the test-requirements
but not the requirements. (If the katakana-stuff really works we can
later add it as a real dependency)
2016-09-27 20:31:39 +02:00
belono
a82fefb301
Add support for custom cash drawer kick sequence
2016-09-15 22:54:35 +02:00
Michael Billington
7b68d97f5f
test fixes - just case-changes to match code page names, seems to need 'future' pip module
2016-09-13 20:28:54 +10:00
Michael Billington
7a7ea23628
fixes to arguments for _encode_char
2016-09-11 21:08:04 +10:00
Michael Billington
83f926758c
adjust order in _encode_char to prioritise ASCII; ' ' is used in the character list to flag characters with no known UTF-8 code, better not encode as these
2016-09-11 21:06:44 +10:00
Michael Billington
9a65945fcd
re-work encoder to consult the capabilities database and use custom code pages or python encoder as necessary
2016-09-11 21:03:55 +10:00
Michael Billington
d9a6960f07
efficiency improvements for backwards encoding
2016-09-11 20:21:30 +10:00
Michael Billington
b5bf1125db
reverse the lookup order to correct encoding issues
2016-09-11 17:17:22 +10:00
Michael Billington
2c8bc1180d
Merge branch 'text-encoding' of https://github.com/miracle2k/python-escpos into miracle2k-text-encoding
2016-09-11 14:19:34 +10:00
Patrick Kanzler
f467cacdd8
improve import capabilities from a submodule
...
The capabilities are now imported as a submodule from
mike42/escpos-printer-db
fixes #174
2016-09-02 17:13:38 +02:00
Michael Elsdörfer
ddc93d7369
Fix byte format() on Python 3.
2016-08-30 18:06:34 +02:00
Michael Elsdörfer
c3e3ec5808
Merge branch 'capabilities' into text-encoding
2016-08-30 18:02:40 +02:00
Michael Elsdörfer
c850a726cb
Fix docstring warnings from QuantifedCode.
2016-08-30 17:55:58 +02:00
Michael Elsdörfer
73ef8c4c0a
Write as many characters as possible at once.
2016-08-30 17:39:26 +02:00
Michael Elsdörfer
9aa1335fd2
Improve codepage selection logic.
2016-08-30 17:13:05 +02:00
Michael Elsdörfer
2f89f3fe3a
Port to current version of escpos-printer-db.
2016-08-30 17:08:27 +02:00
Michael Elsdörfer
40be69347c
Merge branch 'capabilities' into text-encoding
2016-08-30 16:14:22 +02:00
Michael Elsdörfer
58ea206c36
Avoid mutable default argumet.
2016-08-30 16:13:38 +02:00
Michael Elsdörfer
b37f4fc8cc
Merge branch 'capabilities' into text-encoding
2016-08-30 13:36:53 +02:00
Michael Elsdörfer
b92eeed50b
Add tests for the profile.
2016-08-30 13:27:48 +02:00
Michael Elsdörfer
ea7769f8b2
Merge remote-tracking branch 'origin/development' into capabilities
2016-08-30 13:04:17 +02:00
Michael Elsdörfer
5fa89ff685
Automatically choose correct barcode function.
...
Tests for barcode function.
2016-08-30 13:02:58 +02:00
Michael Elsdörfer
a07f84a5bc
Match the current printer-db format.
2016-08-30 12:26:09 +02:00
Michael Elsdörfer
216184f43f
Rework capabilities format based on Mike's ideas.
2016-08-27 12:17:35 +02:00
Michael Elsdörfer
c7864fd785
Largely rewrite the magic text encoding feature.
2016-08-27 11:28:52 +02:00
Michael Elsdörfer
f6ce7e45da
Merge branch 'capabilities' into text-encoding
2016-08-26 15:29:31 +02:00
Michael Elsdörfer
3fd1a3de5d
A suggested format for defining the code pages.
2016-08-26 15:14:28 +02:00
Michael Elsdörfer
214aa0d363
Fix issue with manually setting the encoding.
2016-08-26 15:14:02 +02:00
Patrick Kanzler
cf41069829
Merge branch 'linespacing' of git://github.com/miracle2k/python-escpos into miracle2k-linespacing
...
Conflicts:
src/escpos/constants.py
2016-08-26 14:16:06 +02:00
Michael Elsdörfer
632a104219
Fix docstring warning.
2016-08-26 11:59:40 +02:00
Michael Elsdörfer
8b5bc9cf8a
Make the Escpos class accept a profile.
...
This is now used for the block_text function.
2016-08-26 10:41:01 +02:00
Michael Elsdörfer
a8574ad9d7
Support loading capabilites YAML into Python classes.
2016-08-26 10:41:01 +02:00
Michael Elsdörfer
ed3077f00f
Define a capability format in YAML.
2016-08-26 10:41:01 +02:00
Michael Elsdörfer
07d47765aa
Allow linespacing reset. Make this the default.
2016-08-26 10:38:36 +02:00
Michael Elsdörfer
854b75be30
Support changing the line spacing.
2016-08-26 10:34:52 +02:00
Michael Elsdörfer
df0c874f6e
Add constants for sheet mode, colors.
2016-08-26 10:30:29 +02:00
Patrick Kanzler
798893caee
refactor access of private member _img of qrcode
...
Since version 2.5 python-qrcode allows the direct access of the
PIL-functions. (We require version 4 and above).
Thus, we can simply call qr_img.convert() without accessing the private
member.
This refactoring is identical in functionality.
2016-08-15 23:24:06 +02:00
Patrick Kanzler
e8d91a6735
test add type-check for the qr-printing
2016-08-15 23:23:07 +02:00
Patrick Kanzler
340a47d2f6
Merge pull request #152 from python-escpos/fix/large-image-printing
...
Fix/large image printing
2016-08-07 12:22:25 +02:00
Patrick Kanzler
38f9835931
fix printing of CODE128
...
The control sequence {A or {B or {C can't be part of the qr code.
For this the user has to supply this sequence.
2016-08-02 15:39:31 +02:00
Patrick Kanzler
87a6647053
fix force-encoding REBASE (contains todos)
...
* fixed the code of forced-encoding in order to make it work
* extended unittest for forced-encoding
* fixed the constant for Katakana-encoding
2016-08-02 04:42:21 +02:00
Patrick Kanzler
f0bdbc4322
doc changelog and todos updated
2016-08-02 04:42:21 +02:00
Patrick Kanzler
0cfedb5706
add automatic codepage-changing
...
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
2016-08-02 04:42:21 +02:00
Patrick Kanzler
b0af9e9652
improve restructure charcode-table
...
restructured the charcode table in order to be more accessible to
programmatic usage
2016-08-02 04:42:21 +02:00
Patrick Kanzler
3546e0c4bb
improve the exceptions
...
also adds a stump for the tests for MagicEncode
2016-08-02 04:42:21 +02:00
Patrick Kanzler
3d98eb8b9c
fix file-printer did not flush
...
The file-printer did not automatically flush and thus behaved
differently to the other printer-classes.
Now the default behaviour is to flush after every call of _raw(). This
can be disabled by calling the file-printer with auto_flush=False.
fixes #106
2016-08-02 04:25:54 +02:00
Patrick Kanzler
2ecf73074c
improve large image printing
...
images longer than 1024 pixels will be split into multiple fragments.
2016-08-02 00:04:43 +02:00
Renato.Lorenzi
bef1a9cccf
Change the interface param to timeout
2016-08-01 09:36:48 -03:00
Patrick Kanzler
80b714fdae
add basic argcomplete support
2016-07-23 10:39:40 +02:00
Patrick Kanzler
a5cae3adb7
fix inconsistent behaviour of argparse-code
...
this affected certain versions of argparse in python3
2016-07-17 19:39:51 +02:00
Patrick Kanzler
9f5eed0020
add version-strings into the module
...
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
2016-07-17 19:39:42 +02:00
Patrick Kanzler
87438f9efa
SETUP move code to src
...
This way we can ensure that the packaged code is tested.
See https://hynek.me/articles/testing-packaging/ or c62a78c015
+ DOC adapt doc to new structure and test doc with travis
2016-06-20 17:48:14 +02:00