printer-core 1.0.1__tar.gz → 1.0.2__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 (65) hide show
  1. {printer_core-1.0.1 → printer_core-1.0.2}/PKG-INFO +1 -1
  2. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/entities/print_models.py +1 -0
  3. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/order_print_service.py +5 -1
  4. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/helpers.py +2 -0
  5. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_order_print_service.py +2 -1
  6. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_printer_helpers.py +2 -1
  7. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/utils/printer_helpers.py +2 -2
  8. {printer_core-1.0.1 → printer_core-1.0.2}/pyproject.toml +1 -1
  9. {printer_core-1.0.1 → printer_core-1.0.2}/.gitignore +0 -0
  10. {printer_core-1.0.1 → printer_core-1.0.2}/README.md +0 -0
  11. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/__init__.py +0 -0
  12. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/algorithms/__init__.py +0 -0
  13. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/algorithms/products_modifiers_multiprinter.py +0 -0
  14. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/algorithms/products_modifiers_multiprinter_family.py +0 -0
  15. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/algorithms/products_modifiers_unique_ticket.py +0 -0
  16. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/builders/__init__.py +0 -0
  17. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/builders/client_ticket_builder.py +0 -0
  18. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/builders/header_builder.py +0 -0
  19. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/builders/kitchen_ticket_payload_builder.py +0 -0
  20. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/builders/printer_products_grouper.py +0 -0
  21. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/clock.py +0 -0
  22. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/context/__init__.py +0 -0
  23. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/context/ticket_context_builder.py +0 -0
  24. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/dispatchers/__init__.py +0 -0
  25. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/dispatchers/kitchen_ticket_dispatcher.py +0 -0
  26. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/dispatchers/payload_dispatcher.py +0 -0
  27. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/entities/__init__.py +0 -0
  28. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/entities/print_context.py +0 -0
  29. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/formatters/__init__.py +0 -0
  30. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/formatters/discount_formatter.py +0 -0
  31. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/ports.py +0 -0
  32. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/selectors/__init__.py +0 -0
  33. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/selectors/family_product_selector.py +0 -0
  34. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/__init__.py +0 -0
  35. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/flows/__init__.py +0 -0
  36. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/flows/base.py +0 -0
  37. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/flows/client.py +0 -0
  38. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/flows/kitchen.py +0 -0
  39. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/march_printer_service.py +0 -0
  40. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/multi_printer_family_service.py +0 -0
  41. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/multi_printer_service.py +0 -0
  42. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/print_policy.py +0 -0
  43. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/services/unique_ticket_service.py +0 -0
  44. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/__init__.py +0 -0
  45. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/__init__.py +0 -0
  46. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_cases_output.py +0 -0
  47. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_client_ticket_builder.py +0 -0
  48. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_discount_formatter.py +0 -0
  49. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_family_product_selector.py +0 -0
  50. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_flows.py +0 -0
  51. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_header_builder_foodeo_printers.py +0 -0
  52. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_kitchen_ticket_dispatcher.py +0 -0
  53. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_kitchen_ticket_payload_builder.py +0 -0
  54. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_march_printer_service.py +0 -0
  55. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_multi_printer_family_service.py +0 -0
  56. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_multi_printer_service.py +0 -0
  57. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_payload_dispatcher.py +0 -0
  58. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_print_policy.py +0 -0
  59. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_printer_products_grouper.py +0 -0
  60. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_products_modifiers.py +0 -0
  61. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_ticket_context_builder.py +0 -0
  62. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/tests/unitaries/test_unique_ticket_service.py +0 -0
  63. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/utils/__init__.py +0 -0
  64. {printer_core-1.0.1 → printer_core-1.0.2}/printer_core/utils/product_price_presenter.py +0 -0
  65. {printer_core-1.0.1 → printer_core-1.0.2}/scripts/link_backend_env.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: printer-core
3
- Version: 1.0.1
3
+ Version: 1.0.2
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
@@ -69,6 +69,7 @@ class IvaData(BaseModel):
69
69
  Base: str
70
70
  impo: str
71
71
  iva: str
72
+ iva_name: str = "IVA"
72
73
 
73
74
 
74
75
  class FiskalyData(BaseModel):
