This commit is contained in:
@@ -86,7 +86,57 @@ site/ # Flask-приложение
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Переменные окружения (для Штурвала)
|
## Результат рефакторинга (2026-07-12)
|
||||||
|
|
||||||
|
### Итоговая структура
|
||||||
|
|
||||||
|
```
|
||||||
|
drhider/ # Пакет ядра обфускации
|
||||||
|
├── __init__.py # re-export: obfuscate_files, LLMClient, TwoPassObfuscator
|
||||||
|
├── config.py # Константы: ENTITY_PATTERNS, словари имён/городов/улиц
|
||||||
|
├── checksum.py # Контрольные суммы: ИНН10, ИНН12, ОГРН
|
||||||
|
├── random_utils.py # Утилиты: random_digits, random_letters
|
||||||
|
├── llm_client.py # LLMClient — HTTP-клиент к LLM API
|
||||||
|
├── extractor.py # Извлечение текста + expand_zips + convert_pdfs_to_docx
|
||||||
|
├── scanner.py # Проход 1: scan_regex, scan_llm_ner
|
||||||
|
├── replacer.py # Проход 2: apply_replacements, replace_in_docx, replace_in_text
|
||||||
|
├── builder.py # Сборка: build_zip, build_mapping_csv
|
||||||
|
├── obfuscator.py # TwoPassObfuscator — оркестратор
|
||||||
|
└── generators/ # Генераторы фиктивных значений
|
||||||
|
├── __init__.py # ENTITY_GENERATORS маппинг
|
||||||
|
├── phone.py, email.py # Телефон, email
|
||||||
|
├── inn.py, ogrn.py, kpp.py # ИНН, ОГРН, КПП
|
||||||
|
├── bik.py, accounts.py # БИК, счета (р/с, к/с)
|
||||||
|
├── passport.py # Паспорт
|
||||||
|
├── company.py, person.py # Компания, ФИО
|
||||||
|
└── address.py # Адрес
|
||||||
|
|
||||||
|
site/ # Flask-приложение
|
||||||
|
├── app.py # create_app() + VERSION (20 строк)
|
||||||
|
├── routes/
|
||||||
|
│ ├── __init__.py # register_routes()
|
||||||
|
│ ├── main_bp.py # GET /
|
||||||
|
│ ├── health_bp.py # GET /health
|
||||||
|
│ └── api_bp.py # POST /api/drhider
|
||||||
|
├── templates/index.html
|
||||||
|
└── static/favicon.svg
|
||||||
|
```
|
||||||
|
|
||||||
|
### Что изменилось
|
||||||
|
|
||||||
|
| Было | Стало |
|
||||||
|
|---|---|
|
||||||
|
| `drhider.py` — 560 строк монолит | Пакет `drhider/` — 22 модуля по 20–100 строк |
|
||||||
|
| `site/app.py` — 100 строк (всё в одном файле) | `app.py` 33 строки + 3 blueprint'а по 20–50 строк |
|
||||||
|
| `Dockerfile` | Удалён (Штурвал сам) |
|
||||||
|
| `drhider_server.py` | Удалён (Flask заменяет) |
|
||||||
|
|
||||||
|
### Коммиты
|
||||||
|
|
||||||
|
- `a2f754a` — Фаза 1: удалён Dockerfile, drhider_server.py, gunicorn
|
||||||
|
- `37581eb` — Фаза 2: config.py, checksum.py, random_utils.py, generators/
|
||||||
|
- `2cf4e08` — Фаза 2: llm_client.py, extractor.py, scanner.py, replacer.py, builder.py, obfuscator.py
|
||||||
|
- `51bc1a7` — Фаза 2: site/app.py → blueprint'ы, старый drhider.py удалён
|
||||||
|
|
||||||
| Переменная | Значение |
|
| Переменная | Значение |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
|||||||
Reference in New Issue
Block a user