TAHRI Ahmed
efec3e508c
Fix SerialException when trying to close device on __del__ without verifing if is actually opened.
2017-06-19 13:42:46 +02:00
Patrick Kanzler
83b426f5fd
Merge pull request #222 from MicroJoe/software-barcode
...
First implementation of software barcode
2017-06-19 12:57:05 +02:00
Romain Porte
c4dd4f2960
Added ImageWidthError and its implementation ( #226 )
...
* 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
Romain Porte
22cf6ad00b
Allow users to change impl for soft_barcode
2017-05-22 20:21:35 +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
c0b4d03692
Updated documentation of set method
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
Romain Porte
737cc3176e
First implementation of software barcode
...
Actually the hardware barcode implementation is very specific and not
generic enough for just adding a `soft_render=True` argument to it. This
is a first work that can be improved with other commits, maybe for
merging this method in the `barcode` method after some cleanup.
The width, height and text_distance were set using empiric
print-and-retry tests so that the generated barcode looks nice to the
eye (and to the eye of an Android scanner tool.
!WARNING! Printing a barcode that is too large in width will result in
the printer to go crazy trying to print an image that is too large for
it. This may be fixed by raising an exception in the `image` method.
2017-05-16 20:56:27 +02:00
Romain Porte
4b04a5c425
Fixed bad format of :code: in documentation
2017-05-14 21:33:43 +02:00
Dmytro Katyukha
a7ee11a78c
Bugfix in `control` method. print_and_feed default `n=1`
2017-03-29 15:24:36 +02:00
Dmytro Katyukha
43e0a87a74
Updated capabilities data to new version
2017-03-29 15:24:36 +02:00
Dmytro Katyukha
abbe32f845
Refactored `cut` method. added `print_and_feed` method
2017-03-29 15:24:25 +02:00
Dmytro Katyukha
29cc8baab7
Handle cases when fullCut or partCut not available
2017-03-29 15:24:25 +02:00
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