Skip to content

Commit 095dbf6

Browse files
committed
Add list_runtime_infos
1 parent 8d9ec08 commit 095dbf6

File tree

2 files changed

+53
-35
lines changed

2 files changed

+53
-35
lines changed

sdk/servicebus/azure-servicebus/azure/servicebus/management/_management_client.py

+26-16
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,32 @@ def _get_queue_object(self, queue_name, clazz):
117117
)
118118
return _convert_xml_to_object(queue_name, et, clazz)
119119

120+
def _list_queues(self, skip, max_count, clazz):
121+
# type: (int, int, Type[Model]) -> Union[List[QueueDescription], List[QueueRuntimeInfo])
122+
with _handle_response_error():
123+
et = cast(
124+
ElementTree,
125+
self._impl.list_entities(
126+
entity_type="queues", skip=skip, top=max_count, api_version=constants.API_VERSION
127+
)
128+
)
129+
entries = et.findall(constants.ENTRY_TAG)
130+
queues = []
131+
for entry in entries:
132+
entity_name = entry.find(constants.TITLE_TAG).text # type: ignore
133+
queue_description = _convert_xml_to_object(
134+
entity_name, # type: ignore
135+
cast(Element, entry),
136+
clazz
137+
)
138+
queues.append(queue_description)
139+
return queues
140+
120141
def get_queue(self, queue_name):
121142
# type: (str) -> QueueDescription
122143
return self._get_queue_object(queue_name, QueueDescription)
123144

124-
def get_queue_metrics(self, queue_name):
145+
def get_queue_runtime_info(self, queue_name):
125146
# type: (str) -> QueueRuntimeInfo
126147
return self._get_queue_object(queue_name, QueueRuntimeInfo)
127148

@@ -189,19 +210,8 @@ def delete_queue(self, queue_name):
189210

190211
def list_queues(self, skip=0, max_count=100):
191212
# type: (int, int) -> List[QueueDescription]
213+
return self._list_queues(skip, max_count, QueueDescription)
192214

193-
with _handle_response_error():
194-
et = cast(
195-
ElementTree,
196-
self._impl.list_entities(entity_type="queues", skip=skip, top=max_count, api_version=constants.API_VERSION)
197-
)
198-
entries = et.findall(constants.ENTRY_TAG)
199-
queue_descriptions = []
200-
for entry in entries:
201-
entity_name = entry.find(constants.TITLE_TAG).text # type: ignore
202-
queue_description = _convert_xml_to_object(
203-
entity_name, # type: ignore
204-
cast(Element, entry),
205-
QueueDescription)
206-
queue_descriptions.append(queue_description)
207-
return queue_descriptions
215+
def list_queues_runtime_info(self, skip=0, max_count=100):
216+
# type: (int, int) -> List[QueueRuntimeInfo]
217+
return self._list_queues(skip, max_count, QueueRuntimeInfo)

sdk/servicebus/azure-servicebus/azure/servicebus/management/aio/_management_client_async.py

+27-19
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,32 @@ async def _get_queue_object(self, queue_name, clazz):
9494
)
9595
return _convert_xml_to_object(queue_name, et, clazz)
9696

97+
async def _list_queues(self, skip, max_count, clazz):
98+
# type: (int, int, Type[Model]) -> Union[List[QueueDescription], List[QueueRuntimeInfo])
99+
with _handle_response_error():
100+
et = cast(
101+
ElementTree,
102+
await self._impl.list_entities(
103+
entity_type="queues", skip=skip, top=max_count, api_version=constants.API_VERSION
104+
)
105+
)
106+
entries = et.findall(constants.ENTRY_TAG)
107+
queues = []
108+
for entry in entries:
109+
entity_name = entry.find(constants.TITLE_TAG).text # type: ignore
110+
queue_description = _convert_xml_to_object(
111+
entity_name, # type: ignore
112+
cast(Element, entry),
113+
clazz
114+
)
115+
queues.append(queue_description)
116+
return queues
117+
97118
async def get_queue(self, queue_name):
98119
# type: (str) -> QueueDescription
99120
return await self._get_queue_object(queue_name, QueueDescription)
100121

101-
async def get_queue_metrics(self, queue_name):
122+
async def get_queue_runtime_info(self, queue_name):
102123
# type: (str) -> QueueRuntimeInfo
103124
return await self._get_queue_object(queue_name, QueueRuntimeInfo)
104125

@@ -161,21 +182,8 @@ async def delete_queue(self, queue_name):
161182

162183
async def list_queues(self, skip=0, max_count=100):
163184
# type: (int, int) -> List[QueueDescription]
164-
with _handle_response_error():
165-
et = cast(
166-
ElementTree,
167-
await self._impl.list_entities(
168-
entity_type="queues", skip=skip, top=max_count, api_version=constants.API_VERSION
169-
)
170-
)
171-
entries = et.findall(constants.ENTRY_TAG)
172-
queue_descriptions = []
173-
for entry in entries:
174-
entity_name = entry.find(constants.TITLE_TAG).text # type: ignore
175-
queue_description = _convert_xml_to_object(
176-
entity_name, # type: ignore
177-
cast(Element, entry),
178-
QueueDescription
179-
)
180-
queue_descriptions.append(queue_description)
181-
return queue_descriptions
185+
return await self._list_queues(skip, max_count, QueueDescription)
186+
187+
async def list_queues_runtime_info(self, skip=0, max_count=100):
188+
# type: (int, int) -> List[QueueRuntimeInfo]
189+
return await self._list_queues(skip, max_count, QueueRuntimeInfo)

0 commit comments

Comments
 (0)