[Update] Controller: Validate and handle IP address setting in setOscIpAddress method.

[Update] Utils: Implement isValidIpAddress function to check IP address validity.
This commit is contained in:
misyaguziya
2025-03-22 14:37:05 +09:00
parent 863baddad0
commit 3d53652b2d
2 changed files with 32 additions and 5 deletions

View File

@@ -6,7 +6,7 @@ import re
from device_manager import device_manager
from config import config
from model import model
from utils import removeLog, printLog, errorLogging, isConnectedNetwork
from utils import removeLog, printLog, errorLogging, isConnectedNetwork, isValidIpAddress
class Controller:
def __init__(self) -> None:
@@ -1085,9 +1085,28 @@ class Controller:
@staticmethod
def setOscIpAddress(data, *args, **kwargs) -> dict:
config.OSC_IP_ADDRESS = data
model.setOscIpAddress(config.OSC_IP_ADDRESS)
return {"status":200, "result":config.OSC_IP_ADDRESS}
if isValidIpAddress(data) is False:
return {
"status":400,
"result":{
"message":"Invalid IP address",
"data": config.OSC_IP_ADDRESS
}
}
else:
try:
model.setOscIpAddress(data)
config.OSC_IP_ADDRESS = data
return {"status":200, "result":config.OSC_IP_ADDRESS}
except Exception:
model.setOscIpAddress(config.OSC_IP_ADDRESS)
return {
"status":400,
"result":{
"message":"Cannot set IP address",
"data": config.OSC_IP_ADDRESS
}
}
@staticmethod
def getOscPort(*args, **kwargs) -> dict:

View File

@@ -7,14 +7,22 @@ from logging.handlers import RotatingFileHandler
from ctranslate2 import get_supported_compute_types
import requests
import ipaddress
def isConnectedNetwork(url="http://www.google.com", timeout=3):
def isConnectedNetwork(url="http://www.google.com", timeout=3) -> bool:
try:
response = requests.get(url, timeout=timeout)
return response.status_code == 200
except requests.RequestException:
return False
def isValidIpAddress(ip_address: str) -> bool:
try:
ipaddress.ip_address(ip_address)
return True
except ValueError:
return False
def getBestComputeType(device, device_index) -> str:
compute_types = get_supported_compute_types(device, device_index)
compute_types = set(compute_types)