Изменение сканирования подсети и точек доступа wi-fi в связи с последними изменениями на сервере

This commit is contained in:
parent 990a7594fc
commit f0d5481dfe
4 changed files with 188 additions and 501 deletions

View file

@ -7,18 +7,22 @@ from services.wifi_service import WifiService
from services.connect_service import WifiConnectionService
from utils.i18n import get_translations, _
from babel.support import Translations
import logging
router = APIRouter()
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
@router.post("/devices", response_model=SubnetScanResult)
def scan_subnet(request: SubnetScanRequest = Body(...), translations: Translations = Depends(get_translations("api_v1"))):
"""Сканирует локальную подсеть и возвращает данные об устройствах.
Выполняет сканирование указанной подсети для обнаружения активных устройств
с возможностью проверки указанных портов.
Выполняет сканирование указанной подсети для обнаружения активных устройств.
Args:
request (SubnetScanRequest): Объект с полями subnet и ports.
request (SubnetScanRequest): Объект с полем subnet.
translations: Объект переводов для текущего языка.
Returns:
@ -29,10 +33,15 @@ def scan_subnet(request: SubnetScanRequest = Body(...), translations: Translatio
"""
try:
subnet_service = SubnetService()
subnet = request.subnet or "192.168.1.0/24"
# Если subnet пустая строка, определяем автоматически
subnet = request.subnet.strip() if request.subnet else None
logger.info(f"Requested subnet scan for: {subnet or 'auto-detected'}")
result = subnet_service.scan_subnet(subnet)
if not result.devices:
logger.warning(f"No devices found in subnet {subnet or 'auto-detected'}")
return result
except Exception as e:
logger.error(f"Error in scan_subnet: {str(e)}")
raise HTTPException(status_code=500, detail=translations.gettext("Ошибка сканирования: {error}").format(error=str(e)))
@router.get("/wifi", response_model=WifiScanResult)