From 5b66fbf1050f19cae1e268e4cbfe49787809a902 Mon Sep 17 00:00:00 2001
From: Bryan Brancotte <bryan.brancotte@pasteur.fr>
Date: Mon, 30 Oct 2023 18:12:33 +0100
Subject: [PATCH] move filename to path in a methode of InitTableNameModel

---
 jass/models/phenotype.py | 6 ++++++
 jass/server.py           | 4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/jass/models/phenotype.py b/jass/models/phenotype.py
index f3fbcaae..b19bb5d7 100644
--- a/jass/models/phenotype.py
+++ b/jass/models/phenotype.py
@@ -1,10 +1,13 @@
 # coding: utf-8
 from typing import List, Optional
 
+import os
 import pandas
 import re
 from pydantic import BaseModel, validator
 
+from jass.config import config
+
 
 class Phenotype(BaseModel):
     """
@@ -85,5 +88,8 @@ class InitTableNameModel(BaseModel):
             raise ValueError(f"Prohibited char, only \"{_initTableNamePattern.pattern}\" allowed.")
         return value
 
+    def get_init_table_path(self):
+        return os.path.join(config["DATA_DIR"], self.initTableName)
+
 class PhenotypeIdList(InitTableNameModel, BaseModel):
     phenotypeID: List[str] = []
diff --git a/jass/server.py b/jass/server.py
index 2b6cbb58..66aa31e3 100644
--- a/jass/server.py
+++ b/jass/server.py
@@ -56,14 +56,14 @@ async def read_index():
 def phenotypes_list(init_table_name: InitTableNameModel):
     """List phenotypes"""
     try:
-        return get_available_phenotypes(os.path.join(config["DATA_DIR"], init_table_name.initTableName))
+        return get_available_phenotypes(init_table_name.get_init_table_path())
     except FileNotFoundError as e:  # initTable does not exists
         raise HTTPException(status_code=404, detail=str(e))
 
 @app.post("/api/initmeta")
 def inittable_meta(init_table_name: InitTableNameModel):
     """Number of phenotype and SNPs"""
-    return get_inittable_meta(os.path.join(config["DATA_DIR"], "initTable.hdf5"))
+    return get_inittable_meta(init_table_name.get_init_table_path())
 
 
 @app.post("/api/projects", response_model=GlobalProject)
-- 
GitLab