Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
update
  • Loading branch information
xiangyan99 committed Apr 23, 2021
commit c3625e91ba29e9a0d0034c863bc9bc9f0a0547cb
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
# IN THE SOFTWARE.
#
# --------------------------------------------------------------------------
from collections.abc import Iterable
from azure.core import AsyncPipelineClient
from .policies import AsyncARMAutoResourceProviderRegistrationPolicy, ARMHttpLoggingPolicy

Expand All @@ -43,7 +44,11 @@ def __init__(self, base_url, **kwargs):
"Current implementation requires to pass 'config' if you don't pass 'policies'"
)
per_call_policies = kwargs.get('per_call_policies', [])
per_call_policies.append(AsyncARMAutoResourceProviderRegistrationPolicy())
if isinstance(per_call_policies, Iterable):
per_call_policies.append(AsyncARMAutoResourceProviderRegistrationPolicy())
Comment on lines +53 to +54
Copy link
Member

@jiasli jiasli Apr 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

append will fail if per_call_policies is a tuple, instead of a list:

AttributeError: 'tuple' object has no attribute 'append'

else:
per_call_policies = [per_call_policies,
ARMAutoResourceProviderRegistrationPolicy()]
kwargs["per_call_policies"] = per_call_policies
config = kwargs.get('config')
if not config.http_logging_policy:
Expand Down
10 changes: 9 additions & 1 deletion sdk/core/azure-mgmt-core/azure/mgmt/core/_pipeline_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@
# IN THE SOFTWARE.
#
# --------------------------------------------------------------------------
try:
from collections.abc import Iterable
except ImportError:
from collections import Iterable
from azure.core import PipelineClient
from .policies import ARMAutoResourceProviderRegistrationPolicy, ARMHttpLoggingPolicy

Expand All @@ -43,7 +47,11 @@ def __init__(self, base_url, **kwargs):
"Current implementation requires to pass 'config' if you don't pass 'policies'"
)
per_call_policies = kwargs.get('per_call_policies', [])
per_call_policies.append(ARMAutoResourceProviderRegistrationPolicy())
if isinstance(per_call_policies, Iterable):
per_call_policies.append(ARMAutoResourceProviderRegistrationPolicy())
else:
per_call_policies = [per_call_policies,
ARMAutoResourceProviderRegistrationPolicy()]
kwargs["per_call_policies"] = per_call_policies
config = kwargs.get('config')
if not config.http_logging_policy:
Expand Down