Skip to content
This repository was archived by the owner on Jan 21, 2023. It is now read-only.

Commit 058b5b3

Browse files
committed
refactor: PR feedback
1 parent 2e4c536 commit 058b5b3

File tree

1 file changed

+15
-20
lines changed

1 file changed

+15
-20
lines changed

src/structurizr/view/view_set.py

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -107,49 +107,37 @@ def __init__(
107107
@property
108108
def system_landscape_views(self) -> Iterable[SystemLandscapeView]:
109109
"""Return the SystemLandscapeViews in this ViewSet."""
110-
return (
111-
view
112-
for view in self._views.values()
113-
if isinstance(view, SystemLandscapeView)
114-
)
115-
110+
return self._get_typed_views(SystemLandscapeView)
111+
116112
@property
117113
def system_context_views(self) -> Iterable[SystemContextView]:
118114
"""Return the SystemContextViews in this ViewSet."""
119-
return (
120-
view for view in self._views.values() if isinstance(view, SystemContextView)
121-
)
115+
return self._get_typed_views(SystemContextView)
122116

123117
@property
124118
def container_views(self) -> Iterable[ContainerView]:
125119
"""Return the ContainerViews in this ViewSet."""
126-
return (
127-
view for view in self._views.values() if isinstance(view, ContainerView)
128-
)
120+
return self._get_typed_views(ContainerView)
129121

130122
@property
131123
def component_views(self) -> Iterable[ComponentView]:
132124
"""Return the CompoentViews in this ViewSet."""
133-
return (
134-
view for view in self._views.values() if isinstance(view, ComponentView)
135-
)
125+
return self._get_typed_views(ComponentView)
136126

137127
@property
138128
def deployment_views(self) -> Iterable[DeploymentView]:
139129
"""Return the DeploymentViews in this ViewSet."""
140-
return (
141-
view for view in self._views.values() if isinstance(view, DeploymentView)
142-
)
130+
return self._get_typed_views(DeploymentView)
143131

144132
@property
145133
def dynamic_views(self) -> Iterable[DynamicView]:
146134
"""Return the DynamicViews in this ViewSet."""
147-
return (view for view in self._views.values() if isinstance(view, DynamicView))
135+
return self._get_typed_views(DynamicView)
148136

149137
@property
150138
def filtered_views(self) -> Iterable[FilteredView]:
151139
"""Return the FilteredViews in this ViewSet."""
152-
return (view for view in self._views.values() if isinstance(view, FilteredView))
140+
return self._get_typed_views(FilteredView)
153141

154142
@property
155143
def views(self) -> Iterable[AbstractView]:
@@ -390,3 +378,10 @@ def _ensure_key_is_specific_and_unique(self, key: str) -> None:
390378
raise ValueError("A key must be specified.")
391379
if key in self._views:
392380
raise ValueError(f"View already exists in workspace with key '{key}'.")
381+
382+
def _get_typed_views(self, klass: "T") -> Iterable["T"]:
383+
return (
384+
view
385+
for view in self._views.values()
386+
if isinstance(view, klass)
387+
)

0 commit comments

Comments
 (0)