From 097f4b36b3a67898d6d91913253bba3ec0072729 Mon Sep 17 00:00:00 2001 From: Sourcery AI Date: Thu, 24 Dec 2020 22:16:06 +0000 Subject: [PATCH] 'Refactored by Sourcery' --- slack/web/base_client.py | 3 +-- slack/web/classes/dialog_elements.py | 13 ++++----- slack/web/classes/dialogs.py | 5 +--- slack/web/classes/interactions.py | 14 +++------- slack/web/classes/objects.py | 36 +++++++++---------------- slack/web/slack_response.py | 3 +-- tests/helpers.py | 6 ++--- tests/rtm/test_rtm_client_functional.py | 5 ++-- tests/web/test_web_client.py | 4 +-- 9 files changed, 31 insertions(+), 58 deletions(-) diff --git a/slack/web/base_client.py b/slack/web/base_client.py index b65c482d5..d0e056f0f 100644 --- a/slack/web/base_client.py +++ b/slack/web/base_client.py @@ -259,8 +259,7 @@ def _get_user_agent(): v=sys.version_info ) system_info = "{0}/{1}".format(platform.system(), platform.release()) - user_agent_string = " ".join([python_version, client, system_info]) - return user_agent_string + return " ".join([python_version, client, system_info]) @staticmethod def validate_slack_signature( diff --git a/slack/web/classes/dialog_elements.py b/slack/web/classes/dialog_elements.py index 892dbfe05..73011e4b9 100644 --- a/slack/web/classes/dialog_elements.py +++ b/slack/web/classes/dialog_elements.py @@ -187,16 +187,13 @@ def data_source_valid(self): def to_dict(self) -> dict: json = super().to_dict() - if self.data_source == "external": - if isinstance(self.value, Option): + if isinstance(self.value, Option): + if self.data_source == "external": json["selected_options"] = extract_json([self.value], "dialog") - elif self.value is not None: - json["selected_options"] = Option.from_single_value(self.value) - else: - if isinstance(self.value, Option): + else: json["value"] = self.value.value - elif self.value is not None: - json["value"] = self.value + elif self.value is not None: + json["selected_options"] = Option.from_single_value(self.value) return json diff --git a/slack/web/classes/dialogs.py b/slack/web/classes/dialogs.py index b9ae86eda..c8ece7c0f 100644 --- a/slack/web/classes/dialogs.py +++ b/slack/web/classes/dialogs.py @@ -61,10 +61,7 @@ def state(self, state: Union[dict, str]) -> "DialogBuilder": state: Extra state information that you need to pass from this dialog back to your application on submission """ - if isinstance(state, dict): - self._state = dumps(state) - else: - self._state = state + self._state = dumps(state) if isinstance(state, dict) else state return self def callback_id(self, callback_id: str) -> "DialogBuilder": diff --git a/slack/web/classes/interactions.py b/slack/web/classes/interactions.py index cd6505d4e..6c337bafc 100644 --- a/slack/web/classes/interactions.py +++ b/slack/web/classes/interactions.py @@ -79,10 +79,7 @@ def __init__(self, event: dict): self.callback_id = event["callback_id"] self.event_type = event["type"] self.submission = event["submission"] - if event["state"]: - self.state = json.loads(event["state"]) - else: - self.state = {} + self.state = json.loads(event["state"]) if event["state"] else {} def require_any(self, requirements: List[str]) -> dict: """ @@ -94,12 +91,9 @@ def require_any(self, requirements: List[str]) -> dict: """ if any(self.submission.get(requirement, "") for requirement in requirements): return {} - else: - errors = [] - for key in self.submission: - error_text = "At least one value is required" - errors.append({"name": key, "error": error_text}) - return {"errors": errors} + error_text = "At least one value is required" + errors = [{"name": key, "error": error_text} for key in self.submission] + return {"errors": errors} class SlashCommandInteractiveEvent(InteractiveEvent): diff --git a/slack/web/classes/objects.py b/slack/web/classes/objects.py index 0dd871d58..0fd3fc27b 100644 --- a/slack/web/classes/objects.py +++ b/slack/web/classes/objects.py @@ -23,10 +23,7 @@ def __init__(self, *, url: str, text: str): self.text = text def __str__(self): - if self.text: - separator = "|" - else: - separator = "" + separator = "|" if self.text else "" return f"<{self.url}{separator}{self.text}>" @@ -57,14 +54,8 @@ def __init__( fallback: text to display on clients that don't support date rendering link: an optional URL to hyperlink to with this date """ - if isinstance(date, datetime): - epoch = int(date.timestamp()) - else: - epoch = date - if link is not None: - link = f"^{link}" - else: - link = "" + epoch = int(date.timestamp()) if isinstance(date, datetime) else date + link = f"^{link}" if link is not None else "" super().__init__(url=f"{epoch}^{date_format}{link}", text=fallback) @@ -272,18 +263,17 @@ def to_dict(self, option_type: str = "block") -> dict: "ok_text": self.confirm if self.confirm != "Yes" else "Okay", "dismiss_text": self.deny if self.deny != "No" else "Cancel", } + self.validate_json() + json = { + "title": PlainTextObject.direct_from_string(self.title), + "confirm": PlainTextObject.direct_from_string(self.confirm), + "deny": PlainTextObject.direct_from_string(self.deny), + } + if isinstance(self.text, TextObject): + json["text"] = self.text.to_dict() else: - self.validate_json() - json = { - "title": PlainTextObject.direct_from_string(self.title), - "confirm": PlainTextObject.direct_from_string(self.confirm), - "deny": PlainTextObject.direct_from_string(self.deny), - } - if isinstance(self.text, TextObject): - json["text"] = self.text.to_dict() - else: - json["text"] = MarkdownTextObject.direct_from_string(self.text) - return json + json["text"] = MarkdownTextObject.direct_from_string(self.text) + return json class Option(JsonObject): diff --git a/slack/web/slack_response.py b/slack/web/slack_response.py index df8371f8d..f18880da8 100644 --- a/slack/web/slack_response.py +++ b/slack/web/slack_response.py @@ -181,9 +181,8 @@ def _next_cursor_is_present(data): Returns: A boolean value. """ - present = ( + return ( "response_metadata" in data and "next_cursor" in data["response_metadata"] and data["response_metadata"]["next_cursor"] != "" ) - return present diff --git a/tests/helpers.py b/tests/helpers.py index f69597610..fd6421754 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -9,7 +9,7 @@ def fake_req_args(headers=ANY, data=ANY, params=ANY, json=ANY): - req_args = { + return { "headers": headers, "data": data, "params": params, @@ -17,11 +17,10 @@ def fake_req_args(headers=ANY, data=ANY, params=ANY, json=ANY): "ssl": ANY, "proxy": ANY, } - return req_args def fake_send_req_args(headers=ANY, data=ANY, params=ANY, json=ANY): - req_args = { + return { "headers": headers, "data": data, "params": params, @@ -30,7 +29,6 @@ def fake_send_req_args(headers=ANY, data=ANY, params=ANY, json=ANY): "proxy": ANY, "files": ANY, } - return req_args def mock_rtm_response(): diff --git a/tests/rtm/test_rtm_client_functional.py b/tests/rtm/test_rtm_client_functional.py index 62d3cc528..e7bf86d3a 100644 --- a/tests/rtm/test_rtm_client_functional.py +++ b/tests/rtm/test_rtm_client_functional.py @@ -84,9 +84,8 @@ def stop_on_open(**payload): if rtm_client._connection_attempts == 1: raise e.SlackApiError("Test Error", {"headers": {"Retry-After": 0.001}}) - else: - self.assertEqual(rtm_client._connection_attempts, 2) - rtm_client.stop() + self.assertEqual(rtm_client._connection_attempts, 2) + rtm_client.stop() client = slack.RTMClient(token="xoxa-1234", auto_reconnect=True) client.start() diff --git a/tests/web/test_web_client.py b/tests/web/test_web_client.py index ee22f2eaa..a68adbda5 100644 --- a/tests/web/test_web_client.py +++ b/tests/web/test_web_client.py @@ -83,7 +83,7 @@ def test_requests_can_be_paginated(self, mock_request): users = [] for page in self.client.users_list(limit=2): - users = users + page["members"] + users += page["members"] self.assertTrue(len(users) == 4) def test_request_pagination_stops_when_next_cursor_is_missing(self, mock_request): @@ -102,7 +102,7 @@ def test_request_pagination_stops_when_next_cursor_is_missing(self, mock_request users = [] for page in self.client.users_list(limit=2): - users = users + page["members"] + users += page["members"] self.assertTrue(len(users) == 2) mock_request.assert_called_once_with( http_verb="GET",