printer-core 0.0.5__tar.gz → 0.0.6__tar.gz

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 (64) hide show
  1. {printer_core-0.0.5 → printer_core-0.0.6}/PKG-INFO +1 -1
  2. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/builders/client_ticket_builder.py +1 -1
  3. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/builders/kitchen_ticket_payload_builder.py +1 -0
  4. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/entities/print_models.py +2 -0
  5. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_client_ticket_builder.py +16 -0
  6. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_kitchen_ticket_payload_builder.py +18 -0
  7. {printer_core-0.0.5 → printer_core-0.0.6}/pyproject.toml +1 -1
  8. {printer_core-0.0.5 → printer_core-0.0.6}/.gitignore +0 -0
  9. {printer_core-0.0.5 → printer_core-0.0.6}/README.md +0 -0
  10. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/__init__.py +0 -0
  11. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/algorithms/__init__.py +0 -0
  12. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/algorithms/products_modifiers_multiprinter.py +0 -0
  13. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/algorithms/products_modifiers_multiprinter_family.py +0 -0
  14. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/algorithms/products_modifiers_unique_ticket.py +0 -0
  15. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/builders/__init__.py +0 -0
  16. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/builders/header_builder.py +0 -0
  17. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/builders/printer_products_grouper.py +0 -0
  18. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/clock.py +0 -0
  19. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/context/__init__.py +0 -0
  20. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/context/ticket_context_builder.py +0 -0
  21. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/dispatchers/__init__.py +0 -0
  22. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/dispatchers/kitchen_ticket_dispatcher.py +0 -0
  23. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/dispatchers/payload_dispatcher.py +0 -0
  24. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/entities/__init__.py +0 -0
  25. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/entities/print_context.py +0 -0
  26. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/formatters/__init__.py +0 -0
  27. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/formatters/discount_formatter.py +0 -0
  28. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/ports.py +0 -0
  29. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/selectors/__init__.py +0 -0
  30. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/selectors/family_product_selector.py +0 -0
  31. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/__init__.py +0 -0
  32. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/flows/__init__.py +0 -0
  33. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/flows/base.py +0 -0
  34. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/flows/client.py +0 -0
  35. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/flows/kitchen.py +0 -0
  36. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/march_printer_service.py +0 -0
  37. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/multi_printer_family_service.py +0 -0
  38. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/multi_printer_service.py +0 -0
  39. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/order_print_service.py +0 -0
  40. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/print_policy.py +0 -0
  41. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/services/unique_ticket_service.py +0 -0
  42. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/__init__.py +0 -0
  43. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/__init__.py +0 -0
  44. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/helpers.py +0 -0
  45. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_cases_output.py +0 -0
  46. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_discount_formatter.py +0 -0
  47. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_family_product_selector.py +0 -0
  48. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_flows.py +0 -0
  49. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_header_builder_foodeo_printers.py +0 -0
  50. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_kitchen_ticket_dispatcher.py +0 -0
  51. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_march_printer_service.py +0 -0
  52. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_multi_printer_family_service.py +0 -0
  53. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_multi_printer_service.py +0 -0
  54. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_order_print_service.py +0 -0
  55. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_payload_dispatcher.py +0 -0
  56. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_print_policy.py +0 -0
  57. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_printer_helpers.py +0 -0
  58. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_printer_products_grouper.py +0 -0
  59. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_products_modifiers.py +0 -0
  60. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_ticket_context_builder.py +0 -0
  61. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/tests/unitaries/test_unique_ticket_service.py +0 -0
  62. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/utils/__init__.py +0 -0
  63. {printer_core-0.0.5 → printer_core-0.0.6}/printer_core/utils/printer_helpers.py +0 -0
  64. {printer_core-0.0.5 → printer_core-0.0.6}/scripts/link_backend_env.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: printer-core
3
- Version: 0.0.5
3
+ Version: 0.0.6
4
4
  Summary: Foodeo Printer Core Domain.
