Skip to content
Open

971 #978

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions src/sempy_labs/report/_reportwrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ def _get_url(
return url

def __resolve_page_name_and_display_name_file_path(
self, page: str
self, page: str, return_error: bool = True
) -> Tuple[str, str, str]:

self._ensure_pbir()
Expand All @@ -486,19 +486,25 @@ def __resolve_page_name_and_display_name_file_path(
elif page in name_lookup:
path, page_id = name_lookup[page]
return path, page_id, page
else:
elif return_error:
raise ValueError(
f"{icons.red_dot} Invalid page display name. The '{page}' page does not exist in the '{self._report_name}' report within the '{self._workspace_name}' workspace."
)
else:
return (None, page, page)

def _resolve_page_name_and_display_name(self, page: str) -> Tuple[str, str]:
def _resolve_page_name_and_display_name(
self, page: str, return_error: bool = True
) -> Tuple[str, str]:
"""
Obtains the page name, page display name for a given page in a report.

Parameters
----------
page : str
The page name or display name.
return_error : bool, default=True
Whether to raise an error if the page does not exist.

Returns
-------
Expand All @@ -507,7 +513,8 @@ def _resolve_page_name_and_display_name(self, page: str) -> Tuple[str, str]:
"""

(_, page_id, page_name) = self.__resolve_page_name_and_display_name_file_path(
page
page,
return_error=return_error,
)

return (page_id, page_name)
Expand Down Expand Up @@ -1757,7 +1764,7 @@ def list_bookmarks(self) -> pd.DataFrame:
"applyOnlyToTargetVisuals", False
)
(page_id, page_display) = self._resolve_page_name_and_display_name(
rpt_page_id
page=rpt_page_id, return_error=False
)

for rptPg in payload.get("explorationState", {}).get("sections", {}):
Expand Down
Loading