@@ -74,7 +74,11 @@ class OrderPrintService:
74
74
  enriched = enriched.model_copy(update={"currency": context.global_settings.currency})
75
75
 
76
76
  total, enriched = self._compute_total(channel, enriched)
77
- iva_data = build_iva_data(total, Decimal(str(context.global_settings.iva)))
77
+ iva_data = build_iva_data(
78
+ total,
79
+ Decimal(str(context.global_settings.iva)),
80
+ getattr(context.global_settings, "iva_name", "IVA"),
81
+ )
78
82
  enriched = enriched.model_copy(update={"total": str(total), "ivaData": iva_data})
79
83
  return enriched
80
84
 
@@ -181,6 +181,7 @@ def make_kitchen_settings(
181
181
  def make_global_settings(
182
182
  currency: str | None = "EUR",
183
183
  iva: int = 21,
184
+ iva_name: str = "IVA",
184
185
  use_payment_terminal: bool = False,
185
186
  use_cashmatic: bool = False,
186
187
  use_cashlogy: bool = False,
@@ -188,6 +189,7 @@ def make_global_settings(
188
189
  return SimpleNamespace(
189
190
  currency=currency,
190
191
  iva=iva,
192
+ iva_name=iva_name,
191
193
  use_payment_terminal=use_payment_terminal,
192
194
  use_cashmatic=use_cashmatic,
193
195
  use_cashlogy=use_cashlogy,
@@ -48,7 +48,7 @@ class OrderPrintServiceTest(unittest.TestCase):
48
48
  context = type("Ctx", (), {
49
49
  "ticket_settings": make_ticket_settings(ticket_kitchen_local=True, ticket_client_local=True),
50
50
  "kitchen_settings": make_kitchen_settings(print_by="categories"),
51
- "global_settings": make_global_settings(currency="EUR", iva=21),
51
+ "global_settings": make_global_settings(currency="EUR", iva=21, iva_name="VAT"),
52
52
  })()
53
53
 
54
54
  result = service.print_job(job, context, PrintChannel.LOCAL)
@@ -60,6 +60,7 @@ class OrderPrintServiceTest(unittest.TestCase):
60
60
  self.assertEqual(enriched.currency, "EUR")
61
61
  self.assertEqual(enriched.price_domicile_service, None)
62
62
  self.assertIsNotNone(enriched.ivaData)
63
+ self.assertEqual(enriched.ivaData.iva_name, "VAT")
63
64
 
64
65
  def test_print_job_domicile_total_includes_service_price(self):
65
66
  kitchen_flow = FakeFlow(FlowTarget.KITCHEN, return_value=[])
@@ -72,8 +72,9 @@ class PrinterHelpersTest(unittest.TestCase):
72
72
  self.assertEqual([item.name for item in grouped[2].products], ["C", "D", "E"])
73
73
 
74
74
  def test_build_iva_data(self):
75
- data = build_iva_data(Decimal("121.00"), Decimal("21"))
75
+ data = build_iva_data(Decimal("121.00"), Decimal("21"), "VAT")
76
76
 
77
77
  self.assertEqual(data.Base, "100.00")
78
78
  self.assertEqual(data.impo, "21.00")
79
79
  self.assertEqual(data.iva, "21")
80
+ self.assertEqual(data.iva_name, "VAT")
@@ -38,8 +38,8 @@ def group_products_by_orders(products: list[KitchenProductLine]) -> list[Product
38
38
  return list_of_ordered_values
39
39
 
40
40
 
41
- def build_iva_data(total: Decimal, iva: Decimal) -> IvaData:
41
+ def build_iva_data(total: Decimal, iva: Decimal, iva_name: str = "IVA") -> IvaData:
42
42
  aa: Decimal = Decimal(total)
43
43
  iva_value: Decimal = Decimal(str(iva))
44
44
  base: Decimal = Decimal(aa / (1 + iva_value / 100)).quantize(Decimal(".01"))
45
- return IvaData(Base=str(base), impo=str(aa - base), iva=str(iva_value))
45
+ return IvaData(Base=str(base), impo=str(aa - base), iva=str(iva_value), iva_name=iva_name)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "printer-core"
7
- version = "1.0.1"
7
+ version = "1.0.2"
8
8
  description = "Foodeo Printer Core Domain."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes