Skip to content

Commit 463fe9d

Browse files
authored
Merge pull request #1316 from hkad98/jkd/memory-items
Finalize memory items
2 parents 71ac07c + b7abe0d commit 463fe9d

2 files changed

Lines changed: 21 additions & 3 deletions

File tree

packages/gooddata-sdk/src/gooddata_sdk/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
from gooddata_sdk.catalog.workspace.content_service import CatalogWorkspaceContent, CatalogWorkspaceContentService
164164
from gooddata_sdk.catalog.workspace.declarative_model.workspace.analytics_model.analytics_model import (
165165
CatalogDeclarativeAnalytics,
166+
CatalogDeclarativeMemoryItem,
166167
CatalogDeclarativeMetric,
167168
)
168169
from gooddata_sdk.catalog.workspace.declarative_model.workspace.analytics_model.export_definition import (

packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
LAYOUT_VISUALIZATION_OBJECTS_DIR = "visualization_objects"
5151
ATTRIBUTE_HIERARCHY_OBJECTS_DIR = "attribute_hierarchy_objects"
5252
EXPORT_DEFINITION_DIR = "export_definitions"
53+
MEMORY_ITEMS_DIR = "memory_items"
5354

5455

5556
@attr.s(auto_attribs=True, kw_only=True)
@@ -135,11 +136,17 @@ def get_attribute_hierarchy_folder(analytics_model_folder: Path) -> Path:
135136
return folder
136137

137138
@staticmethod
138-
def get_export_definition_dif(analytics_model_folder: Path) -> Path:
139+
def get_export_definition_folder(analytics_model_folder: Path) -> Path:
139140
folder = analytics_model_folder / EXPORT_DEFINITION_DIR
140141
create_directory(folder)
141142
return folder
142143

144+
@staticmethod
145+
def get_memory_item_folder(analytics_model_folder: Path) -> Path:
146+
folder = analytics_model_folder / MEMORY_ITEMS_DIR
147+
create_directory(folder)
148+
return folder
149+
143150
def store_to_disk(self, workspace_folder: Path, sort: bool = False) -> None:
144151
analytics_model_folder = self.get_analytics_model_folder(workspace_folder)
145152

@@ -150,7 +157,8 @@ def store_to_disk(self, workspace_folder: Path, sort: bool = False) -> None:
150157
metrics_folder = self.get_metrics_folder(analytics_model_folder)
151158
visualization_objects_folder = self.get_visualization_objects_folder(analytics_model_folder)
152159
attribute_hierarchy_folder = self.get_attribute_hierarchy_folder(analytics_model_folder)
153-
export_definition_folder = self.get_export_definition_dif(analytical_dashboards_folder)
160+
export_definition_folder = self.get_export_definition_folder(analytical_dashboards_folder)
161+
memory_item_folder = self.get_memory_item_folder(analytical_dashboards_folder)
154162

155163
for analytical_dashboard in self.analytical_dashboards:
156164
analytical_dashboard.store_to_disk(analytical_dashboards_folder, sort=sort)
@@ -176,6 +184,9 @@ def store_to_disk(self, workspace_folder: Path, sort: bool = False) -> None:
176184
for export_definition in self.export_definitions:
177185
export_definition.store_to_disk(export_definition_folder, sort=sort)
178186

187+
for memory_item in self.memory_items:
188+
memory_item.store_to_disk(memory_item_folder, sort=sort)
189+
179190
@classmethod
180191
def load_from_disk(cls, workspace_folder: Path) -> CatalogDeclarativeAnalyticsLayer:
181192
analytics_model_folder = cls.get_analytics_model_folder(workspace_folder)
@@ -186,7 +197,8 @@ def load_from_disk(cls, workspace_folder: Path) -> CatalogDeclarativeAnalyticsLa
186197
metrics_folder = cls.get_metrics_folder(analytics_model_folder)
187198
visualization_objects_folder = cls.get_visualization_objects_folder(analytics_model_folder)
188199
attribute_hierarchy_folder = cls.get_attribute_hierarchy_folder(analytics_model_folder)
189-
export_definition_folder = cls.get_export_definition_dif(analytical_dashboards_folder)
200+
export_definition_folder = cls.get_export_definition_folder(analytical_dashboards_folder)
201+
memory_item_folder = cls.get_memory_item_folder(analytical_dashboards_folder)
190202

191203
analytical_dashboard_files = get_sorted_yaml_files(analytical_dashboards_folder)
192204
analytical_dashboard_extension_files = get_sorted_yaml_files(analytical_dashboard_extensions_folder)
@@ -196,6 +208,7 @@ def load_from_disk(cls, workspace_folder: Path) -> CatalogDeclarativeAnalyticsLa
196208
visualization_object_files = get_sorted_yaml_files(visualization_objects_folder)
197209
attribute_hierarchy_files = get_sorted_yaml_files(attribute_hierarchy_folder)
198210
export_definition_files = get_sorted_yaml_files(export_definition_folder)
211+
memory_item_files = get_sorted_yaml_files(memory_item_folder)
199212

200213
analytical_dashboards = [
201214
CatalogDeclarativeAnalyticalDashboard.load_from_disk(analytical_dashboard_file)
@@ -226,6 +239,9 @@ def load_from_disk(cls, workspace_folder: Path) -> CatalogDeclarativeAnalyticsLa
226239
CatalogDeclarativeExportDefinition.load_from_disk(export_definition_file)
227240
for export_definition_file in export_definition_files
228241
]
242+
memory_items = [
243+
CatalogDeclarativeMemoryItem.load_from_disk(memory_item_file) for memory_item_file in memory_item_files
244+
]
229245
return cls(
230246
analytical_dashboards=analytical_dashboards,
231247
analytical_dashboard_extensions=analytical_dashboard_extensions,
@@ -235,6 +251,7 @@ def load_from_disk(cls, workspace_folder: Path) -> CatalogDeclarativeAnalyticsLa
235251
metrics=metrics,
236252
visualization_objects=visualization_objects,
237253
export_definitions=export_definitions,
254+
memory_items=memory_items,
238255
)
239256

240257

0 commit comments

Comments
 (0)