From 6426148a57997a1b3973a8970b8e486c7539fda5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 3 Aug 2026 23:00:28 +0500 Subject: [PATCH] Fix source import parsing and AI settings UI --- src/vk_parser_app/admin.py | 16 +++++++++++++ src/vk_parser_app/templates/sources.html | 4 ++-- src/vk_parser_app/templates/workers.html | 4 ++-- src/vk_parser_app/workers/ai_qualifier.py | 27 ---------------------- src/vk_parser_app/workers/ai_writer.py | 28 ----------------------- 5 files changed, 20 insertions(+), 59 deletions(-) diff --git a/src/vk_parser_app/admin.py b/src/vk_parser_app/admin.py index 51a4f72..9f2e5fc 100644 --- a/src/vk_parser_app/admin.py +++ b/src/vk_parser_app/admin.py @@ -897,6 +897,22 @@ def parse_source_line(line: str) -> dict[str, str]: raw = (line or "").strip() if not raw: return {"name": "", "tag": "", "url": "", "error": "Пустая строка"} + delimiter = next((sep for sep in ("\t", "|", ";") if sep in raw), "") + if delimiter: + fields = [part.strip() for part in raw.split(delimiter)] + fields = [part for part in fields if part] + if len(fields) == 2: + name, url = fields + tag = name + elif len(fields) == 3: + name, tag, url = fields + else: + return {"name": "", "tag": "", "url": "", "error": "Формат: Название | тэг | ссылка"} + if url.startswith(("vk.com/", "vk.ru/", "m.vk.com/")): + url = f"https://{url}" + url = url.replace("https://vk.ru/", "https://vk.com/", 1).replace("https://m.vk.com/", "https://vk.com/", 1) + return {"name": name, "tag": normalize_hash_tag(tag, ""), "url": url, "error": ""} + parts = re.split(r"\s+", raw) url_index = next( ( diff --git a/src/vk_parser_app/templates/sources.html b/src/vk_parser_app/templates/sources.html index e4b38bf..578bed5 100644 --- a/src/vk_parser_app/templates/sources.html +++ b/src/vk_parser_app/templates/sources.html @@ -30,10 +30,10 @@
- +