74 Commits

Author SHA1 Message Date
Christoph Heuel
26d72a69f0 Feature/clear content in dummy printer ()
Add Function to Dummy Printer for Clearing Buffer

If you are using the dummy printer, you may want to use the printer
again after sending the output to a physical printer.
This method empties the list of the output buffer.
2017-12-04 00:13:28 +01:00
reck
3c3dab95f5 raise exception when TypeError occurs in cashdraw () 2017-12-03 23:21:29 +01:00
Patrick Kanzler
d6d12f99d4 improve test - tests raising of error 2017-10-08 21:53:36 +02:00
Patrick Kanzler
128221363f reproduce 2017-10-08 21:53:36 +02:00
Lucy Linder
456f5b7aa6 Feature/check barcodes ()
* add a method to check barcode code format

ensure that the code to print is compatible with the ESC/POS formats and
also automatically check this format before printing (barcode() method).

* rewrite test using pytest's parametrize functionality

* add test for the 'check' argument

* update authors list
2017-10-08 20:05:18 +02:00
Patrick Kanzler
d78a6f1699
completely fix tests
The feature use_coverage of hypothesis caused the failing tests, because
the printer_file_test is sensitive to the coverage analysis of
hypothesis.

Fixed by disabling use_coverage for the crashing tests
2017-09-27 10:38:42 +02:00
Patrick Kanzler
5e784c060a
fix tests failing (for now)
hypothesis introduced a regression in 3.29.0 (or at least changed
behaviour). Until I have found the problem I will pin it to the last
working version.

Also two tests should be prevented from failing when they are slow.
2017-09-27 10:29:19 +02:00
Romain Porte
b648cfd67f First attempt at centering images and QRs ()
This was tested on ZJ-5890 with success. By default centering is
deactivated for backward compatibility. Trying to center a QR code in
native mode will raise an exception as we do not know ATM if the native
rendering is centered by default or not.

* Added basic tests for center feature

* Check image size before centering
2017-08-31 09:25:35 +02:00
Romain Porte
b64b534394 Add methods for simpler newlines () 2017-08-01 17:09:24 +02:00
Romain Porte
9e47ff2505 Added test for cut without feed, fixed raw code for it 2017-07-26 09:09:32 +02:00
Romain Porte
5bd6dcf471 Ensure QR codes have a border large enough ()
*  Ensure QR codes have a border large enough
(The QR code spec requires a border at least 4*box_size thick but we can't
 just set border=16 because that results in a QR code more than 255px tall
 and I'm not yet ready to use fullimage() as a backend for it)
This fix was originally commited by Stephan Sokolow on 2014-05-22
* Let the user print stuff using qr example
* fix tests
2017-07-24 15:04:54 +02:00
Romain Porte
c4dd4f2960 Added ImageWidthError and its implementation ()
* Added ImageWidthError and its implementation

* Added unit tests for ImageWidthError

* Parse max_width to int before compare
2017-05-23 15:13:28 +02:00
Patrick Kanzler
5bf2636753 rewrite to Dummy() 2017-05-22 00:57:48 +02:00
TAHRI Ahmed
1f427953a8 Preliminary support of pos 'line display' printing 2017-05-22 00:40:40 +02:00
Romain Porte
a6e1d0df00 Using booleans for handling text size 2017-05-21 22:50:07 +02:00
Romain Porte
a16d6bde06 Refactor of the set method, with tests 2017-05-21 22:50:07 +02:00
Patrick Kanzler
3ee787e8b1
change license to MIT 2017-01-31 03:55:50 +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
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
Patrick Kanzler
b795c02dd4
DOC remove incode TODOs
I will add them as issues where applicable.
2016-09-27 20:05:24 +02:00
Patrick Kanzler
915adf8fd3
fix file-printer-tests by using pytest-mock 2016-09-27 20:05:16 +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
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 Elsdörfer
a435b66006 jcconf not available on Python 3. 2016-08-30 18:10:32 +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
d246e945a2 Merge branch 'capabilities' into text-encoding 2016-08-30 17:47:31 +02:00
Michael Elsdörfer
1bd53697b9 Fix the CLI test inside pytest runner. 2016-08-30 17:47:09 +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
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
3681c5c7bf Fix tests for Python 3. 2016-08-30 13:21:07 +02:00
Michael Elsdörfer
3d8626d17e Update text() test to use dummy printer. 2016-08-30 13:08:23 +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
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
ae9b3785c2 Fix broken tests. 2016-08-26 11:48:58 +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
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
Patrick Kanzler
e8d91a6735
test add type-check for the qr-printing 2016-08-15 23:23:07 +02:00
Patrick Kanzler
59dccd79da
test add test for image-splitting-method 2016-08-07 14:39:58 +02:00
Patrick Kanzler
603b34cadb
test add test for the fragment-splitting 2016-08-07 13:49:46 +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
046a08896c Ideen für unittest REBASE 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
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 
2016-08-02 04:25:54 +02:00