diff --git a/Parsing ZARAHOME/src/xlsx_recorder.py b/Parsing ZARAHOME/src/xlsx_recorder.py index 977cd84..272d750 100644 --- a/Parsing ZARAHOME/src/xlsx_recorder.py +++ b/Parsing ZARAHOME/src/xlsx_recorder.py @@ -34,6 +34,10 @@ def sanitize_filename(name: str, repl: str = "_") -> str: clean = re.sub(INVALID_FILE_CHARS, repl, name) return clean.split("?", 1)[0].strip() +def safe_str(val) -> str: + """Безопасно приводит значение к строке, None → ''.""" + return str(val) if val is not None else "" + # ────────────────────────── Recorder ────────────────────────────── class Recorder: 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 url_full = row[idx["Краткое описание"]] name_orig = row[idx["Название товара или услуги"]].capitalize() - desc_orig = ( - row[idx["Полное описание"]].replace("\n", "
") + "
" + - row[idx["Параметр: Уход"]].replace("\n", "
") + "
" + - row[idx["Параметр: Происхождение"]].replace("\n", "
") + desc_orig = ( + safe_str(row[idx["Полное описание"]]).replace("\n", "
") + "
" + + safe_str(row[idx["Параметр: Уход"]]).replace("\n", "
") + "
" + + safe_str(row[idx["Параметр: Происхождение"]]).replace("\n", "
") ).strip("
") + images = [img for img in row[idx["Изображения варианта"]].split("\n") if img] cat_raw = row[idx["Размещение на сайте"]].replace("Каталог/ZaraHome/WOMEN/", "") diff --git a/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py b/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py index c949c56..11b834d 100644 --- a/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py +++ b/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py @@ -28,7 +28,7 @@ def is_temp_or_hidden(name: str) -> bool: # === Пути === 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 timestamp = datetime.now().strftime('%Y%m%d-%H%M')