Skip to content

Commit 4ae4c8c

Browse files
committed
chizhik
1 parent de5327b commit 4ae4c8c

2 files changed

Lines changed: 58 additions & 1 deletion

File tree

openinflation_dataclass/card.py

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ class WholesalePrice(TypedDict):
88
price: float
99
"""Цена за единицу товара"""
1010

11+
class MetaData(TypedDict):
12+
name: str
13+
"""Человеко-читаемое название поля"""
14+
alias: str
15+
"""Уникальный alias (английский в нижнем регистре, цифры допустимы)"""
16+
value: float | int | str
17+
"""Значение"""
18+
1119
class Card:
1220
sku: str
1321
"""Уникальный внутренний код товара в системе учета компании."""
@@ -18,6 +26,8 @@ class Card:
1826

1927
title: str
2028
"""Название товара"""
29+
description: str
30+
"""Описание товара"""
2131

2232
abult: bool
2333
"""Помечен ли товар как 18+"""
@@ -32,7 +42,26 @@ class Card:
3242
data_matrix: bool
3343
"""Использует ли выбранный товар QR-код для пробива на кассе"""
3444

35-
brand_uid: str
45+
brand: str
46+
"""Бренд товара"""
47+
producer_name: str
48+
"""Название производителя"""
49+
producer_country: Literal["BLR", "RUS", "USA", "ARE"]
50+
"""Страна-производитель"""
51+
52+
composition: str
53+
"""Состав"""
54+
55+
meta_data: list[MetaData]
56+
"""Любые метаданные (например пищевая ценность или габариты)"""
57+
58+
expiration_date_in_days: int
59+
"""Срок годности с момента производства в днях"""
60+
61+
rating: float
62+
"""Пятибальная шкала с детализацией до десятых"""
63+
reviews_count: int
64+
"""Кол-во отзывов по заявлению источника"""
3665

3766
price: float
3867
"""Регулярная цена"""
@@ -46,10 +75,37 @@ class Card:
4675
price_unit: Literal["BYN", "RUB", "USD", "EUR", "AED"]
4776
"""Валюта цены"""
4877

78+
### ГАЙД НА ЕДИНИЦЫ
79+
# Шоколад 200г:
80+
# unit=PCE
81+
# available_count=15
82+
# package_quantity=0.2
83+
# package_unit=KGM
84+
# Молоко 1л:
85+
# unit=PCE
86+
# available_count=10
87+
# package_quantity=1
88+
# package_unit=LTR
89+
# Картошка (на развес):
90+
# unit=KGM
91+
# available_count=12.7
92+
# package_quantity=None
93+
# package_unit=None
94+
# Водомат:
95+
# unit=LTR
96+
# available_count=29.2
97+
# package_quantity=LTR
98+
# потому что выдает с фиксированным шагом (указываем самый мелкий)
99+
# package_unit=0.5
100+
49101
unit: Literal["PCE", "KGM", "LTR"]
50102
"""Единицы измерения товара по стандарту UNECE Rec 20"""
51103
available_count: float | int
52104
"""Доступное кол-во товара в магазине (для PCE допускается лишь int)"""
105+
package_quantity: float | None
106+
"""Объем/вес товара в упаковке"""
107+
package_unit: Literal["KGM", "LTR"] | None
108+
"""Единица измерения кпаковки"""
53109

54110
categories_uid: list[str]
55111
"""Список категорий которому соответсвует товар"""

openinflation_dataclass/geolocation.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class AdministrativeUnit:
1313
settlement_type: Literal["village", "city"]
1414

1515
name: str
16+
alias: str
1617
country: Literal["BLR", "RUS", "USA", "ARE"]
1718
region: str
1819

0 commit comments

Comments
 (0)