Steps 1-8: full Flask migration — db, services, blueprints, new app.py, VM_API=''
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
# Step 1: Перенос db/ → app/db/
|
||||||
|
|
||||||
|
**Ветка:** `feature/flask-migration` (submodule + parent)
|
||||||
|
**Дата:** 2026-07-14
|
||||||
|
|
||||||
|
## Что делаем
|
||||||
|
|
||||||
|
Копируем `deploy/db/*.py` → `app/db/`. Менять НИЧЕГО не надо — чистый CRUD.
|
||||||
|
|
||||||
|
## Файлы
|
||||||
|
|
||||||
|
- `deploy/db/connection.py` → `app/db/connection.py` — connection pool
|
||||||
|
- `deploy/db/documents.py` → `app/db/documents.py` — documents CRUD
|
||||||
|
- `deploy/db/contracts.py` → `app/db/contracts.py` — contracts CRUD
|
||||||
|
- `deploy/db/supplements.py` → `app/db/supplements.py` — supplements CRUD
|
||||||
|
- `deploy/db/spec_current.py` → `app/db/spec_current.py` — spec queries
|
||||||
|
- `deploy/db/spec_events.py` → `app/db/spec_events.py` — events CRUD
|
||||||
|
- `deploy/db/prompts.py` → `app/db/prompts.py` — prompts CRUD
|
||||||
|
|
||||||
|
## Проверка
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd contracts-flask
|
||||||
|
python3 -c "from app.db import documents; print('ok')"
|
||||||
|
```
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# Step 2: Перенос compare/ → app/services/
|
||||||
|
|
||||||
|
**Ветка:** `feature/flask-migration`
|
||||||
|
**Дата:** 2026-07-14
|
||||||
|
|
||||||
|
## Что делаем
|
||||||
|
|
||||||
|
Копируем бизнес-логику из `deploy/compare/*.py` → `app/services/`.
|
||||||
|
|
||||||
|
## Переносим (чистая логика, без HTTP)
|
||||||
|
|
||||||
|
- `parse.py` — парсинг PDF/DOCX
|
||||||
|
- `classify.py` — LLM-классификация
|
||||||
|
- `grouping.py` — группировка документов
|
||||||
|
- `llm.py` — вызов LLM для сравнения
|
||||||
|
- `llm_client.py` — протокол + httpx + fake
|
||||||
|
- `metrics.py` — проверка арифметики
|
||||||
|
|
||||||
|
## НЕ переносим (привязаны к HTTP, будут переписаны в blueprints)
|
||||||
|
|
||||||
|
- `upload.py` — использует cgi.FieldStorage
|
||||||
|
- `unzip.py` — читает rfile.read()
|
||||||
|
- `process.py` — SSE через callback
|
||||||
|
|
||||||
|
## Правки импортов
|
||||||
|
|
||||||
|
Было → стало:
|
||||||
|
- `from db import documents` → `from app.db import documents`
|
||||||
|
- `from .parse import parse_file` → `from app.services.parse import parse_file`
|
||||||
|
- `from llm_prompt import ...` → `from app.llm_prompt import ...`
|
||||||
|
- `from .llm_client import ...` → `from app.services.llm_client import ...`
|
||||||
|
- `from .metrics import ...` → `from app.services.metrics import ...`
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Step 3: config.py + все blueprints + новый app.py
|
||||||
|
|
||||||
|
**Ветка:** `feature/flask-migration`
|
||||||
|
**Дата:** 2026-07-14
|
||||||
|
|
||||||
|
## Создаваемые файлы
|
||||||
|
|
||||||
|
- `app/config.py` — настройки
|
||||||
|
- `app/routes/__init__.py` — register_routes()
|
||||||
|
- `app/routes/upload_bp.py` — /upload, /convert-doc, /unzip-upload
|
||||||
|
- `app/routes/pipeline_bp.py` — /process-v2 (SSE), /classify-batch
|
||||||
|
- `app/routes/api_bp.py` — /api/* (groups, documents, supplements, sync, cleanup, spec-current)
|
||||||
|
- `app/routes/prompts_bp.py` — /api/prompts/*
|
||||||
|
- `app/routes/health_bp.py` — /health
|
||||||
|
- `app/routes/pages_bp.py` — /, /architect
|
||||||
|
- `app/services/process.py` — адаптированный process.py (callback → generator)
|
||||||
|
- `app/app.py` — новый (замена старого, без VM-прокси)
|
||||||
+1
-1
Submodule contracts-flask updated: 976e59b496...8f688215cc
Reference in New Issue
Block a user