chore: remove sientia models module and relocate date format validation

- Deleted the sientia/models.py file, which contained the LinearRegressionModel and related functionality.
- Moved the frontend date format validation logic to train_model_params.py, ensuring a single source of truth for date formats.
This commit is contained in:
vitor-aignosi
2026-04-13 10:40:21 -03:00
parent 8765c46b5b
commit 4d761c15ac
2 changed files with 19 additions and 805 deletions

View File

@@ -3,7 +3,25 @@ from typing import Any
from jsonschema import Draft202012Validator, ValidationError # type: ignore[import-untyped]
from model_manager.sientia.models import validate_frontend_date_format
# Allowed frontend date formats and their strftime equivalents (single source of truth)
FRONTEND_DATE_FORMAT_TO_STRFTIME = {
'dd/MM/yyyy HH:mm:ss': '%d/%m/%Y %H:%M:%S',
'MM/dd/yyyy HH:mm:ss': '%m/%d/%Y %H:%M:%S',
'yyyy/MM/dd HH:mm:ss': '%Y/%m/%d %H:%M:%S',
'dd-MM-yyyy HH:mm:ss': '%d-%m-%Y %H:%M:%S',
'MM-dd-yyyy HH:mm:ss': '%m-%d-%Y %H:%M:%S',
'yyyy-MM-dd HH:mm:ss': '%Y-%m-%d %H:%M:%S',
}
ALLOWED_FRONTEND_DATE_FORMATS = frozenset(FRONTEND_DATE_FORMAT_TO_STRFTIME.keys())
def validate_frontend_date_format(fmt: str | None) -> None:
"""Raise ValueError if fmt is set and not one of the allowed frontend date formats."""
if not fmt or not fmt.strip():
return
if fmt not in ALLOWED_FRONTEND_DATE_FORMATS:
allowed = ', '.join(sorted(ALLOWED_FRONTEND_DATE_FORMATS))
raise ValueError(f'Invalid date_format "{fmt}". Allowed formats: {allowed}')
# Model name constants
MODEL_LINEAR_REGRESSION = 'Linear Regression'