From 7427db0ba6d174b2ac3dcee2123a3eb72c739a55 Mon Sep 17 00:00:00 2001 From: jmpla Date: Thu, 18 May 2023 08:05:16 +0200 Subject: [PATCH] zero_based_constants --- app/but/prepajury_xl_format.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/app/but/prepajury_xl_format.py b/app/but/prepajury_xl_format.py index a7d76bec6..0ad656f12 100644 --- a/app/but/prepajury_xl_format.py +++ b/app/but/prepajury_xl_format.py @@ -159,6 +159,7 @@ class Composante_boolean(Composante): class Composante_number_format(Composante): WIDTH: int = 2 + def __init__(self): assert (1 << self.WIDTH) > SCO_NUMBER_FORMAT.__len__() super().__init__(width=self.WIDTH) @@ -174,9 +175,11 @@ class Composante_number_format(Composante): class Composante_Colors(Composante): WIDTH: int = 5 - def __init__(self): + + def __init__(self, default: SCO_COLORS = SCO_COLORS.BLACK): assert (1 << self.WIDTH) > SCO_COLORS.__len__() super().__init__(width=self.WIDTH) + self.default: SCO_COLORS = default def set(self, data: SCO_COLORS, signature=0) -> int: return self.write(data.value, signature) @@ -194,6 +197,7 @@ class Composante_Colors(Composante): class Composante_borderThickness(Composante): WIDTH: int = 3 + def __init__(self): assert (1 << self.WIDTH) > SCO_BORDERTHICKNESS.__len__() super().__init__(width=self.WIDTH) @@ -212,6 +216,7 @@ class Composante_borderThickness(Composante): class Composante_fontname(Composante): WIDTH: int = 3 + def __init__(self): assert (1 << self.WIDTH) > SCO_FONTNAME.__len__() super().__init__(width=self.WIDTH) @@ -230,6 +235,7 @@ class Composante_fontname(Composante): class Composante_fontsize(Composante): WIDTH: int = 3 + def __init__(self): assert (1 << self.WIDTH) > SCO_FONTSIZE.__len__() super().__init__(width=self.WIDTH) @@ -244,9 +250,11 @@ class Composante_fontsize(Composante): class Composante_halign(Composante): - WIDTH: int = 3 + WIDTH: int = 2 + def __init__(self): assert (1 << self.WIDTH) > SCO_HALIGN.__len__() + super().__init__(width=self.WIDTH) def set(self, data: SCO_HALIGN, signature=0) -> int: return self.write(data.value, signature) @@ -261,7 +269,8 @@ class Composante_halign(Composante): class Composante_valign(Composante): - WIDTH: int = 3 + WIDTH: int = 2 + def __init__(self): assert (1 << self.WIDTH) > SCO_VALIGN.__len__() super().__init__(width=self.WIDTH) @@ -531,6 +540,7 @@ class Composante_all(Composante_group): number_format: Composante_number_format, ): super().__init__([font, fill, borders, alignment, number_format]) + assert self.width < 64 self.font = font self.fill = fill self.borders = borders @@ -607,16 +617,15 @@ class FMT(Enum): ALL = Composante_all(FONT, FILL, BORDERS, ALIGNMENT, NUMBER_FORMAT) -HAIR_BLACK: int = FMT.BORDER_LEFT.composante.make_zero_based_constant( +HAIR_BLACK: int = FMT.BORDER_LEFT.make_zero_based_constant( enums=[SCO_BORDERTHICKNESS.BORDER_HAIR, SCO_COLORS.BLACK] ) -THIN_BLACK: int = FMT.BORDER_LEFT.composante.make_zero_based_constant( +THIN_BLACK: int = FMT.BORDER_LEFT.make_zero_based_constant( enums=[SCO_BORDERTHICKNESS.BORDER_THIN, SCO_COLORS.BLACK] ) -MEDIUM_BLACK: int = FMT.BORDER_LEFT.composante.make_zero_based_constant( +MEDIUM_BLACK: int = FMT.BORDER_LEFT.make_zero_based_constant( enums=[SCO_BORDERTHICKNESS.BORDER_MEDIUM, SCO_COLORS.BLACK] ) -THICK_BLACK: int = FMT.BORDER_LEFT.composante.make_zero_based_constant( +THICK_BLACK: int = FMT.BORDER_LEFT.make_zero_based_constant( enums=[SCO_BORDERTHICKNESS.BORDER_THICK, SCO_COLORS.BLACK] ) -breakpoint()