|
4 | 4 | import re |
5 | 5 | from typing import Any, Collection, Dict, List |
6 | 6 |
|
7 | | -import simple_salesforce |
| 7 | +# Upstream issue with simple_salesforce |
| 8 | +# https://github.com/simple-salesforce/simple-salesforce/issues/723 |
| 9 | +from simple_salesforce import Salesforce # type: ignore[attr-defined] |
| 10 | +from simple_salesforce.exceptions import SalesforceAuthenticationFailed |
8 | 11 |
|
9 | 12 | from zulip_bots.bots.salesforce.utils import commands, default_query, link_query, object_types |
10 | 13 | from zulip_bots.lib import BotHandler |
@@ -73,9 +76,7 @@ def format_result( |
73 | 76 | return output |
74 | 77 |
|
75 | 78 |
|
76 | | -def query_salesforce( |
77 | | - arg: str, salesforce: simple_salesforce.Salesforce, command: Dict[str, Any] |
78 | | -) -> str: |
| 79 | +def query_salesforce(arg: str, salesforce: Salesforce, command: Dict[str, Any]) -> str: |
79 | 80 | arg = arg.strip() |
80 | 81 | qarg = arg.split(" -", 1)[0] |
81 | 82 | split_args: List[str] = [] |
@@ -164,12 +165,12 @@ def get_salesforce_response(self, content: str) -> str: |
164 | 165 | def initialize(self, bot_handler: BotHandler) -> None: |
165 | 166 | self.config_info = bot_handler.get_config_info("salesforce") |
166 | 167 | try: |
167 | | - self.sf = simple_salesforce.Salesforce( |
| 168 | + self.sf = Salesforce( |
168 | 169 | username=self.config_info["username"], |
169 | 170 | password=self.config_info["password"], |
170 | 171 | security_token=self.config_info["security_token"], |
171 | 172 | ) |
172 | | - except simple_salesforce.exceptions.SalesforceAuthenticationFailed as err: |
| 173 | + except SalesforceAuthenticationFailed as err: |
173 | 174 | bot_handler.quit(f"Failed to log in to Salesforce. {err.code} {err.message}") |
174 | 175 |
|
175 | 176 | def handle_message(self, message: Dict[str, Any], bot_handler: BotHandler) -> None: |
|
0 commit comments