1616
1717
1818def get_data_providers_project ():
19-
2019 # Return a list of project overviews for a specific data provider
2120 data_provider = data_provider_manager .get_single_data_provider (dataProviderId )
2221
@@ -37,6 +36,17 @@ def get_data_providers_project():
3736 return projects , 200
3837
3938
39+ def _flatten_column (col ):
40+ """Promote metadata.category and metadata.group to the top level of a column."""
41+ flat = dict (col )
42+ metadata = flat .get ("metadata" , {})
43+ if "category" in metadata :
44+ flat ["category" ] = metadata ["category" ]
45+ if "group" in metadata :
46+ flat ["group" ] = metadata ["group" ]
47+ return flat
48+
49+
4050def change_project_v1 (project_info , column_info ):
4151 v1_project_info = {
4252 "id" : project_info ["id" ],
@@ -50,7 +60,7 @@ def change_project_v1(project_info, column_info):
5060 "nbSelections" : project_info ["nbSelections" ],
5161 "nbSamples" : project_info ["nbSamples" ],
5262 },
53- "columns" : column_info ,
63+ "columns" : [ _flatten_column ( c ) for c in column_info ] ,
5464 # "nbModels": project_info["nbModels"],
5565 # "nbSelections": project_info["nbSelections"],
5666 # "nbSamples": project_info["nbSamples"],
@@ -61,6 +71,11 @@ def change_project_v1(project_info, column_info):
6171 # "blockLevelInfo": projectBlockLevel, remove here, keep in the API for python module in V1
6272 }
6373
74+ # Include resultStructure only when it is defined
75+ result_structure = project_info .get ("resultStructure" )
76+ if result_structure is not None :
77+ v1_project_info ["resultStructure" ] = result_structure
78+
6479 return v1_project_info
6580
6681
0 commit comments