5
5
  Project-URL: Homepage, https://github.com/Foodeo/printer-core
6
6
  Project-URL: Repository, https://github.com/Foodeo/printer-core
@@ -29,7 +29,7 @@ class ClientTicketBuilder:
29
29
  ticket_text = self._get_attr(ticket_settings, "ticket_text", "")
30
30
  qty_client_ticket = self._get_attr(ticket_settings, "qty_client_ticket", 1)
31
31
  client_request = ClientTicketData(
32
- **request.model_dump(exclude={"products", "ticket_text"}),
32
+ **request.model_dump(exclude={"products", "ticket_text", "is_rectified"}),
33
33
  ticket_text=ticket_text,
34
34
  products=self._build_products(request, products),
35
35
  )
@@ -35,6 +35,7 @@ class KitchenTicketPayloadBuilder:
35
35
  details=request.details or "",
36
36
  type=request.type,
37
37
  discount=request.discount,
38
+ is_rectified=request.is_rectified,
38
39
  )
39
40
 
40
41
  data = data.model_copy(update={"created_at": self._resolve_created_at(request)})
@@ -141,6 +141,7 @@ class KitchenTicketData(BaseModel):
141
141
  headerData: HeaderData | None = None
142
142
  products: list[KitchenProductLine] | None = None
143
143
  products_groups: list[ProductsGroup] | None = None
144
+ is_rectified: bool = False
144
145
 
145
146
 
146
147
  class PrintRequestData(BaseModel):
@@ -181,6 +182,7 @@ class PrintRequestData(BaseModel):
181
182
 
182
183
 
183
184
  class ClientTicketData(PrintRequestData):
185
+ is_rectified: bool = Field(default=False, exclude=True)
184
186
  products: list[ClientTicketProduct] | None = None
185
187
 
186
188
 
@@ -76,3 +76,19 @@ class ClientTicketBuilderTest(unittest.TestCase):
76
76
 
77
77
  self.assertEqual(payloads[0].data.products[-1].name, "Service")
78
78
  self.assertEqual(payloads[0].data.products[-1].price, "2.00")
79
+
80
+ def test_build_does_not_serialize_rectified_flag_when_request_is_rectified(self):
81
+ builder = ClientTicketBuilder()
82
+ request = make_request(is_rectified=True)
83
+ products = [make_product()]
84
+
85
+ payloads = builder.build(
86
+ request=request,
87
+ products=products,
88
+ printer=make_printer(),
89
+ ticket_settings=make_ticket_settings(),
90
+ tpv_key="TPV1",
91
+ )
92
+
93
+ self.assertTrue(request.is_rectified)
94
+ self.assertNotIn("is_rectified", payloads[0].data.model_dump())
@@ -111,3 +111,21 @@ class KitchenTicketPayloadBuilderTest(unittest.TestCase):
111
111
  )
112
112
 
113
113
  self.assertEqual(payload.PrintSettings.show_header, False)
114
+
115
+ def test_build_includes_rectified_flag(self):
116
+ builder = KitchenTicketPayloadBuilder(clock=FakeClock())
117
+ request = make_request(request_type="local", is_rectified=True)
118
+ products = [KitchenProductLine(name="A", qty=1, option=None, printer_r="P1", printer_w="80")]
119
+
120
+ payload = builder.build(
121
+ request=request,
122
+ printer_name="P1",
123
+ tpv_key="TPV1",
124
+ printer_width="80",
125
+ products=products,
126
+ ticket_settings=make_ticket_settings(),
127
+ kitchen_ticket_settings=make_kitchen_settings(),
128
+ group_products_func=lambda items: [ProductsGroup(group="G", products=items)],
129
+ )
130
+
131
+ self.assertTrue(payload.data.is_rectified)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "printer-core"
7
- version = "0.0.5"
7
+ version = "0.0.6"
8
8
  description = "Foodeo Printer Core Domain."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes