5
5
from typing import Optional
6
6
7
7
import pandas as pd
8
- import pymonetdb
9
8
import requests
10
9
from flwr .common .logger import FLOWER_LOGGER
11
10
from pydantic import BaseModel
@@ -29,37 +28,30 @@ class Inputdata(BaseModel):
29
28
x : Optional [List [str ]]
30
29
31
30
32
- def fetch_data (data_model , datasets , from_db = False ) -> pd .DataFrame :
33
- return (
34
- _fetch_data_from_db (data_model , datasets )
35
- if from_db
36
- else _fetch_data_from_csv (data_model , datasets )
37
- )
31
+ def fetch_client_data (inputdata ) -> pd .DataFrame :
32
+ FLOWER_LOGGER .error (f"BROOO { os .getenv ('CSV_PATHS' )} " )
33
+ dataframes = [
34
+ pd .read_csv (f"{ os .getenv ('DATA_PATH' )} { csv_path } " )
35
+ for csv_path in os .getenv ("CSV_PATHS" ).split ("," )
36
+ ]
37
+ df = pd .concat (dataframes , ignore_index = True )
38
+ df = df [df ["dataset" ].isin (inputdata .datasets )]
39
+ return df [inputdata .x + inputdata .y ]
38
40
39
41
40
- def _fetch_data_from_db (data_model , datasets ) -> pd .DataFrame :
41
- query = f'SELECT * FROM "{ data_model } "."primary_data"'
42
- conn = pymonetdb .connect (
43
- hostname = os .getenv ("MONETDB_IP" ),
44
- port = int (os .getenv ("MONETDB_PORT" )),
45
- username = os .getenv ("MONETDB_USERNAME" ),
46
- password = os .getenv ("MONETDB_PASSWORD" ),
47
- database = os .getenv ("MONETDB_DB" ),
42
+ def fetch_server_data (inputdata ) -> pd .DataFrame :
43
+ data_folder = Path (
44
+ f"{ os .getenv ('DATA_PATH' )} /{ inputdata .data_model .split (':' )[0 ]} _v_0_1"
48
45
)
49
- df = pd .read_sql (query , conn )
50
- conn .close ()
51
- df = df [df ["dataset" ].isin (datasets )]
52
- return df
53
-
54
-
55
- def _fetch_data_from_csv (data_model , datasets ) -> pd .DataFrame :
56
- data_folder = Path (f"{ os .getenv ('DATA_PATH' )} /{ data_model .split (':' )[0 ]} _v_0_1" )
46
+ print (f"Loading data from folder: { data_folder } " )
57
47
dataframes = [
58
48
pd .read_csv (data_folder / f"{ dataset } .csv" )
59
- for dataset in datasets
49
+ for dataset in inputdata . datasets
60
50
if (data_folder / f"{ dataset } .csv" ).exists ()
61
51
]
62
- return pd .concat (dataframes , ignore_index = True )
52
+ df = pd .concat (dataframes , ignore_index = True )
53
+ df = df [df ["dataset" ].isin (inputdata .datasets )]
54
+ return df [inputdata .x + inputdata .y ]
63
55
64
56
65
57
def preprocess_data (inputdata , full_data ):
0 commit comments