Spaces:
Sleeping
Sleeping
Debugging...
Browse files- api/routers/kpis.py +4 -7
- api/services/dataset_service.py +14 -5
api/routers/kpis.py
CHANGED
|
@@ -6,19 +6,16 @@ from pathlib import Path
|
|
| 6 |
|
| 7 |
router = APIRouter()
|
| 8 |
|
| 9 |
-
|
| 10 |
-
REAL_DATA_PATH = Path("/data") / "kpis_export.json"
|
| 11 |
LOGS_PATH = Path("/data") / "trace.log"
|
| 12 |
|
| 13 |
@router.get("/")
|
| 14 |
def get_all_kpis():
|
| 15 |
-
if not
|
| 16 |
dataset_service.extract_kpis()
|
| 17 |
|
| 18 |
-
with open(
|
| 19 |
KPI_DATA = json.load(f)
|
| 20 |
-
with open(REAL_DATA_PATH, "w", encoding="utf-8") as f:
|
| 21 |
-
json.dump(KPI_DATA, f, ensure_ascii=False, indent=2)
|
| 22 |
|
| 23 |
return KPI_DATA
|
| 24 |
|
|
@@ -26,7 +23,7 @@ def get_all_kpis():
|
|
| 26 |
def update_and_fetch_all_kpis():
|
| 27 |
dataset_service.extract_kpis()
|
| 28 |
|
| 29 |
-
with open(
|
| 30 |
KPI_DATA = json.load(f)
|
| 31 |
|
| 32 |
return KPI_DATA
|
|
|
|
| 6 |
|
| 7 |
router = APIRouter()
|
| 8 |
|
| 9 |
+
DATA_PATH = Path("/data") / "kpis_export.json"
|
|
|
|
| 10 |
LOGS_PATH = Path("/data") / "trace.log"
|
| 11 |
|
| 12 |
@router.get("/")
|
| 13 |
def get_all_kpis():
|
| 14 |
+
if not DATA_PATH.exists():
|
| 15 |
dataset_service.extract_kpis()
|
| 16 |
|
| 17 |
+
with open(DATA_PATH, "r", encoding="utf-8") as f:
|
| 18 |
KPI_DATA = json.load(f)
|
|
|
|
|
|
|
| 19 |
|
| 20 |
return KPI_DATA
|
| 21 |
|
|
|
|
| 23 |
def update_and_fetch_all_kpis():
|
| 24 |
dataset_service.extract_kpis()
|
| 25 |
|
| 26 |
+
with open(DATA_PATH, "r", encoding="utf-8") as f:
|
| 27 |
KPI_DATA = json.load(f)
|
| 28 |
|
| 29 |
return KPI_DATA
|
api/services/dataset_service.py
CHANGED
|
@@ -11,7 +11,8 @@ from plotly.subplots import make_subplots
|
|
| 11 |
import json
|
| 12 |
import warnings
|
| 13 |
import os
|
| 14 |
-
from time import perf_counter
|
|
|
|
| 15 |
from pathlib import Path
|
| 16 |
|
| 17 |
warnings.filterwarnings("ignore")
|
|
@@ -19,10 +20,10 @@ warnings.filterwarnings("ignore")
|
|
| 19 |
from pathlib import Path
|
| 20 |
import json
|
| 21 |
|
|
|
|
| 22 |
# Config Section
|
| 23 |
DATA_PATH = Path("/data")
|
| 24 |
|
| 25 |
-
DATASET_PATH = DATA_PATH / "medical_dataset_3M.csv"
|
| 26 |
KPIS_PATH = DATA_PATH / "kpis_export.json"
|
| 27 |
MOCK_KPIS_PATH = DATA_PATH / "kpis_export_mock.json"
|
| 28 |
LOG_PATH = DATA_PATH / "trace.log"
|
|
@@ -54,7 +55,7 @@ def time_lapse(display=True):
|
|
| 54 |
|
| 55 |
def log(message):
|
| 56 |
with open(LOG_PATH, "a", encoding="utf-8") as logger:
|
| 57 |
-
logger.
|
| 58 |
|
| 59 |
def extract_kpis():
|
| 60 |
|
|
@@ -96,8 +97,16 @@ def extract_kpis():
|
|
| 96 |
print("Chargement du fichier...")
|
| 97 |
log("Chargement de la dataset...")
|
| 98 |
|
| 99 |
-
with open(
|
| 100 |
-
json.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
|
| 102 |
return 0
|
| 103 |
|
|
|
|
| 11 |
import json
|
| 12 |
import warnings
|
| 13 |
import os
|
| 14 |
+
from time import perf_counter, sleep
|
| 15 |
+
from datetime import datetime
|
| 16 |
from pathlib import Path
|
| 17 |
|
| 18 |
warnings.filterwarnings("ignore")
|
|
|
|
| 20 |
from pathlib import Path
|
| 21 |
import json
|
| 22 |
|
| 23 |
+
DATASET_PATH = "hf://datasets/ryanxely/medical_dataset_3M/medical_dataset.csv"
|
| 24 |
# Config Section
|
| 25 |
DATA_PATH = Path("/data")
|
| 26 |
|
|
|
|
| 27 |
KPIS_PATH = DATA_PATH / "kpis_export.json"
|
| 28 |
MOCK_KPIS_PATH = DATA_PATH / "kpis_export_mock.json"
|
| 29 |
LOG_PATH = DATA_PATH / "trace.log"
|
|
|
|
| 55 |
|
| 56 |
def log(message):
|
| 57 |
with open(LOG_PATH, "a", encoding="utf-8") as logger:
|
| 58 |
+
logger.writelines([f"[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] : {message}"])
|
| 59 |
|
| 60 |
def extract_kpis():
|
| 61 |
|
|
|
|
| 97 |
print("Chargement du fichier...")
|
| 98 |
log("Chargement de la dataset...")
|
| 99 |
|
| 100 |
+
with open(KPIS_PATH, "r", encoding="utf-8") as f:
|
| 101 |
+
data = json.load(f)
|
| 102 |
+
|
| 103 |
+
sleep(1)
|
| 104 |
+
|
| 105 |
+
data["last_update"] = datetime.now()
|
| 106 |
+
data["last_update_duration"] = time_lapse()
|
| 107 |
+
|
| 108 |
+
with open(KPIS_PATH, "w", encoding="utf-8") as f:
|
| 109 |
+
json.dump(data, f, ensure_ascii=False, indent=2)
|
| 110 |
|
| 111 |
return 0
|
| 112 |
|