21 lines
637 B
Python
21 lines
637 B
Python
from dataclasses import is_dataclass
|
|
|
|
from components.datagrid_new.db_management import DataGridDbManager
|
|
|
|
|
|
class DataHelper:
|
|
@staticmethod
|
|
def get(session, settings_manager, repository_name, table_name, object_type=None):
|
|
key = repository_name, table_name
|
|
datagrid_db = DataGridDbManager(session, settings_manager, key)
|
|
dataframe = datagrid_db.load_dataframe()
|
|
|
|
if object_type:
|
|
if is_dataclass(object_type):
|
|
return [object_type(**row) for row in dataframe.to_dict(orient="records")]
|
|
else:
|
|
raise ValueError("object_type must be a dataclass type")
|
|
|
|
else:
|
|
return dataframe
|