фикс ошибки при сборке ZH для пустых значений описания товара
This commit is contained in:
parent
6b391a37a5
commit
6818f1c839
@ -34,6 +34,10 @@ def sanitize_filename(name: str, repl: str = "_") -> str:
|
|||||||
clean = re.sub(INVALID_FILE_CHARS, repl, name)
|
clean = re.sub(INVALID_FILE_CHARS, repl, name)
|
||||||
return clean.split("?", 1)[0].strip()
|
return clean.split("?", 1)[0].strip()
|
||||||
|
|
||||||
|
def safe_str(val) -> str:
|
||||||
|
"""Безопасно приводит значение к строке, None → ''."""
|
||||||
|
return str(val) if val is not None else ""
|
||||||
|
|
||||||
# ────────────────────────── Recorder ──────────────────────────────
|
# ────────────────────────── Recorder ──────────────────────────────
|
||||||
class Recorder:
|
class Recorder:
|
||||||
def __init__(self, records_folder="records_folder"):
|
def __init__(self, records_folder="records_folder"):
|
||||||
@ -108,11 +112,12 @@ class Recorder:
|
|||||||
weight_kg = math.ceil(weight_g / 1000) if weight_g else 0
|
weight_kg = math.ceil(weight_g / 1000) if weight_g else 0
|
||||||
url_full = row[idx["Краткое описание"]]
|
url_full = row[idx["Краткое описание"]]
|
||||||
name_orig = row[idx["Название товара или услуги"]].capitalize()
|
name_orig = row[idx["Название товара или услуги"]].capitalize()
|
||||||
desc_orig = (
|
desc_orig = (
|
||||||
row[idx["Полное описание"]].replace("\n", "<br/>") + "<br/>" +
|
safe_str(row[idx["Полное описание"]]).replace("\n", "<br/>") + "<br/>" +
|
||||||
row[idx["Параметр: Уход"]].replace("\n", "<br/>") + "<br/>" +
|
safe_str(row[idx["Параметр: Уход"]]).replace("\n", "<br/>") + "<br/>" +
|
||||||
row[idx["Параметр: Происхождение"]].replace("\n", "<br/>")
|
safe_str(row[idx["Параметр: Происхождение"]]).replace("\n", "<br/>")
|
||||||
).strip("<br/>")
|
).strip("<br/>")
|
||||||
|
|
||||||
images = [img for img in row[idx["Изображения варианта"]].split("\n") if img]
|
images = [img for img in row[idx["Изображения варианта"]].split("\n") if img]
|
||||||
|
|
||||||
cat_raw = row[idx["Размещение на сайте"]].replace("Каталог/ZaraHome/WOMEN/", "")
|
cat_raw = row[idx["Размещение на сайте"]].replace("Каталог/ZaraHome/WOMEN/", "")
|
||||||
|
|||||||
@ -28,7 +28,7 @@ def is_temp_or_hidden(name: str) -> bool:
|
|||||||
|
|
||||||
# === Пути ===
|
# === Пути ===
|
||||||
script_dir = get_script_dir()
|
script_dir = get_script_dir()
|
||||||
folder_path = os.path.join(script_dir, 'Files-todo/manifest')
|
folder_path = os.path.join(script_dir, 'Files-todo')
|
||||||
|
|
||||||
# имя результата: All-todo-YYYYMMDD-HHMM.xlsx
|
# имя результата: All-todo-YYYYMMDD-HHMM.xlsx
|
||||||
timestamp = datetime.now().strftime('%Y%m%d-%H%M')
|
timestamp = datetime.now().strftime('%Y%m%d-%H%M')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user