Загрузка данных


Ты работаешь в проекте:

/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta

Задача:
Провести безопасную диагностику и пробный запуск проекта adt-markdownify-meta.

Важно:
- Ничего не переписывай.
- Ничего не удаляй.
- Ничего не исправляй автоматически.
- Не меняй код.
- Не меняй конфиги.
- Не делай git add / commit / push.
- Не устанавливай зависимости автоматически.
- Не скачивай Chromium автоматически.
- Только проверяй, запускай безопасные команды и готовь отчёт.
- Если проект падает — остановись, объясни точную причину и что нужно сделать.
- Все выводы подтверждай конкретной командой и её выводом.

Работай строго по шагам.

Шаг 1. Проверить текущую директорию

Выполни:

pwd
ls -la

Проверь, что мы действительно находимся в:

/Users/23865613/IdeaProjects/untitled/adt-markdownify-meta

Проверь наличие файлов:

run_exporter.py
requirements.txt
meta_exporter.yaml
meta_exporter.yaml.example
meta_urls.txt
scripts/config_loader.py
scripts/scrape_meta.py
scripts/html_to_markdown.py
scripts/markdown_writer.py

Если чего-то не хватает — остановись и напиши отчёт:
- какой файл отсутствует;
- почему без него проект не запустится;
- что нужно создать или восстановить.

Шаг 2. Проверить виртуальное окружение

Выполни:

ls -la .venv
source .venv/bin/activate
which python
python --version
which pip
pip --version

Если .venv нет — остановись и напиши:
"Не найдено виртуальное окружение .venv"
И укажи команду, которую нужно выполнить вручную:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Шаг 3. Проверить зависимости Python

После активации .venv выполни:

python - <<'PY'
modules = ["yaml", "markdownify", "playwright"]
for module in modules:
    try:
        __import__(module)
        print(f"{module}: OK")
    except Exception as e:
        print(f"{module}: ERROR: {e}")
PY

Если какой-то модуль не импортируется — остановись и напиши:
- какой модуль отсутствует;
- какая ошибка;
- какую команду нужно выполнить вручную:

pip install -r requirements.txt

Шаг 4. Проверить Playwright и Chromium

Выполни:

python -m playwright --version

Потом проверь наличие браузера Chromium для Playwright:

ls -la /Users/23865613/Library/Caches/ms-playwright/ || true

Потом выполни минимальный тест Chromium:

python - <<'PY'
from playwright.sync_api import sync_playwright

try:
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=True)
        page = browser.new_page()
        page.goto("data:text/html,<html><title>Test</title><body>ok</body></html>")
        print("title:", page.title())
        browser.close()
        print("chromium test: OK")
except Exception as e:
    print("chromium test: ERROR")
    print(type(e).__name__)
    print(e)
PY

Если ошибка такая, что executable doesn't exist или не найдена папка chromium-1091, значит причина:
"Playwright установлен, но браузер Chromium для Playwright не скачан."

В этом случае остановись и напиши, что нужно выполнить вручную:

cd /Users/23865613/IdeaProjects/untitled/adt-markdownify-meta
source .venv/bin/activate
python -m playwright install chromium

Если будет ошибка сертификата или корпоративного proxy, напиши альтернативную команду:

NODE_TLS_REJECT_UNAUTHORIZED=0 python -m playwright install chromium

Если и она не поможет, напиши:
"Нужно скачать Chromium для Playwright через разрешённую сеть или попросить администратора открыть доступ к CDN Playwright."

Шаг 5. Проверить конфиг

Выполни:

cat meta_exporter.yaml
python - <<'PY'
import yaml
from pathlib import Path

path = Path("meta_exporter.yaml")
try:
    data = yaml.safe_load(path.read_text(encoding="utf-8"))
    print("config type:", type(data).__name__)
    print("mode:", data.get("mode"))
    print("browser.type:", data.get("browser", {}).get("type"))
    print("browser.path_to_exe:", data.get("browser", {}).get("path_to_exe"))
    print("meta_urls_file:", data.get("meta_urls_file"))
    print("output_dir:", data.get("output_dir"))
    print("temp_html_dir:", data.get("temp_html_dir"))
except Exception as e:
    print("config ERROR:", type(e).__name__, e)
PY

Проверь:
- mode должен быть "browser";
- browser.type сейчас должен быть "chromium";
- browser.path_to_exe может быть пустым;
- meta_urls_file должен указывать на meta_urls.txt;
- output_dir должен быть output;
- temp_html_dir должен быть temp_html.

Если конфиг неправильный — остановись и напиши:
- какое поле неправильное;
- какое значение сейчас;
- какое значение должно быть.

Шаг 6. Проверить meta_urls.txt

Выполни:

cat meta_urls.txt

Проверь, что есть хотя бы одна строка с URL, начинающаяся на https://.

Если ссылок нет — остановись и напиши:
"В meta_urls.txt нет рабочих ссылок META."
Покажи пример корректной строки:

SberGeo Functional Subsystem - https://meta.sberbank.ru/meta/earp/functionalSubsystem/236500

Шаг 7. Проверить синтаксис проекта

Выполни:

python -m py_compile run_exporter.py scripts/config_loader.py scripts/scrape_meta.py scripts/html_to_markdown.py scripts/markdown_writer.py

Если есть ошибка синтаксиса — остановись и напиши:
- файл;
- строку;
- текст ошибки;
- что именно сломано.

Шаг 8. Пробный запуск проекта

Если все предыдущие шаги успешны, выполни:

python run_exporter.py

Если проект успешно завершился — напиши:
- сколько страниц выгружено;
- какие файлы появились в output;
- какие HTML появились в temp_html;
- покажи команду:

find output -maxdepth 2 -type f -print
find temp_html -maxdepth 2 -type f -print

Если проект упал — остановись и сделай отчёт:
- на каком шаге упал;
- полная ошибка;
- точная причина;
- чего не хватает;
- что нужно сделать вручную;
- нужно ли менять код или проблема только в окружении.

Шаг 9. Итоговый отчёт

В конце обязательно дай отчёт в таком формате:

# Диагностика adt-markdownify-meta

## 1. Директория проекта
Статус:
Команда:
Вывод:
Итог:

## 2. Файлы проекта
Статус:
Чего не хватает:

## 3. Python и venv
Статус:
Версия Python:
Версия pip:
Путь к python:

## 4. Зависимости
Статус:
yaml:
markdownify:
playwright:

## 5. Playwright / Chromium
Статус:
Playwright установлен:
Chromium скачан:
Минимальный тест Chromium:
Причина ошибки, если есть:

## 6. Конфиг
Статус:
mode:
browser.type:
browser.path_to_exe:
meta_urls_file:
output_dir:
temp_html_dir:

## 7. meta_urls.txt
Статус:
Количество ссылок:
Первая ссылка:

## 8. Синтаксис
Статус:
Ошибки:

## 9. Запуск проекта
Статус:
Что произошло:
Если упал — точная причина:

## 10. Что нужно сделать дальше
Дай максимум 5 конкретных действий.

Главное:
Если проблема только в том, что Chromium для Playwright не скачан, прямо напиши:
"Код проекта менять не нужно. Нужно установить браузер Chromium для Playwright."