diff --git a/Parsing ZARAHOME/src/xlsx_recorder.py b/Parsing ZARAHOME/src/xlsx_recorder.py
index ca637c0..5e694f9 100644
--- a/Parsing ZARAHOME/src/xlsx_recorder.py
+++ b/Parsing ZARAHOME/src/xlsx_recorder.py
@@ -25,6 +25,9 @@ MIN_PRICE = 40
MAX_PRICE = 1200
EXCLUSION_FILE = Path(__file__).with_name("exclusion_materials.txt") # в том же каталоге
+# Только такие статусы допускаем в JSON/POST
+ALLOWED_VIS = {"SHOW", "RUNNING_OUT"}
+
INVALID_FILE_CHARS = r'[<>:"/\\|*?]' # для имён файлов Windows
def sanitize_filename(name: str, repl: str = "_") -> str:
@@ -76,21 +79,31 @@ class Recorder:
price_raw = row[idx["Цена закупки"]]
price_int = math.ceil(float(price_raw))
if not (MIN_PRICE <= price_int <= MAX_PRICE):
+ # вне ценового коридора — остаётся только в XLSX
continue
- # ----------- фильтр по составу -------
+ # ----------- фильтр статуса наличия --------
+ vis_val = row[idx["Наличие на сайте"]]
+ #Закомментить это если нужно выключить (начало)-------------------------------#
+ if vis_val not in ALLOWED_VIS: #
+ # любые статусы кроме SHOW/RUNNING_OUT — только в XLSX #
+ log.debug("Skip by availability: %s (%s)", row[idx["Артикул"]], vis_val) #
+ continue #
+ #Закомментить это если нужно выключить (конец)--------------------------------#
+
+ # ----------- фильтр по составу -----------
comp_txt = row[idx["Параметр: Состав"]].replace("\n", "
")
comp_low = comp_txt.lower()
if any(tok in comp_low for tok in self.forbidden):
log.debug("Skip by exclusion token: %s", row[idx["Артикул"]])
continue
- # ----------- формируем variant -------
+ # ----------- формируем variant -----------
article = row[idx["Артикул"]]
partnumber = row[idx["PartNumber"]]
clr_name = row[idx["Свойство: Цвет"]].capitalize()
size_full = row[idx["Свойство: Размер"]].replace("\n", "
")
- vis = row[idx["Наличие на сайте"]]
+ vis = vis_val
weight_g = float(row[idx["Свойство: Вес(г)"]]) if row[idx["Свойство: Вес(г)"]] else 0.0
weight_kg = math.ceil(weight_g / 1000) if weight_g else 0
url_full = row[idx["Краткое описание"]]
@@ -116,7 +129,7 @@ class Recorder:
"originalDescription": desc_orig,
"originalComposition": comp_txt,
"images": images,
- "inStock": vis == "SHOW",
+ "inStock": vis in ALLOWED_VIS, # ← здесь привязали к ALLOWED_VIS
"weight": weight_kg
}