printer-core 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. printer_core/__init__.py +1 -0
  2. printer_core/algorithms/__init__.py +3 -0
  3. printer_core/algorithms/products_modifiers_multiprinter.py +59 -0
  4. printer_core/algorithms/products_modifiers_multiprinter_family.py +53 -0
  5. printer_core/algorithms/products_modifiers_unique_ticket.py +30 -0
  6. printer_core/builders/__init__.py +4 -0
  7. printer_core/builders/client_ticket_builder.py +97 -0
  8. printer_core/builders/header_builder.py +26 -0
  9. printer_core/builders/kitchen_ticket_payload_builder.py +99 -0
  10. printer_core/builders/printer_products_grouper.py +19 -0
  11. printer_core/clock.py +6 -0
  12. printer_core/context/__init__.py +1 -0
  13. printer_core/context/ticket_context_builder.py +55 -0
  14. printer_core/dispatchers/__init__.py +2 -0
  15. printer_core/dispatchers/kitchen_ticket_dispatcher.py +34 -0
  16. printer_core/dispatchers/payload_dispatcher.py +18 -0
  17. printer_core/entities/__init__.py +53 -0
  18. printer_core/entities/print_context.py +15 -0
  19. printer_core/entities/print_models.py +230 -0
  20. printer_core/formatters/__init__.py +1 -0
  21. printer_core/formatters/discount_formatter.py +17 -0
  22. printer_core/ports.py +45 -0
  23. printer_core/selectors/__init__.py +1 -0
  24. printer_core/selectors/family_product_selector.py +33 -0
  25. printer_core/services/__init__.py +12 -0
  26. printer_core/services/flows/__init__.py +5 -0
  27. printer_core/services/flows/base.py +26 -0
  28. printer_core/services/flows/client.py +97 -0
  29. printer_core/services/flows/kitchen.py +113 -0
  30. printer_core/services/march_printer_service.py +61 -0
  31. printer_core/services/multi_printer_family_service.py +102 -0
  32. printer_core/services/multi_printer_service.py +49 -0
  33. printer_core/services/order_print_service.py +98 -0
  34. printer_core/services/print_policy.py +72 -0
  35. printer_core/services/unique_ticket_service.py +52 -0
  36. printer_core/tests/__init__.py +0 -0
  37. printer_core/tests/unitaries/__init__.py +0 -0
  38. printer_core/tests/unitaries/helpers.py +188 -0
  39. printer_core/tests/unitaries/test_cases_output.py +189 -0
  40. printer_core/tests/unitaries/test_client_ticket_builder.py +78 -0
  41. printer_core/tests/unitaries/test_discount_formatter.py +37 -0
  42. printer_core/tests/unitaries/test_family_product_selector.py +28 -0
  43. printer_core/tests/unitaries/test_flows.py +141 -0
  44. printer_core/tests/unitaries/test_header_builder_foodeo_printers.py +87 -0
  45. printer_core/tests/unitaries/test_kitchen_ticket_dispatcher.py +61 -0
  46. printer_core/tests/unitaries/test_kitchen_ticket_payload_builder.py +113 -0
  47. printer_core/tests/unitaries/test_march_printer_service.py +31 -0
  48. printer_core/tests/unitaries/test_multi_printer_family_service.py +53 -0
  49. printer_core/tests/unitaries/test_multi_printer_service.py +51 -0
  50. printer_core/tests/unitaries/test_order_print_service.py +144 -0
  51. printer_core/tests/unitaries/test_payload_dispatcher.py +61 -0
  52. printer_core/tests/unitaries/test_print_policy.py +45 -0
  53. printer_core/tests/unitaries/test_printer_helpers.py +71 -0
  54. printer_core/tests/unitaries/test_printer_products_grouper.py +20 -0
  55. printer_core/tests/unitaries/test_products_modifiers.py +102 -0
  56. printer_core/tests/unitaries/test_ticket_context_builder.py +71 -0
  57. printer_core/tests/unitaries/test_unique_ticket_service.py +24 -0
  58. printer_core/utils/__init__.py +1 -0
  59. printer_core/utils/printer_helpers.py +42 -0
  60. printer_core-0.0.1.dist-info/METADATA +24 -0
  61. printer_core-0.0.1.dist-info/RECORD +62 -0
  62. printer_core-0.0.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,102 @@
