LeroyProtoLIB — инвентарь url_entityes/ и tests/¶
Раздел 4a документации LeroyProtoLIB (см.
01-families-map.md). Составлен агентом-документатором 2026-07-24. Он же дописал докстринги/TODO(АУДИТ) в 6 файлов (перечень в §4).
1. url_entityes — состав и потребители¶
96 .py = 93 сгенерированных dprotoid_<N>.py (по одному датаклассу
DPROTOID_<N> — дефолты параметров прототипа N, генератор
allDataclassGenerator.py → protopar_generator.py) + 2 генератора +
dprotoid_plus.py; плюс Антресоли.md (габариты антресолей MONO-1…TRIO-6).
Формат строки: field: float = default # рандомизатор русское описание.
Главный потребитель — url_data_reader.py: импортирует 59 модулей, держит
реестр {ProtoID: DPROTOID_*} (строки 494+).
| ProtoID | Изделие | Потребители | Примечание |
|---|---|---|---|
| 304–307 | LM шкафы купе МИНИ/ДУО-Л/ДУО-П/ТРИО | url_data_reader | |
| 308–310, 312–315 | Корпуса LM, ниши, вешалки | сироты | вложенные узлы, из макросов |
| 311 | Терминал угловой завершающий | url_data_reader | |
| 316–326 | Базовые корпуса MONO-1…TRIO-6, цоколь РШ | сироты | |
| 327 | РШ MONO-1 (оракул) | url_data_reader; SParamProtoLib (P_CabMONO_1/2, P_CabDUO_2 — _read_proto_params: дефолты 327 + оверлей mProto, общий бутстрап и для 463/464/465); tests/compare_protos.py; test_characterization_proto327.py |
самый нагруженный файл |
| 328–336 | РШ MONO-2, DUO-2…4, TRIO-3…6 | url_data_reader | 329 = РШ DUO-2 |
| 337 | РШ распашной Ниша Ящики | сирота | |
| 338, 339 | ГК Корпус / ГК Дверная система | url_data_reader | |
| 383, 384 | РШ TRIO-3 опытный, Базовый корпус ГК | сироты | экспериментальные |
| 400–409 | РШ Антресоли MONO-1…TRIO-6 | url_data_reader | |
| 410–421 | корпуса антресолей (h 400–1200, не сверено с БД) | сироты | |
| 422–425 | РШ Комоды MONO-1/DUO-2Л/DUO-2П/TRIO-3 | url_data_reader | 426 файла НЕТ, хотя тест есть |
| 427–435 | РШ Обувницы, Тумбы DUO, Панели (зеркало/крючки) | url_data_reader | |
| 438–448 | РШ СУ (санузел) MONO-1/2, DUO-2 | url_data_reader | |
| 451 | Ящик BOYARD СТАРТ | сирота | user_build/boxes/BoxBoyard.py:33 держит inline-копию DPROTOID_451 — два источника |
| 452, 454–460 | РШ Панель вешалки; Тумбы MONO/DUO | url_data_reader | |
| allDataclassGenerator.py | драйвер генерации (список tProtoID) | вручную из K3 | нужен Dbaccess.mProto |
| protopar_generator.py | генератор текста датаклассов | allDataclassGenerator, url_data_reader | только из K3 |
Сирот всего 35 (308–310, 312–326, 337, 383, 384, 410–421, 451, dprotoid_plus).
2. dprotoid_plus.py (~1993 строки) — МЁРТВЫЙ¶
Сводный исторический файл: 24 датакласса в одном модуле (304–307, 327–330,
332–336, 338, 339, 402–409, 422) — предшественник пофайловой раскладки.
Странности: никем не импортируется; нет from dataclasses import dataclass
(импорт упал бы NameError → мёртв давно); пропущен DPROTOID_331 (DUO-3
правый); но его продолжали править в git (LM-44362, март 2026) — дубли
расходятся с пофайловыми (напр. colorcmmater 327: 22390 в plus vs 23352 в
dprotoid_327.py). Кандидат на удаление.
3. tests/ — группировка¶
69 .py + данные (147.obj JSON заказа ~590КБ; TermimalTEst.json). Это не
pytest: ни маркеров k3, ни сокета 9000 — все test_* запускаются ИЗНУТРИ K3
через main().
- Снапшоты параметров (62 файла)
protoid_304…460.py— сгенерированные_allTestsGenerator.pyфункцииprotoid_NNN() -> dict(дефолты +proto_id), вход дляurl_data_reader.main. Чистые данные (кромеprotoid_410.py— рукописный, тянетimport k3). Докстринг каждого —protoinfo(ProtoID→имя→макрос).test_LMподключает 304–433; 434–460 сгенерированы, не используются. - Прогонные скрипты (живой K3):
test_LM.py— главный (test_protoid(*ids)строит шкафы через url_data_reader;test_URLread(*коды)— по реальным URL-кодам detalidsp.ru);test_LM_pivot_duo3.py— 4 рандомных DUO-3 правых (331);test_terminal.py— терминал 311 + DUO-4 + антресоль 405. - Инфраструктура:
common_params.py(шаблон заказа RASPASH,param_randomize(), цвета LM/Столплит, import k3);urlreallist.py(LISTURL реальных кодов заказов);protopar_generator.py+_allTestsGenerator.py(генераторы, нужен K3).
Баг (помечен TODO): test_LM.py:23 импортирует protoid_423/424/425 как
МОДУЛИ, но FUNCTIONS['protoid_423'][0]() ждёт функцию → TypeError: module is
not callable для pid 423–425.
4. Внесённые правки (6 файлов, py_compile OK, не закоммичено на момент отчёта)¶
url_entityes/dprotoid_plus.py— докстринг + TODO(АУДИТ): сирота, NameError, пропущен 331, дубли расходятся.url_entityes/dprotoid_451.py— TODO(АУДИТ): дубль класса в BoxBoyard.py.tests/protoid_304plus.py— TODO(АУДИТ): пустой артефакт, на удаление.tests/protoid_410.py— TODO(АУДИТ): рукописный, отключён в test_LM.tests/test_LM.py— TODO(АУДИТ): баг «модуль вместо функции» 423–425.tests/test_LM_pivot_duo3.py— заголовочный докстринг.
Прочее для сводки¶
- Имя каталога
url_entityes— опечатка (entities). dprotoid_426.pyотсутствует при существующем тестеprotoid_426.py(426 = «Базовый корпус Парамкаталога»).- В
url_entityesнет__init__.py(namespace-пакет).