add set_with_default
This commit is contained in:
parent
7ef6d96078
commit
741fdc3919
@ -862,19 +862,19 @@ class Escpos(object):
|
|||||||
|
|
||||||
def set(
|
def set(
|
||||||
self,
|
self,
|
||||||
align: Optional[str] = "left",
|
align: Optional[str] = None,
|
||||||
font: Optional[str] = "a",
|
font: Optional[str] = None,
|
||||||
bold: Optional[bool] = False,
|
bold: Optional[bool] = None,
|
||||||
underline: Optional[int] = 0,
|
underline: Optional[int] = None,
|
||||||
width: Optional[int] = 1,
|
width: Optional[int] = None,
|
||||||
height: Optional[int] = 1,
|
height: Optional[int] = None,
|
||||||
density: Optional[int] = 9,
|
density: Optional[int] = None,
|
||||||
invert: Optional[bool] = False,
|
invert: Optional[bool] = None,
|
||||||
smooth: Optional[bool] = False,
|
smooth: Optional[bool] = None,
|
||||||
flip: Optional[bool] = False,
|
flip: bool = None,
|
||||||
double_width: Optional[bool] = False,
|
double_width: Optional[bool] = None,
|
||||||
double_height: Optional[bool] = False,
|
double_height: Optional[bool] = None,
|
||||||
custom_size: Optional[bool] = False,
|
custom_size: Optional[bool] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Set text properties by sending them to the printer.
|
"""Set text properties by sending them to the printer.
|
||||||
|
|
||||||
@ -915,7 +915,7 @@ class Escpos(object):
|
|||||||
:type height: int
|
:type height: int
|
||||||
:type density: int
|
:type density: int
|
||||||
"""
|
"""
|
||||||
if custom_size:
|
if custom_size is not None and custom_size:
|
||||||
if (
|
if (
|
||||||
isinstance(width, int)
|
isinstance(width, int)
|
||||||
and isinstance(height, int)
|
and isinstance(height, int)
|
||||||
@ -926,7 +926,7 @@ class Escpos(object):
|
|||||||
self._raw(TXT_SIZE + six.int2byte(size_byte))
|
self._raw(TXT_SIZE + six.int2byte(size_byte))
|
||||||
else:
|
else:
|
||||||
raise SetVariableError()
|
raise SetVariableError()
|
||||||
else:
|
elif custom_size is not None:
|
||||||
self._raw(TXT_NORMAL)
|
self._raw(TXT_NORMAL)
|
||||||
if double_width and double_height:
|
if double_width and double_height:
|
||||||
self._raw(TXT_STYLE["size"]["2x"])
|
self._raw(TXT_STYLE["size"]["2x"])
|
||||||
@ -936,20 +936,92 @@ class Escpos(object):
|
|||||||
self._raw(TXT_STYLE["size"]["2h"])
|
self._raw(TXT_STYLE["size"]["2h"])
|
||||||
else:
|
else:
|
||||||
self._raw(TXT_STYLE["size"]["normal"])
|
self._raw(TXT_STYLE["size"]["normal"])
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if flip is not None:
|
||||||
self._raw(TXT_STYLE["flip"][flip])
|
self._raw(TXT_STYLE["flip"][flip])
|
||||||
|
if smooth is not None:
|
||||||
self._raw(TXT_STYLE["smooth"][smooth])
|
self._raw(TXT_STYLE["smooth"][smooth])
|
||||||
|
if bold is not None:
|
||||||
self._raw(TXT_STYLE["bold"][bold])
|
self._raw(TXT_STYLE["bold"][bold])
|
||||||
|
if underline is not None:
|
||||||
self._raw(TXT_STYLE["underline"][underline])
|
self._raw(TXT_STYLE["underline"][underline])
|
||||||
|
if font is not None:
|
||||||
self._raw(SET_FONT(six.int2byte(self.profile.get_font(font))))
|
self._raw(SET_FONT(six.int2byte(self.profile.get_font(font))))
|
||||||
|
if align is not None:
|
||||||
self._raw(TXT_STYLE["align"][align])
|
self._raw(TXT_STYLE["align"][align])
|
||||||
|
|
||||||
if density != 9:
|
if density is not None and density != 9:
|
||||||
self._raw(TXT_STYLE["density"][density])
|
self._raw(TXT_STYLE["density"][density])
|
||||||
|
|
||||||
if invert is not None:
|
if invert is not None:
|
||||||
self._raw(TXT_STYLE["invert"][invert])
|
self._raw(TXT_STYLE["invert"][invert])
|
||||||
|
|
||||||
|
def set_with_default(
|
||||||
|
self,
|
||||||
|
align: Optional[str] = "left",
|
||||||
|
font: Optional[str] = "a",
|
||||||
|
bold: Optional[bool] = False,
|
||||||
|
underline: Optional[int] = 0,
|
||||||
|
width: Optional[int] = 1,
|
||||||
|
height: Optional[int] = 1,
|
||||||
|
density: Optional[int] = 9,
|
||||||
|
invert: Optional[bool] = False,
|
||||||
|
smooth: bool = False,
|
||||||
|
flip: bool = False,
|
||||||
|
double_width: Optional[bool] = False,
|
||||||
|
double_height: Optional[bool] = False,
|
||||||
|
custom_size: Optional[bool] = False,
|
||||||
|
) -> None:
|
||||||
|
"""Set default text properties by sending them to the printer.
|
||||||
|
|
||||||
|
This function has the behavior of the `set()`-method from before
|
||||||
|
version 3.
|
||||||
|
If a parameter to this method is not supplied, a default value
|
||||||
|
will be sent.
|
||||||
|
Otherwise this method forwards the values to the
|
||||||
|
:py:meth:`escpos.Escpos.set()`.
|
||||||
|
|
||||||
|
:param align: horizontal position for text, possible values are:
|
||||||
|
|
||||||
|
* 'center'
|
||||||
|
* 'left'
|
||||||
|
* 'right'
|
||||||
|
|
||||||
|
*default*: 'left'
|
||||||
|
|
||||||
|
:param font: font given as an index, a name, or one of the
|
||||||
|
special values 'a' or 'b', referring to fonts 0 and 1.
|
||||||
|
:param bold: text in bold, *default*: False
|
||||||
|
:param underline: underline mode for text, decimal range 0-2, *default*: 0
|
||||||
|
:param double_height: doubles the height of the text
|
||||||
|
:param double_width: doubles the width of the text
|
||||||
|
:param custom_size: uses custom size specified by width and height
|
||||||
|
parameters. Cannot be used with double_width or double_height.
|
||||||
|
:param width: text width multiplier when custom_size is used, decimal range 1-8, *default*: 1
|
||||||
|
:param height: text height multiplier when custom_size is used, decimal range 1-8, *default*: 1
|
||||||
|
:param density: print density, value from 0-8, if something else is supplied the density remains unchanged
|
||||||
|
:param invert: True enables white on black printing, *default*: False
|
||||||
|
:param smooth: True enables text smoothing. Effective on 4x4 size text and larger, *default*: False
|
||||||
|
:param flip: True enables upside-down printing, *default*: False
|
||||||
|
"""
|
||||||
|
self.set(
|
||||||
|
align=align,
|
||||||
|
font=font,
|
||||||
|
bold=bold,
|
||||||
|
underline=underline,
|
||||||
|
width=width,
|
||||||
|
height=height,
|
||||||
|
density=density,
|
||||||
|
invert=invert,
|
||||||
|
smooth=smooth,
|
||||||
|
flip=flip,
|
||||||
|
double_width=double_width,
|
||||||
|
double_height=double_height,
|
||||||
|
custom_size=custom_size,
|
||||||
|
)
|
||||||
|
|
||||||
def line_spacing(self, spacing: Optional[int] = None, divisor: int = 180) -> None:
|
def line_spacing(self, spacing: Optional[int] = None, divisor: int = 180) -> None:
|
||||||
"""Set line character spacing.
|
"""Set line character spacing.
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ from escpos.constants import SET_FONT, TXT_NORMAL, TXT_SIZE, TXT_STYLE
|
|||||||
|
|
||||||
def test_default_values():
|
def test_default_values():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set()
|
instance.set_with_default()
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -30,7 +30,7 @@ def test_default_values():
|
|||||||
|
|
||||||
def test_set_size_2h():
|
def test_set_size_2h():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(double_height=True)
|
instance.set_with_default(double_height=True)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -49,7 +49,7 @@ def test_set_size_2h():
|
|||||||
|
|
||||||
def test_set_size_2w():
|
def test_set_size_2w():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(double_width=True)
|
instance.set_with_default(double_width=True)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -68,7 +68,7 @@ def test_set_size_2w():
|
|||||||
|
|
||||||
def test_set_size_2x():
|
def test_set_size_2x():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(double_height=True, double_width=True)
|
instance.set_with_default(double_height=True, double_width=True)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -87,7 +87,7 @@ def test_set_size_2x():
|
|||||||
|
|
||||||
def test_set_size_custom():
|
def test_set_size_custom():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(custom_size=True, width=8, height=7)
|
instance.set_with_default(custom_size=True, width=8, height=7)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_SIZE, # Custom text size, no normal reset
|
TXT_SIZE, # Custom text size, no normal reset
|
||||||
@ -109,7 +109,7 @@ def test_set_size_custom():
|
|||||||
|
|
||||||
def test_set_flip():
|
def test_set_flip():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(flip=True)
|
instance.set_with_default(flip=True)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -131,7 +131,7 @@ def test_set_flip():
|
|||||||
|
|
||||||
def test_smooth():
|
def test_smooth():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(smooth=True)
|
instance.set_with_default(smooth=True)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -153,7 +153,7 @@ def test_smooth():
|
|||||||
|
|
||||||
def test_set_bold():
|
def test_set_bold():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(bold=True)
|
instance.set_with_default(bold=True)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -172,7 +172,7 @@ def test_set_bold():
|
|||||||
|
|
||||||
def test_set_underline():
|
def test_set_underline():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(underline=1)
|
instance.set_with_default(underline=1)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -191,7 +191,7 @@ def test_set_underline():
|
|||||||
|
|
||||||
def test_set_underline2():
|
def test_set_underline2():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(underline=2)
|
instance.set_with_default(underline=2)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -213,7 +213,7 @@ def test_set_underline2():
|
|||||||
|
|
||||||
def test_align_center():
|
def test_align_center():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(align="center")
|
instance.set_with_default(align="center")
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -232,7 +232,7 @@ def test_align_center():
|
|||||||
|
|
||||||
def test_align_right():
|
def test_align_right():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(align="right")
|
instance.set_with_default(align="right")
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -255,7 +255,7 @@ def test_align_right():
|
|||||||
def test_densities():
|
def test_densities():
|
||||||
for density in range(8):
|
for density in range(8):
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(density=density)
|
instance.set_with_default(density=density)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
@ -278,7 +278,7 @@ def test_densities():
|
|||||||
|
|
||||||
def test_invert():
|
def test_invert():
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.set(invert=True)
|
instance.set_with_default(invert=True)
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_NORMAL,
|
TXT_NORMAL,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user