fixed css

This commit is contained in:
2025-12-20 23:33:47 +03:00
parent 9b7b743319
commit d05344e604
60 changed files with 939 additions and 227 deletions

View File

@@ -39,19 +39,22 @@ class SupersetConfig(BaseModel):
return v
# [/DEF:SupersetConfig.validate_auth]
# [DEF:SupersetConfig.check_base_url_format:Function]
# @PURPOSE: Проверяет, что `base_url` соответствует формату URL и содержит `/api/v1`.
# [DEF:SupersetConfig.normalize_base_url:Function]
# @PURPOSE: Нормализует `base_url`, добавляя `/api/v1`, если он отсутствует.
# @PRE: `v` должна быть строкой.
# @POST: Возвращает очищенный `v`, если формат корректен.
# @POST: Возвращает нормализованный `v`.
# @THROW: ValueError - Если формат URL невалиден.
# @PARAM: v (str) - Значение поля base_url.
@validator('base_url')
def check_base_url_format(cls, v: str) -> str:
def normalize_base_url(cls, v: str) -> str:
v = v.strip()
if not re.fullmatch(r'https?://.+/api/v1/?(?:.*)?', v):
raise ValueError(f"Invalid URL format: {v}. Must include '/api/v1'.")
if not v.startswith(('http://', 'https://')):
raise ValueError(f"Invalid URL scheme: {v}. Must start with http:// or https://")
if '/api/v1' not in v:
v = f"{v.rstrip('/')}/api/v1"
return v
# [/DEF:SupersetConfig.check_base_url_format]
# [/DEF:SupersetConfig.normalize_base_url]
class Config:
arbitrary_types_allowed = True