Skip to content

Commit c06ea32

Browse files
Improved MyPy typing for queues (Azure#21964)
* settings files * gitignore * fixed queue mypy
1 parent f1a55b3 commit c06ea32

File tree

3 files changed

+63
-35
lines changed

3 files changed

+63
-35
lines changed

sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py

Lines changed: 48 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,12 @@ def _format_url(self, hostname):
122122
self._query_str)
123123

124124
@classmethod
125-
def from_queue_url(cls, queue_url, credential=None, **kwargs):
126-
# type: (str, Optional[Any], Any) -> QueueClient
125+
def from_queue_url(cls,
126+
queue_url, # type: str
127+
credential=None, # type: Optional[Any]
128+
**kwargs # type: Any
129+
):
130+
# type: (...) -> QueueClient
127131
"""A client to interact with a specific Queue.
128132
129133
:param str queue_url: The full URI to the queue, including SAS token if used.
@@ -163,9 +167,9 @@ def from_queue_url(cls, queue_url, credential=None, **kwargs):
163167
def from_connection_string(
164168
cls, conn_str, # type: str
165169
queue_name, # type: str
166-
credential=None, # type: Any
170+
credential=None, # type: Optional[Any]
167171
**kwargs # type: Any
168-
):
172+
):
169173
# type: (...) -> QueueClient
170174
"""Create QueueClient from a Connection String.
171175
@@ -199,7 +203,7 @@ def from_connection_string(
199203

200204
@distributed_trace
201205
def create_queue(self, **kwargs):
202-
# type: (Optional[Any]) -> None
206+
# type: (Any) -> None
203207
"""Creates a new queue in the storage account.
204208
205209
If a queue with the same name already exists, the operation fails with
@@ -240,7 +244,7 @@ def create_queue(self, **kwargs):
240244

241245
@distributed_trace
242246
def delete_queue(self, **kwargs):
243-
# type: (Optional[Any]) -> None
247+
# type: (Any) -> None
244248
"""Deletes the specified queue and any messages it contains.
245249
246250
When a queue is successfully deleted, it is immediately marked for deletion
@@ -272,7 +276,7 @@ def delete_queue(self, **kwargs):
272276

273277
@distributed_trace
274278
def get_queue_properties(self, **kwargs):
275-
# type: (Optional[Any]) -> QueueProperties
279+
# type: (Any) -> QueueProperties
276280
"""Returns all user-defined metadata for the specified queue.
277281
278282
The data returned does not include the queue's list of messages.
@@ -303,8 +307,11 @@ def get_queue_properties(self, **kwargs):
303307
return response # type: ignore
304308

305309
@distributed_trace
306-
def set_queue_metadata(self, metadata=None, **kwargs):
307-
# type: (Optional[Dict[str, Any]], Optional[Any]) -> None
310+
def set_queue_metadata(self,
311+
metadata=None, # type: Optional[Dict[str, Any]]
312+
**kwargs # type: Any
313+
):
314+
# type: (...) -> None
308315
"""Sets user-defined metadata on the specified queue.
309316
310317
Metadata is associated with the queue as name-value pairs.
@@ -339,7 +346,7 @@ def set_queue_metadata(self, metadata=None, **kwargs):
339346

340347
@distributed_trace
341348
def get_queue_access_policy(self, **kwargs):
342-
# type: (Optional[Any]) -> Dict[str, Any]
349+
# type: (Any) -> Dict[str, AccessPolicy]
343350
"""Returns details about any stored access policies specified on the
344351
queue that may be used with Shared Access Signatures.
345352
@@ -359,8 +366,11 @@ def get_queue_access_policy(self, **kwargs):
359366
return {s.id: s.access_policy or AccessPolicy() for s in identifiers}
360367

361368
@distributed_trace
362-
def set_queue_access_policy(self, signed_identifiers, **kwargs):
363-
# type: (Dict[str, AccessPolicy], Optional[Any]) -> None
369+
def set_queue_access_policy(self,
370+
signed_identifiers, # type: Dict[str, AccessPolicy]
371+
**kwargs # type: Any
372+
):
373+
# type: (...) -> None
364374
"""Sets stored access policies for the queue that may be used with Shared
365375
Access Signatures.
366376
@@ -413,10 +423,11 @@ def set_queue_access_policy(self, signed_identifiers, **kwargs):
413423
process_storage_error(error)
414424

415425
@distributed_trace
416-
def send_message( # type: ignore
417-
self, content, # type: Any
418-
**kwargs # type: Optional[Any]
419-
):
426+
def send_message(
427+
self,
428+
content, # type: Any
429+
**kwargs # type: Any
430+
):
420431
# type: (...) -> QueueMessage
421432
"""Adds a new message to the back of the message queue.
422433
@@ -492,7 +503,7 @@ def send_message( # type: ignore
492503

493504
@distributed_trace
494505
def receive_message(self, **kwargs):
495-
# type: (Optional[Any]) -> QueueMessage
506+
# type: (Any) -> QueueMessage
496507
"""Removes one message from the front of the queue.
497508
498509
When the message is retrieved from the queue, the response includes the message
@@ -548,7 +559,7 @@ def receive_message(self, **kwargs):
548559

549560
@distributed_trace
550561
def receive_messages(self, **kwargs):
551-
# type: (Optional[Any]) -> ItemPaged[QueueMessage]
562+
# type: (Any) -> ItemPaged[QueueMessage]
552563
"""Removes one or more messages from the front of the queue.
553564
554565
When a message is retrieved from the queue, the response includes the message
@@ -618,8 +629,13 @@ def receive_messages(self, **kwargs):
618629
process_storage_error(error)
619630

620631
@distributed_trace
621-
def update_message(self, message, pop_receipt=None, content=None, **kwargs):
622-
# type: (Any, Optional[str], Optional[Any], Any) -> QueueMessage
632+
def update_message(self,
633+
message, # type: Any
634+
pop_receipt=None, # type: Optional[str]
635+
content=None, # type: Optional[Any]
636+
**kwargs # type: Any
637+
):
638+
# type: (...) -> QueueMessage
623639
"""Updates the visibility timeout of a message. You can also use this
624640
operation to update the contents of a message.
625641
@@ -715,8 +731,11 @@ def update_message(self, message, pop_receipt=None, content=None, **kwargs):
715731
process_storage_error(error)
716732

717733
@distributed_trace
718-
def peek_messages(self, max_messages=None, **kwargs):
719-
# type: (Optional[int], Optional[Any]) -> List[QueueMessage]
734+
def peek_messages(self,
735+
max_messages=None, # type: Optional[int]
736+
**kwargs # type: Any
737+
):
738+
# type: (...) -> List[QueueMessage]
720739
"""Retrieves one or more messages from the front of the queue, but does
721740
not alter the visibility of the message.
722741
@@ -774,7 +793,7 @@ def peek_messages(self, max_messages=None, **kwargs):
774793

775794
@distributed_trace
776795
def clear_messages(self, **kwargs):
777-
# type: (Optional[Any]) -> None
796+
# type: (Any) -> None
778797
"""Deletes all messages from the specified queue.
779798
780799
:keyword int timeout:
@@ -796,8 +815,12 @@ def clear_messages(self, **kwargs):
796815
process_storage_error(error)
797816

798817
@distributed_trace
799-
def delete_message(self, message, pop_receipt=None, **kwargs):
800-
# type: (Any, Optional[str], Any) -> None
818+
def delete_message(self,
819+
message, # type: Any
820+
pop_receipt=None, # type: Optional[str]
821+
**kwargs # type: Any
822+
):
823+
# type: (...) -> None
801824
"""Deletes the specified message.
802825
803826
Normally after a client retrieves a message with the receive messages operation,

sdk/storage/azure-storage-queue/azure/storage/queue/_queue_service_client.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def from_connection_string(
153153

154154
@distributed_trace
155155
def get_service_stats(self, **kwargs):
156-
# type: (Optional[Any]) -> Dict[str, Any]
156+
# type: (Any) -> Dict[str, Any]
157157
"""Retrieves statistics related to replication for the Queue service.
158158
159159
It is only available when read-access geo-redundant replication is enabled for
@@ -187,7 +187,7 @@ def get_service_stats(self, **kwargs):
187187

188188
@distributed_trace
189189
def get_service_properties(self, **kwargs):
190-
# type: (Optional[Any]) -> Dict[str, Any]
190+
# type: (Any) -> Dict[str, Any]
191191
"""Gets the properties of a storage account's Queue service, including
192192
Azure Storage Analytics.
193193
@@ -219,7 +219,7 @@ def set_service_properties( # type: ignore
219219
hour_metrics=None, # type: Optional[Metrics]
220220
minute_metrics=None, # type: Optional[Metrics]
221221
cors=None, # type: Optional[List[CorsRule]]
222-
**kwargs
222+
**kwargs # type: Any
223223
):
224224
# type: (...) -> None
225225
"""Sets the properties of a storage account's Queue service, including
@@ -273,7 +273,7 @@ def set_service_properties( # type: ignore
273273
def list_queues(
274274
self, name_starts_with=None, # type: Optional[str]
275275
include_metadata=False, # type: Optional[bool]
276-
**kwargs
276+
**kwargs # type: Any
277277
):
278278
# type: (...) -> ItemPaged[QueueProperties]
279279
"""Returns a generator to list the queues under the specified account.
@@ -323,7 +323,7 @@ def list_queues(
323323
def create_queue(
324324
self, name, # type: str
325325
metadata=None, # type: Optional[Dict[str, str]]
326-
**kwargs
326+
**kwargs # type: Any
327327
):
328328
# type: (...) -> QueueClient
329329
"""Creates a new queue under the specified account.
@@ -358,8 +358,9 @@ def create_queue(
358358

359359
@distributed_trace
360360
def delete_queue(
361-
self, queue, # type: Union[QueueProperties, str]
362-
**kwargs
361+
self,
362+
queue, # type: Union[QueueProperties, str]
363+
**kwargs # type: Any
363364
):
364365
# type: (...) -> None
365366
"""Deletes the specified queue and any messages it contains.
@@ -394,8 +395,11 @@ def delete_queue(
394395
kwargs.setdefault('merge_span', True)
395396
queue_client.delete_queue(timeout=timeout, **kwargs)
396397

397-
def get_queue_client(self, queue, **kwargs):
398-
# type: (Union[QueueProperties, str], Optional[Any]) -> QueueClient
398+
def get_queue_client(self,
399+
queue, # type: Union[QueueProperties, str]
400+
**kwargs # type: Any
401+
):
402+
# type: (...) -> QueueClient
399403
"""Get a client to interact with the specified queue.
400404
401405
The queue need not already exist.

sdk/storage/azure-storage-queue/azure/storage/queue/_serialize.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# Licensed under the MIT License. See License.txt in the project root for
44
# license information.
55
# --------------------------------------------------------------------------
6+
from typing import (Any, Dict)
67

78
_SUPPORTED_API_VERSIONS = [
89
'2019-02-02',
@@ -18,7 +19,7 @@
1819

1920

2021
def get_api_version(kwargs):
21-
# type: (Dict[str, Any], str) -> str
22+
# type: (Dict[str, Any]) -> str
2223
api_version = kwargs.get('api_version', None)
2324
if api_version and api_version not in _SUPPORTED_API_VERSIONS:
2425
versions = '\n'.join(_SUPPORTED_API_VERSIONS)

0 commit comments

Comments
 (0)