1
+ import unittest
2
+ from printer_core.algorithms.products_modifiers_multiprinter import ProductsModifiersMultiPrinter
3
+ from printer_core.algorithms.products_modifiers_multiprinter_family import ProductsModifiersMultiprinterFamily
4
+ from printer_core.algorithms.products_modifiers_unique_ticket import ProductsModifiersUniqueTicket
5
+ from printer_core.formatters.discount_formatter import DiscountFormatter
6
+
7
+ from printer_core.tests.unitaries.helpers import make_kitchen_settings, make_printer, make_product, make_request
8
+
9
+
10
+ class ProductsModifiersMultiPrinterTest(unittest.TestCase):
11
+ def test_build_uses_fallback_printer(self):
12
+ formatter = DiscountFormatter()
13
+ service = ProductsModifiersMultiPrinter(formatter)
14
+ request = make_request()
15
+ product = make_product()
16
+ kitchen_settings = make_kitchen_settings(show_price_per_unit=False)
17
+ main_printer = make_printer(name="Main", printer_width="80", tpv="TPV1")
18
+
19
+ lines = service.build(request, [product], kitchen_settings, main_printer)
20
+
21
+ self.assertEqual(lines[0].printer_r, "Main")
22
+ self.assertEqual(lines[0].printer_w, "80")
23
+ self.assertEqual(lines[0].tpv, "TPV1")
24
+
25
+ def test_build_with_multiple_printers(self):
26
+ formatter = DiscountFormatter()
27
+ service = ProductsModifiersMultiPrinter(formatter)
28
+ request = make_request()
29
+ product = make_product(printer=[make_printer(name="P1"), make_printer(name="P2")])
30
+ kitchen_settings = make_kitchen_settings(show_price_per_unit=False)
31
+
32
+ lines = service.build(request, [product], kitchen_settings, make_printer())
33
+
34
+ self.assertEqual(len(lines), 2)
35
+ self.assertEqual({line.printer_r for line in lines}, {"P1", "P2"})
36
+
37
+ def test_build_sets_prices_when_enabled(self):
38
+ formatter = DiscountFormatter()
39
+ service = ProductsModifiersMultiPrinter(formatter)
40
+ request = make_request(all_discounted=True)
41
+ product = make_product(total_price="8.00", product_price="4.00")
42
+ kitchen_settings = make_kitchen_settings(show_price_per_unit=True)
43
+
44
+ lines = service.build(request, [product], kitchen_settings, make_printer())
45
+
46
+ self.assertEqual(lines[0].price, "8.00")
47
+ self.assertEqual(lines[0].unitary_price, "4.00")
48
+
49
+
50
+ class ProductsModifiersMultiprinterFamilyTest(unittest.TestCase):
51
+ def test_append_product_adds_lines(self):
52
+ formatter = DiscountFormatter()
53
+ service = ProductsModifiersMultiprinterFamily(formatter)
54
+ request = make_request()
55
+ product = make_product(printer=[make_printer(name="P1"), make_printer(name="P2")])
56
+ kitchen_settings = make_kitchen_settings(show_price_per_unit=False)
57
+ lines = []
58
+
59
+ service.append_product(lines, product, request, kitchen_settings)
60
+
61
+ self.assertEqual(len(lines), 2)
62
+ self.assertEqual({line.printer_r for line in lines}, {"P1", "P2"})
63
+
64
+ def test_append_product_sets_prices_when_enabled(self):
65
+ formatter = DiscountFormatter()
66
+ service = ProductsModifiersMultiprinterFamily(formatter)
67
+ request = make_request(all_discounted=True)
68
+ product = make_product(
69
+ printer=[make_printer(name="P1")],
70
+ total_price="6.00",
71
+ product_price="3.00",
72
+ )
73
+ kitchen_settings = make_kitchen_settings(show_price_per_unit=True)
74
+ lines = []
75
+
76
+ service.append_product(lines, product, request, kitchen_settings)
77
+
78
+ self.assertEqual(lines[0].price, "6.00")
79
+ self.assertEqual(lines[0].unitary_price, "3.00")
80
+
81
+
82
+ class ProductsModifiersUniqueTicketTest(unittest.TestCase):
83
+ def test_build_appends_domicile_service(self):
84
+ formatter = DiscountFormatter()
85
+ service = ProductsModifiersUniqueTicket(formatter, domicile_service_label="Service")
86
+ request = make_request(request_type="domicilio", price_domicile_service="2.00")
87
+ product = make_product()
88
+
89
+ lines = service.build(request, [product])
90
+
91
+ self.assertEqual(lines[-1].name, "Service")
92
+ self.assertEqual(lines[-1].price, "2.00")
93
+
94
+ def test_build_respects_all_discounted(self):
95
+ formatter = DiscountFormatter()
96
+ service = ProductsModifiersUniqueTicket(formatter)
97
+ request = make_request(all_discounted=True)
98
+ product = make_product(discount_type="number", total_price="1.00")
99
+
100
+ lines = service.build(request, [product])
101
+
102
+ self.assertEqual(lines[0].name, "Burger")
@@ -0,0 +1,71 @@
1
+ import unittest
2
+ from printer_core.context.ticket_context_builder import TicketContextBuilder
3
+ from printer_core.entities import HeaderData
4
+
5
+ from printer_core.tests.unitaries.helpers import FakeHeaderProvider, FakePrintSettingsBuilder, make_kitchen_settings, make_request, make_ticket_settings
6
+
7
+
8
+ class TicketContextBuilderTest(unittest.TestCase):
9
+ def test_apply_kitchen_context_sets_header_and_print_by(self):
10
+ header_provider = FakeHeaderProvider()
11
+ print_settings_builder = FakePrintSettingsBuilder()
12
+ builder = TicketContextBuilder(header_provider=header_provider, print_settings_builder=print_settings_builder)
13
+ request = make_request()
14
+ ticket_settings = make_ticket_settings(order_by="standard")
15
+ kitchen_settings = make_kitchen_settings(group_by_orders=True, print_by="categories")
16
+
17
+ enriched = builder.apply_kitchen_context(
18
+ request=request,
19
+ ticket_settings=ticket_settings,
20
+ kitchen_ticket_settings=kitchen_settings,
21
+ header_mode="local",
22
+ include_print_by=True,
23
+ worker=None,
24
+ )
25
+
26
+ self.assertEqual(enriched.order_by, "standard")
27
+ self.assertEqual(enriched.group_by_orders, True)
28
+ self.assertEqual(enriched.print_by, "categories")
29
+ self.assertIsInstance(enriched.headerData, HeaderData)
30
+
31
+ def test_apply_kitchen_context_respects_header_mode(self):
32
+ header_provider = FakeHeaderProvider()
33
+ print_settings_builder = FakePrintSettingsBuilder()
34
+ builder = TicketContextBuilder(header_provider=header_provider, print_settings_builder=print_settings_builder)
35
+ request = make_request(request_type="domicilio")
36
+ ticket_settings = make_ticket_settings(order_by=None)
37
+ kitchen_settings = make_kitchen_settings(show_local_header=False, show_domicile_header=True)
38
+
39
+ enriched_local = builder.apply_kitchen_context(
40
+ request=request,
41
+ ticket_settings=ticket_settings,
42
+ kitchen_ticket_settings=kitchen_settings,
43
+ header_mode="local",
44
+ )
45
+ enriched_domicile = builder.apply_kitchen_context(
46
+ request=request,
47
+ ticket_settings=ticket_settings,
48
+ kitchen_ticket_settings=kitchen_settings,
49
+ header_mode="domicile",
50
+ )
51
+
52
+ self.assertIsNone(enriched_local.headerData)
53
+ self.assertIsNotNone(enriched_domicile.headerData)
54
+
55
+ def test_apply_client_context_clears_details_font(self):
56
+ header_provider = FakeHeaderProvider()
57
+ print_settings_builder = FakePrintSettingsBuilder()
58
+ builder = TicketContextBuilder(header_provider=header_provider, print_settings_builder=print_settings_builder)
59
+ request = make_request()
60
+ kitchen_settings = make_kitchen_settings()
61
+
62
+ enriched = builder.apply_client_context(
63
+ request=request,
64
+ kitchen_ticket_settings=kitchen_settings,
65
+ include_header=True,
66
+ details_font_none=True,
67
+ worker=None,
68
+ )
69
+
70
+ self.assertIsNone(enriched.PrintSettings.details_font)
71
+ self.assertIsNotNone(enriched.headerData)
@@ -0,0 +1,24 @@
1
+ import unittest
2
+ from printer_core.services.unique_ticket_service import UniqueTicketService
3
+
4
+ from printer_core.tests.unitaries.helpers import make_printer, make_product, make_request, make_ticket_settings
5
+
6
+
7
+ class UniqueTicketServiceTest(unittest.TestCase):
8
+ def test_build_payload(self):
9
+ service = UniqueTicketService(currency_symbol_resolver=lambda _: "€", domicile_service_label="Service")
10
+ request = make_request(request_type="domicilio", price_domicile_service="2.00")
11
+ products = [make_product()]
12
+ ticket_settings = make_ticket_settings(ticket_text="Text", qty_client_ticket=2)
13
+
14
+ payloads = service.build_payload(
15
+ request=request,
16
+ products=products,
17
+ ticket_settings=ticket_settings,
18
+ printer=make_printer(name="P1"),
19
+ tpv_key="TPV1",
20
+ )
21
+
22
+ self.assertEqual(payloads[0].printer_qty, 2)
23
+ self.assertEqual(payloads[0].data.ticket_text, "Text")
24
+ self.assertEqual(payloads[0].data.products[-1].name, "Service")
@@ -0,0 +1 @@
1
+ from .printer_helpers import build_iva_data, group_products_by_orders, order_products_by_name
@@ -0,0 +1,42 @@
1
+ from collections import OrderedDict
2
+ from decimal import Decimal
3
+ from operator import attrgetter
4
+
5
+ from printer_core.entities import IvaData, KitchenProductLine, ProductsGroup
6
+
7
+
8
+ def order_products_by_name(list_of_products: list[KitchenProductLine]) -> list[KitchenProductLine]:
9
+ return sorted(list_of_products, key=attrgetter("name"))
10
+
11
+
12
+ def group_products_by_orders(products: list[KitchenProductLine]) -> list[ProductsGroup]:
13
+ dict_aux: dict[int, ProductsGroup] = {}
14
+ array_without_order: list[KitchenProductLine] = []
15
+ for product in products:
16
+ if product.order is not None:
17
+ try:
18
+ order_id = int(product.order)
19
+ product = product.model_copy(update={"order": str(order_id)})
20
+ if order_id in dict_aux:
21
+ dict_aux[order_id].products.append(product)
22
+ else:
23
+ dict_aux[order_id] = ProductsGroup(
24
+ group=product.order_readable or "",
25
+ products=[product],
26
+ )
27
+ except ValueError:
28
+ continue
29
+ else:
30
+ array_without_order.append(product)
31
+
32
+ ordered_dict = OrderedDict(sorted(dict_aux.items()))
33
+ list_of_ordered_values: list[ProductsGroup] = list(ordered_dict.values())
34
+ list_of_ordered_values.append(ProductsGroup(group="Sin orden", products=array_without_order))
35
+ return list_of_ordered_values
36
+
37
+
38
+ def build_iva_data(total: Decimal, iva: Decimal) -> IvaData:
39
+ aa: Decimal = Decimal(total)
40
+ iva_value: Decimal = Decimal(str(iva))
41
+ base: Decimal = Decimal(aa / (1 + iva_value / 100)).quantize(Decimal(".01"))
42
+ return IvaData(Base=str(base), impo=str(aa - base), iva=str(iva_value))
@@ -0,0 +1,24 @@
1
+ Metadata-Version: 2.4
2
+ Name: printer-core
3
+ Version: 0.0.1
4
+ Summary: Foodeo Printer Core Domain.
5
+ Project-URL: Homepage, https://github.com/Foodeo/printer-core
6
+ Project-URL: Repository, https://github.com/Foodeo/printer-core
7
+ Project-URL: Issues, https://github.com/Foodeo/printer-core/issues
8
+ Author-email: OmarSRolo <chicomtz.sr@gmail.com>, ramsy19980104 <busto0498@gmail.com>, ytapanesm90 <ytapanes90@gmail.com>
9
+ License: MIT
10
+ Keywords: domain,foodeo
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Requires-Python: >=3.10
20
+ Requires-Dist: pydantic>=2.12.2
21
+ Description-Content-Type: text/markdown
22
+
23
+ # printer-core
24
+ Foodeo Printer Core
@@ -0,0 +1,62 @@
1
+ printer_core/__init__.py,sha256=hKawQMqKy3M_bHVPXKvYoHKYWlcVbeiEK6dY3sOlEEE,23
2
+ printer_core/clock.py,sha256=mNFQ2a0oN4FPr3UJnNEjt4ykNQr32bM6Kx2bJJVMxi8,145
3
+ printer_core/ports.py,sha256=6ytoB-MsZVsNhP0dF_irtrxNNMxcQJrppe1X2R29cDI,1190
4
+ printer_core/algorithms/__init__.py,sha256=YNjpS5qnxY5025SjCie8-SHG_ljhUpk2Td89mFb2MKc,239
5
+ printer_core/algorithms/products_modifiers_multiprinter.py,sha256=yrWcEo_r2JWGulWJ9g5T3Z4gAa9WYup5F1eEdLnKxR4,2569
6
+ printer_core/algorithms/products_modifiers_multiprinter_family.py,sha256=7CW2Gem-BUHDdDwnFAuObzzbMK200KsF4Ts6M5lHQgM,2228
7
+ printer_core/algorithms/products_modifiers_unique_ticket.py,sha256=99pAuT9hdu7zoH8ykLlGCZ1Bd-8ljjozP2VIFcT6weU,1458
8
+ printer_core/builders/__init__.py,sha256=qyyvBGFfjBjDXoGjt_dHepOd5op6VBJToew9DeqYSwU,230
9
+ printer_core/builders/client_ticket_builder.py,sha256=_cnzvDqiVpsTE7jmxHSd1mALDk1iM3Ov2Vgsvrq2zJs,3918
10
+ printer_core/builders/header_builder.py,sha256=314ZypPSi3f4zpH7GaAGyDRfpQg90dhgvkUJKieIyqM,1139
11
+ printer_core/builders/kitchen_ticket_payload_builder.py,sha256=NJwYhj3GZ2CADg-4sLOju_CwGm9yZDSmYp9a__gFbkY,3984
12
+ printer_core/builders/printer_products_grouper.py,sha256=_xVlTcMFVeergJ1rmtAZhpNS6igbfg0qRh86p0AV8Fw,768
13
+ printer_core/context/__init__.py,sha256=TkuMFuwcyh2lpIUwrXYZxPZtS4ViSaz7KJBclIWihfo,57
14
+ printer_core/context/ticket_context_builder.py,sha256=XD7wBvFE8R1gzH6k0IV7P0TRbb8jFg5VENencrRY6oo,2712
15
+ printer_core/dispatchers/__init__.py,sha256=YDNvT7pqOZIafVz7fgO6WhJP8az4tFdjS06g61_l8YM,113
16
+ printer_core/dispatchers/kitchen_ticket_dispatcher.py,sha256=DYfIzTuvOrO1FoYQdrV6srx1SuDTdxYJFE9zi3ni8Dk,1607
17
+ printer_core/dispatchers/payload_dispatcher.py,sha256=oL-5__w_QwS7iqc6wlm9hUvw9Rx301Q02gjJ17_Kj94,618
18
+ printer_core/entities/__init__.py,sha256=r7MPgE3G6s4ztqhA5l5-AMgRRwfaHbQe5XNLXU9ivKA,1077
19
+ printer_core/entities/print_context.py,sha256=KKn3LM-cIPzijMbW72VtexFVh6ZnkY3t0oLI4H304P8,354
20
+ printer_core/entities/print_models.py,sha256=w8PxdyUrj8F2El6RjV8oZYIzw2pIoBgdRZRjYzCMJAg,5590
21
+ printer_core/formatters/__init__.py,sha256=fNY-c7Op7C5i48yW7qrJIL2nn_RKp6TD7Q5IiLrZjjw,50
22
+ printer_core/formatters/discount_formatter.py,sha256=5QJZt1MpMD6spe2xdwJV6vIWw908ir9JGuSOAeZOurk,819
23
+ printer_core/selectors/__init__.py,sha256=QcVNSntlVM8ORfSybFPw9w27MsfPsjCEC6xwEqJr3EQ,59
24
+ printer_core/selectors/family_product_selector.py,sha256=wzgPlONd0A3SV6rDP_Z28LtBW3Wn2CW5iS_fPOJ-x7A,1414
25
+ printer_core/services/__init__.py,sha256=IeoCnl0PB__JzsvS1Q92y1iYD499TGmdNOgKAzg9ZQk,846
26
+ printer_core/services/march_printer_service.py,sha256=CUxCXn0wpRVjGvK2V3MqUBygnxhjjDErnD3xvs5JWTw,2460
27
+ printer_core/services/multi_printer_family_service.py,sha256=lVTS2HqDihLHQ-N3El2N5mFOyfgL417x6B3G-em5H2M,4488
28
+ printer_core/services/multi_printer_service.py,sha256=JgAZVvhhjJmRwlEwLDiRY69hWvwMiTUC57M1eXGF1fM,2382
29
+ printer_core/services/order_print_service.py,sha256=sY97aGN0XPNABX8gR4sSWuIKDiWG0hKXBVp4p4CT84A,4378
30
+ printer_core/services/print_policy.py,sha256=UvQ4kdlAAsQMO7qr89JdFnYwwiWMFjte0XFRYnsHLKQ,2885
31
+ printer_core/services/unique_ticket_service.py,sha256=L985qVas7dd9NHMFphX_csEXjnU2J9ulIa2fIi8eLq0,2108
32
+ printer_core/services/flows/__init__.py,sha256=RCiNwDUMhAAW_FOHL0SuKsqk-xFLvelAhOVpJguv-bY,247
33
+ printer_core/services/flows/base.py,sha256=wR9k8gIL_nnw4KwLCS3_RLGauyLxrb5pEhKlu4Ol8t4,611
34
+ printer_core/services/flows/client.py,sha256=JLFBkKv3rhX7eLCk0PKnJr65gWgKi521kVqIQ2oRVYQ,3328
35
+ printer_core/services/flows/kitchen.py,sha256=5p-eEolIR2gvMwgJSfqApqjWQjqKububB7BH2bFiZmQ,4214
36
+ printer_core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ printer_core/tests/unitaries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ printer_core/tests/unitaries/helpers.py,sha256=MGHqemP-2BFGEbjLOsOyfL0c8SMoHtGfQAXjmw9ar8E,5566
39
+ printer_core/tests/unitaries/test_cases_output.py,sha256=N6ze31vE8iNGj9DUjjJmfE-AzEzH92KAbF1QVwW5Tiw,8861
40
+ printer_core/tests/unitaries/test_client_ticket_builder.py,sha256=yuxh4kZig5sgMxur5s37nN7MIAMzzP8x5acy3AaWaP0,2870
41
+ printer_core/tests/unitaries/test_discount_formatter.py,sha256=ows5F-9VrVQrz8Fawqe6sHx4thuC9mIJsT6wajZfLfw,1296
42
+ printer_core/tests/unitaries/test_family_product_selector.py,sha256=OEtJa9VXzEGwKUVLA_9zYlkOszdDAG2fvSbFuxuSfkg,1215
43
+ printer_core/tests/unitaries/test_flows.py,sha256=fVA1vse89fyLlZX6Xnxp9gRAQmzIFUKNOqFPfgdWd2s,5211
44
+ printer_core/tests/unitaries/test_header_builder_foodeo_printers.py,sha256=-71nOaAL502LGyxFmUHhspOQmbywE6t3sNSiYHWx4fI,3109
45
+ printer_core/tests/unitaries/test_kitchen_ticket_dispatcher.py,sha256=VyvZ8k6CoRZAwMMKQe4isPJAgWDsn4eD1Loa2ppyhg0,2265
46
+ printer_core/tests/unitaries/test_kitchen_ticket_payload_builder.py,sha256=wnKYHGkOI3fgk1NA7T6evKn8yCP92GsMnKLgxiwZC-0,5054
47
+ printer_core/tests/unitaries/test_march_printer_service.py,sha256=pCjuR4AwrYY9Nz6_5Dg4zF9rqGVcEj6BdwW78UwfS24,1324
48
+ printer_core/tests/unitaries/test_multi_printer_family_service.py,sha256=DDI7Oeq3m3o05IBd2IngsAamTO-629_PPNmgRdV20c0,2309
49
+ printer_core/tests/unitaries/test_multi_printer_service.py,sha256=enq6B8M0LRbq7ZnN15GxMFM5s01kq5kqh1FKBXU7URo,2191
50
+ printer_core/tests/unitaries/test_order_print_service.py,sha256=vje8cJgSoEkiQBAWoH7NM9MhCTbhxERGpTToakqEG_A,5980
51
+ printer_core/tests/unitaries/test_payload_dispatcher.py,sha256=uFkBIWEqSgEWSRWTEXR7MsjyhE4qZuZX2Yg_edEW8Lg,1897
52
+ printer_core/tests/unitaries/test_print_policy.py,sha256=IF4B2T4YQj-7Xblgtsk9TEe-tTzOmC1vsLrdK5RGRXk,1765
53
+ printer_core/tests/unitaries/test_printer_helpers.py,sha256=PoT_f6G3f7MOTeJNmHgqiXEcDFnovbmabdXI4t4cw0g,2354
54
+ printer_core/tests/unitaries/test_printer_products_grouper.py,sha256=d72QnhtkfzytTo8vcUEVr2Zzt6afIJDoafx65_SCZMQ,932
55
+ printer_core/tests/unitaries/test_products_modifiers.py,sha256=qeG7_2f9vPZkQ6vLr7dOKEbfQNBANmDpKmLaov2XUP4,4449
56
+ printer_core/tests/unitaries/test_ticket_context_builder.py,sha256=VWRc344EXagLKMsVxnUiuuokQiE2PexJE2Jc6Y9YMkE,3157
57
+ printer_core/tests/unitaries/test_unique_ticket_service.py,sha256=FpYEMHHsStE-inb7vdYODa4LAKCfBw14rOUeEIIRtzc,1037
58
+ printer_core/utils/__init__.py,sha256=2xepRPeiarPmnodrAEZav7Ssj2AtaqYzD93Clzq7zG0,94
59
+ printer_core/utils/printer_helpers.py,sha256=d7ijnTdftQrH-YmTuCCF5wIgTeT1W_2pLg2ZdP7zGsg,1725
60
+ printer_core-0.0.1.dist-info/METADATA,sha256=15RHPwiLuAMK24P-NB4YaNa-UpQmoCtl1OT3KGJxjxg,963
61
+ printer_core-0.0.1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
62
+ printer_core-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any