refactor: services/ → compare/ + drhider/ (разделение Сверки и Хайдера)
Deploy contracts-flask / validate (push) Successful in 0s
Deploy contracts-flask / validate (push) Successful in 0s
This commit is contained in:
@@ -17,7 +17,7 @@ subprocess.Popen создаёт отдельный питон-процесс с
|
||||
import sys, os
|
||||
sys.path.insert(0, os.path.dirname(__file__))
|
||||
|
||||
from services.classify import classify_batch
|
||||
from compare.classify import classify_batch
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) < 2:
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import os
|
||||
# Ensure deploy/ is on path for imports
|
||||
sys.path.insert(0, os.path.dirname(__file__))
|
||||
|
||||
from services.llm_client import FakeLLMClient
|
||||
from compare.llm_client import FakeLLMClient
|
||||
from repository import MemRepository
|
||||
|
||||
|
||||
|
||||
@@ -46,9 +46,9 @@ except Exception as _db_err:
|
||||
|
||||
# ── Services ──────────────────────────────────────────────────────────────
|
||||
if DB_OK:
|
||||
from services.upload import handle_upload
|
||||
from services.unzip import handle_unzip
|
||||
from services.process import run_pipeline
|
||||
from compare.upload import handle_upload
|
||||
from compare.unzip import handle_unzip
|
||||
from compare.process import run_pipeline
|
||||
from llm_prompt import build_prompt
|
||||
else:
|
||||
handle_upload = handle_unzip = run_pipeline = None
|
||||
@@ -247,7 +247,7 @@ class Handler(BaseHTTPRequestHandler):
|
||||
if not batch_id:
|
||||
self._json({"ok": False, "error": "batch required"}, 400)
|
||||
return
|
||||
from services.grouping import group_documents
|
||||
from compare.grouping import group_documents
|
||||
result = group_documents(batch_id)
|
||||
self._json(result)
|
||||
|
||||
@@ -325,7 +325,7 @@ class Handler(BaseHTTPRequestHandler):
|
||||
if not batch_id:
|
||||
self._json({"ok": False, "error": "batch_id required"}, 400)
|
||||
return
|
||||
from services.grouping import apply_groups
|
||||
from compare.grouping import apply_groups
|
||||
result = apply_groups(batch_id, groups)
|
||||
self._json(result)
|
||||
|
||||
@@ -509,7 +509,7 @@ class Handler(BaseHTTPRequestHandler):
|
||||
# ── /llm-ops (debug) ──────────────────────────────────────────────────
|
||||
|
||||
def _handle_llm_ops(self):
|
||||
from services.llm import call_llm
|
||||
from compare.llm import call_llm
|
||||
length = int(self.headers.get("Content-Length", 0))
|
||||
body = json.loads(self.rfile.read(length))
|
||||
try:
|
||||
|
||||
@@ -156,7 +156,7 @@ def _hash(name, date_start=None):
|
||||
import hashlib
|
||||
key = name.strip().lower()
|
||||
if date_start:
|
||||
from services.metrics import normalize_date
|
||||
from compare.metrics import normalize_date
|
||||
nd = normalize_date(str(date_start))
|
||||
if nd:
|
||||
key += "|" + nd
|
||||
|
||||
+25
-5
@@ -1,21 +1,41 @@
|
||||
#!/bin/bash
|
||||
# Деплой прокси-слоя на ВМ (5.172.178.213)
|
||||
# Запускать из папки contractor/
|
||||
# Запускать из папки contracts-flask/
|
||||
|
||||
VM="naeel@5.172.178.213"
|
||||
SSH_KEY="$HOME/.ssh/naeel_vm_id_ed25519"
|
||||
SSH="ssh -i $SSH_KEY"
|
||||
SCP="scp -i $SSH_KEY"
|
||||
DST="/home/naeel/contracts"
|
||||
|
||||
echo "=== Копирую compare/ ==="
|
||||
$SSH $VM "mkdir -p $DST/compare"
|
||||
$SCP deploy/compare/*.py $VM:$DST/compare/
|
||||
|
||||
echo "=== Копирую drhider/ ==="
|
||||
$SSH $VM "mkdir -p $DST/drhider"
|
||||
$SCP deploy/drhider/*.py $VM:$DST/drhider/
|
||||
|
||||
echo "=== Копирую конвертер .doc ==="
|
||||
$SCP deploy/convert_server.py $VM:/home/naeel/contracts/convert_server.py
|
||||
$SCP deploy/convert_doc.py $VM:/home/naeel/contracts/convert_doc.py
|
||||
$SCP deploy/convert_server.py $VM:$DST/convert_server.py
|
||||
$SCP deploy/convert_doc.py $VM:$DST/convert_doc.py
|
||||
|
||||
echo "=== Перезапуск конвертера ==="
|
||||
$SSH $VM 'pkill -f convert_server.py; sleep 1; nohup python3 /home/naeel/contracts/convert_server.py &>/dev/null &'
|
||||
echo "=== Копирую db/ ==="
|
||||
$SSH $VM "mkdir -p $DST/db"
|
||||
$SCP deploy/db/*.py $VM:$DST/db/
|
||||
|
||||
echo "=== Перезапуск convert_server (systemd) ==="
|
||||
$SSH $VM 'sudo systemctl restart contracts'
|
||||
|
||||
echo "=== Перезапуск drhider_server (systemd) ==="
|
||||
$SSH $VM 'sudo systemctl restart contracts-drhider'
|
||||
|
||||
echo "=== Статус сервисов ==="
|
||||
$SSH $VM 'systemctl is-active contracts contracts-drhider'
|
||||
|
||||
echo "=== Проверка nginx конфига ==="
|
||||
$SSH $VM 'sudo nginx -t 2>&1'
|
||||
|
||||
echo "=== Готово ==="
|
||||
echo "Проверка: curl https://contracts.kube5s.ru/convert-doc"
|
||||
echo "Проверка: curl https://contracts.kube5s.ru/api/drhider"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"""
|
||||
import sys, os, io, zipfile, json, base64
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
from services.drhider import obfuscate_files, TwoPassObfuscator, COMPANY_PATTERN, PERSON_PATTERN
|
||||
from drhider.drhider import obfuscate_files, TwoPassObfuscator, COMPANY_PATTERN, PERSON_PATTERN
|
||||
|
||||
TEST_ZIP = "/home/naeel/nubes/contracts/dogovora/примеры_договоров_для_ИИ.zip"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""Test classify_batch with MemRepository + FakeLLM."""
|
||||
from services.classify import classify_batch
|
||||
from services.llm_client import FakeLLMClient
|
||||
from compare.classify import classify_batch
|
||||
from compare.llm_client import FakeLLMClient
|
||||
from repository import MemRepository
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Unit tests — no DB, no network, just pure logic."""
|
||||
import pytest
|
||||
from contracts import ParseResult, ClassifyResult, GroupingResult, CompareOp
|
||||
from services.upload import parse_multipart
|
||||
from services.classify import _is_garbage_by_filename, _is_garbage_by_header
|
||||
from compare.upload import parse_multipart
|
||||
from compare.classify import _is_garbage_by_filename, _is_garbage_by_header
|
||||
|
||||
|
||||
class TestContracts:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""Unit tests for LLM client and Repository — with fakes."""
|
||||
from services.llm_client import FakeLLMClient
|
||||
from compare.llm_client import FakeLLMClient
|
||||
from repository import MemRepository
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user