backend/tests: 6 проверок парсера ППТ ждут PDF-образец, которого нет ни у кого — нужен файл от Anton #2778

Open
opened 2026-08-07 08:55:58 +00:00 by bot-backend · 0 comments
Collaborator

Из разбора пропусков backend/tests/skip_allowlist.txt, секция «Образцы, которых нет в git» (8 записей). Половина закрыта в PR #2781, эта issue — про оставшиеся 6.

Что именно нужно

Файл ppt2018_22823_poyasnit_PPT.pdf — пояснительная записка ППТ, проект планировки № 22823
Куда положить backend/tests/fixtures/ (как в tradein-mvp/backend/tests/fixtures/*.html) + поправить _REAL_PDF_PATH в тесте
Кто может дать Anton. Файл был на старом дев-боксе (в коде остался след windows-пути C:/Users/user/source/repos/...), больше нигде
Что оживёт TestParsePptTepRealPdf — 6 тестов: test_zone_balance_has_rows, ..._has_itogo, test_tep_has_rows, test_phasing_has_rows, ..._has_area, test_raw_tables_not_empty

Где искали (файла нет)

  • <repo>/.playwright-mcp/ — каталога в репозитории нет вовсе;
  • весь /Users/anton до 6 уровней — каталогов .playwright-mcp шесть, ни в одном нет ekb-docs/;
  • прод-VPS: find / -xdev по имени файла и по каталогу ekb-docs — пусто;
  • прод-БД: ekb_ppt_tep0 строк (см. ниже, почему).

Причин НЕ коммитить не нашлось

  • Персональные данные — нет. Пояснительная записка ППТ это официальный градостроительный документ: зоны, площади, ТЭП, очередность. Физлиц в целевых таблицах 11/12/13 нет.
  • Лицензия — официальные документы органов власти не объект авторского права (ст. 1259 п. 6 ГК РФ).
  • Размер — единственное, что стоит проверить при получении файла. Хук check for added large files в pre-commit ставит потолок; если PDF окажется тяжёлым, режем до нужных страниц (парсеру важны только Табл. 11/12/13).

То есть блокер ровно один: файла ни у кого нет. Придумывать образец нельзя — 6 тестов проверяют извлечение таблиц из НАСТОЯЩЕГО PDF через pdfplumber; соседний класс TestParsePptTep уже мокает pdfplumber целиком, и повторять его смысла нет.

Попутная находка: у парсера нет и прод-питания

backend/app/workers/tasks/ekb_ppt_tep_sync.py:42 — единственный seed-документ задан так:

"url": "# VERIFY URL: https://gisogd.ekburg.ru/documents/ppt/22823/poyasnit_PPT.pdf",

URL начинается с # VERIFY → таск логирует WARNING и пропускает документ. Отсюда и ekb_ppt_tep = 0 на проде.

То есть тот же самый файл закрывает обе дыры: тесты начинают исполняться, и у ingest'а появляется проверенный URL (acceptance #1136). Если файл найдётся не как PDF на диске, а как рабочая ссылка на gisogd.ekburg.ru — этого достаточно и для того, и для другого.

Что нужно от Anton

Одно из двух:

  1. сам PDF (или его страницы с Табл. 11/12/13), либо
  2. рабочий прямой URL пояснительной записки ППТ 22823 на ГИСОГД ЕКБ.

До тех пор 6 строк остаются в skip_allowlist.txt — и это честный долг, а не норма.

Из разбора пропусков `backend/tests/skip_allowlist.txt`, секция «Образцы, которых нет в git» (8 записей). Половина закрыта в PR #2781, эта issue — про оставшиеся 6. ## Что именно нужно | | | |---|---| | **Файл** | `ppt2018_22823_poyasnit_PPT.pdf` — пояснительная записка ППТ, проект планировки № 22823 | | **Куда положить** | `backend/tests/fixtures/` (как в `tradein-mvp/backend/tests/fixtures/*.html`) + поправить `_REAL_PDF_PATH` в тесте | | **Кто может дать** | Anton. Файл был на старом дев-боксе (в коде остался след windows-пути `C:/Users/user/source/repos/...`), больше нигде | | **Что оживёт** | `TestParsePptTepRealPdf` — 6 тестов: `test_zone_balance_has_rows`, `..._has_itogo`, `test_tep_has_rows`, `test_phasing_has_rows`, `..._has_area`, `test_raw_tables_not_empty` | ## Где искали (файла нет) - `<repo>/.playwright-mcp/` — каталога в репозитории нет вовсе; - весь `/Users/anton` до 6 уровней — каталогов `.playwright-mcp` шесть, ни в одном нет `ekb-docs/`; - прод-VPS: `find / -xdev` по имени файла и по каталогу `ekb-docs` — пусто; - прод-БД: `ekb_ppt_tep` — **0 строк** (см. ниже, почему). ## Причин НЕ коммитить не нашлось - **Персональные данные** — нет. Пояснительная записка ППТ это официальный градостроительный документ: зоны, площади, ТЭП, очередность. Физлиц в целевых таблицах 11/12/13 нет. - **Лицензия** — официальные документы органов власти не объект авторского права (ст. 1259 п. 6 ГК РФ). - **Размер** — единственное, что стоит проверить при получении файла. Хук `check for added large files` в pre-commit ставит потолок; если PDF окажется тяжёлым, режем до нужных страниц (парсеру важны только Табл. 11/12/13). То есть блокер ровно один: **файла ни у кого нет**. Придумывать образец нельзя — 6 тестов проверяют извлечение таблиц из НАСТОЯЩЕГО PDF через pdfplumber; соседний класс `TestParsePptTep` уже мокает pdfplumber целиком, и повторять его смысла нет. ## Попутная находка: у парсера нет и прод-питания `backend/app/workers/tasks/ekb_ppt_tep_sync.py:42` — единственный seed-документ задан так: ```python "url": "# VERIFY URL: https://gisogd.ekburg.ru/documents/ppt/22823/poyasnit_PPT.pdf", ``` URL начинается с `# VERIFY` → таск логирует WARNING и пропускает документ. Отсюда и `ekb_ppt_tep = 0` на проде. То есть **тот же самый файл** закрывает обе дыры: тесты начинают исполняться, и у ingest'а появляется проверенный URL (acceptance #1136). Если файл найдётся не как PDF на диске, а как рабочая ссылка на gisogd.ekburg.ru — этого достаточно и для того, и для другого. ## Что нужно от Anton Одно из двух: 1. сам PDF (или его страницы с Табл. 11/12/13), **либо** 2. рабочий прямой URL пояснительной записки ППТ 22823 на ГИСОГД ЕКБ. До тех пор 6 строк остаются в `skip_allowlist.txt` — и это честный долг, а не норма.
lekss361 added the
needs-human
priority/p3
scope/qa
site-finder
tech-debt
ИРД
labels 2026-08-16 10:25:20 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2778
No description provided.