Skip to content

Commit 2b30100

Browse files
authored
Improve #1084 by removing globally mutable lists (#1092)
1 parent 561a42f commit 2b30100

File tree

13 files changed

+51
-24
lines changed

13 files changed

+51
-24
lines changed

slack_sdk/audit_logs/v1/async_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def __init__(
5555
user_agent_prefix: Optional[str] = None,
5656
user_agent_suffix: Optional[str] = None,
5757
logger: Optional[logging.Logger] = None,
58-
retry_handlers: List[AsyncRetryHandler] = async_default_handlers,
58+
retry_handlers: List[AsyncRetryHandler] = async_default_handlers(),
5959
):
6060
"""API client for Audit Logs API
6161
See https://api.slack.com/admins/audit-logs for more details

slack_sdk/audit_logs/v1/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def __init__(
5050
user_agent_prefix: Optional[str] = None,
5151
user_agent_suffix: Optional[str] = None,
5252
logger: Optional[logging.Logger] = None,
53-
retry_handlers: List[RetryHandler] = default_retry_handlers,
53+
retry_handlers: List[RetryHandler] = default_retry_handlers(),
5454
):
5555
"""API client for Audit Logs API
5656
See https://api.slack.com/admins/audit-logs for more details

slack_sdk/http_retry/__init__.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from typing import List
2+
13
from .handler import RetryHandler # noqa
24
from .builtin_handlers import (
35
ConnectionErrorRetryHandler, # noqa
@@ -16,11 +18,13 @@
1618
connect_error_retry_handler = ConnectionErrorRetryHandler() # noqa
1719
rate_limit_error_retry_handler = RateLimitErrorRetryHandler() # noqa
1820

19-
default_retry_handlers = [ # noqa
20-
connect_error_retry_handler, # noqa
21-
] # noqa
2221

23-
all_builtin_retry_handlers = [ # noqa
24-
connect_error_retry_handler, # noqa
25-
rate_limit_error_retry_handler, # noqa
26-
] # noqa
22+
def default_retry_handlers() -> List[RetryHandler]:
23+
return [connect_error_retry_handler]
24+
25+
26+
def all_builtin_retry_handlers() -> List[RetryHandler]:
27+
return [
28+
connect_error_retry_handler,
29+
rate_limit_error_retry_handler,
30+
]

slack_sdk/http_retry/builtin_async_handlers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,5 @@ async def prepare_for_next_attempt_async(
8787
await asyncio.sleep(duration)
8888

8989

90-
async_default_handlers = [AsyncConnectionErrorRetryHandler()]
90+
def async_default_handlers() -> List[AsyncRetryHandler]:
91+
return [AsyncConnectionErrorRetryHandler()]

slack_sdk/scim/v1/async_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def __init__(
7070
user_agent_prefix: Optional[str] = None,
7171
user_agent_suffix: Optional[str] = None,
7272
logger: Optional[logging.Logger] = None,
73-
retry_handlers: List[AsyncRetryHandler] = async_default_handlers,
73+
retry_handlers: List[AsyncRetryHandler] = async_default_handlers(),
7474
):
7575
"""API client for SCIM API
7676
See https://api.slack.com/scim for more details

slack_sdk/scim/v1/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def __init__(
7272
user_agent_prefix: Optional[str] = None,
7373
user_agent_suffix: Optional[str] = None,
7474
logger: Optional[logging.Logger] = None,
75-
retry_handlers: List[RetryHandler] = default_retry_handlers,
75+
retry_handlers: List[RetryHandler] = default_retry_handlers(),
7676
):
7777
"""API client for SCIM API
7878
See https://api.slack.com/scim for more details

slack_sdk/web/async_base_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def __init__(
4141
# for Org-Wide App installation
4242
team_id: Optional[str] = None,
4343
logger: Optional[logging.Logger] = None,
44-
retry_handlers: List[RetryHandler] = async_default_handlers,
44+
retry_handlers: List[RetryHandler] = async_default_handlers(),
4545
):
4646
self.token = None if token is None else token.strip()
4747
self.base_url = base_url

slack_sdk/web/base_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def __init__(
5454
# for Org-Wide App installation
5555
team_id: Optional[str] = None,
5656
logger: Optional[logging.Logger] = None,
57-
retry_handlers: List[RetryHandler] = default_retry_handlers,
57+
retry_handlers: List[RetryHandler] = default_retry_handlers(),
5858
):
5959
self.token = None if token is None else token.strip()
6060
self.base_url = base_url

slack_sdk/webhook/async_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def __init__(
4949
user_agent_prefix: Optional[str] = None,
5050
user_agent_suffix: Optional[str] = None,
5151
logger: Optional[logging.Logger] = None,
52-
retry_handlers: List[AsyncRetryHandler] = async_default_handlers,
52+
retry_handlers: List[AsyncRetryHandler] = async_default_handlers(),
5353
):
5454
"""API client for Incoming Webhooks and `response_url`
5555

slack_sdk/webhook/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def __init__(
4444
user_agent_prefix: Optional[str] = None,
4545
user_agent_suffix: Optional[str] = None,
4646
logger: Optional[logging.Logger] = None,
47-
retry_handlers: List[RetryHandler] = default_retry_handlers,
47+
retry_handlers: List[RetryHandler] = default_retry_handlers(),
4848
):
4949
"""API client for Incoming Webhooks and `response_url`
5050

0 commit comments

Comments
 (0)