Skip to content

Commit b5c3438

Browse files
committed
разделил package quantity на брутто и нетто
1 parent 86a8298 commit b5c3438

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

src/openinflation_dataclass/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Pydantic models for products, categories, and retail geolocation."""
22

3-
__version__ = "0.1.3"
3+
__version__ = "0.1.4"
44

55
from .card import Card, MetaData, WholesalePrice
66
from .geolocation import AdministrativeUnit, RetailUnit, Schedule

src/openinflation_dataclass/card.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,13 @@ class Card(NetworkModel):
6868
# unit="LTR", available_count=29.2, package_quantity=0.5, package_unit="LTR"
6969
unit: Literal["PCE", "KGM", "LTR"] | None = None
7070
available_count: int | float | None = None
71-
package_quantity: float | None = None
71+
package_quantity_net: float | None = None
72+
"""Кол-во в нетто"""
73+
package_quantity_gross: float | None = None
74+
"""Кол-во в брутто"""
7275
package_unit: Literal["KGM", "LTR"] | None = None
7376

77+
# All in meters
7478
dimension_height: float | None = None
7579
dimension_width: float | None = None
7680
dimension_depth: float | None = None
@@ -88,8 +92,12 @@ def validate_business_rules(self) -> Card:
8892

8993
if is_piece_unit and has_count and not count_is_int:
9094
raise ValueError("For unit='PCE', available_count must be int.")
91-
if (self.package_quantity is None) != (self.package_unit is None):
95+
if (self.package_quantity_net is None) != (self.package_unit is None):
9296
raise ValueError(
93-
"package_quantity and package_unit must be set together or both set to None."
97+
"package_quantity_net and package_unit must be set together or both set to None."
98+
)
99+
if (self.package_quantity_gross is None) != (self.package_unit is None):
100+
raise ValueError(
101+
"package_quantity_gross and package_unit must be set together or both set to None."
94102
)
95103
return self

tests/test_models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ def _build_card() -> Card:
4242
price_unit="RUB",
4343
unit="PCE",
4444
available_count=15,
45-
package_quantity=1.0,
45+
package_quantity_net=1.0,
46+
package_quantity_gross=1.0,
4647
package_unit="LTR",
4748
categories_uid=["milk"],
4849
main_image="main-image.png",

0 commit comments

Comments
 (0)