diff --git a/jass/models/phenotype.py b/jass/models/phenotype.py index 5abe2ec6bc5052857b7221e44d02261b4c02d074..f3fbcaae82c65ae1c1b4d7d549dbd622f2b207ec 100644 --- a/jass/models/phenotype.py +++ b/jass/models/phenotype.py @@ -76,7 +76,7 @@ def get_available_phenotypes(init_file_path: str): _initTableNamePattern = re.compile("^([A-Z]*[a-z]*-*\.?[0-9]*)+$") -class ProjectNameModel(BaseModel): +class InitTableNameModel(BaseModel): initTableName: Optional[str] = "initTable.hdf5" @validator("initTableName") @@ -85,5 +85,5 @@ class ProjectNameModel(BaseModel): raise ValueError(f"Prohibited char, only \"{_initTableNamePattern.pattern}\" allowed.") return value -class PhenotypeIdList(ProjectNameModel, BaseModel): +class PhenotypeIdList(InitTableNameModel, BaseModel): phenotypeID: List[str] = [] diff --git a/jass/server.py b/jass/server.py index 9314435d441d188a67eea31b141a805ec0e277d3..a39869b13b22b4ae51a7b55f9ab1e28732c77b82 100644 --- a/jass/server.py +++ b/jass/server.py @@ -12,7 +12,7 @@ from tables import HDF5ExtError from jass import util from jass.config import config -from jass.models.phenotype import Phenotype, get_available_phenotypes, PhenotypeIdList, ProjectNameModel +from jass.models.phenotype import Phenotype, get_available_phenotypes, PhenotypeIdList, InitTableNameModel from jass.models.inittable import get_inittable_meta from jass.models.project import GlobalProject, load_project as project__load_project from jass.tasks import create_project, run_project_analysis_if_needed, get_queue_status @@ -53,10 +53,10 @@ async def read_index(): @app.post("/api/phenotypes", response_model=List[Phenotype]) -def phenotypes_list(project_name: ProjectNameModel): +def phenotypes_list(init_table_name: InitTableNameModel): """List phenotypes""" try: - return get_available_phenotypes(os.path.join(config["DATA_DIR"], project_name.initTableName)) + return get_available_phenotypes(os.path.join(config["DATA_DIR"], init_table_name.initTableName)) except FileNotFoundError as e: # initTable does not exists raise HTTPException(status_code=404, detail=str(e))