Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-slack-sdk for
openSUSE:Factory checked in at 2022-11-12 17:41:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-slack-sdk (Old)
and /work/SRC/openSUSE:Factory/.python-slack-sdk.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-slack-sdk"
Sat Nov 12 17:41:02 2022 rev:4 rq:1035246 version:3.19.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-slack-sdk/python-slack-sdk.changes
2022-10-31 13:04:28.049735374 +0100
+++
/work/SRC/openSUSE:Factory/.python-slack-sdk.new.1597/python-slack-sdk.changes
2022-11-12 17:41:16.698206978 +0100
@@ -1,0 +2,11 @@
+Wed Nov 9 18:59:46 UTC 2022 - Yogalakshmi Arunachalam <[email protected]>
+
+- Update to 3.19.2
+ #1282 Add request_file_info arg to files_upload_v2 method - Thanks @seratch
@eddyg
+ #1278 Improve clarity of 'content' error message for files_upload_v2 -
Thanks @eddyg
+ #1283 Improve typing when using 'get' on an API response - Thanks @eddyg
+ #1284 Add Python 3.11 support - Thanks @seratch
+ #1281 Fix selected_option type hint - Thanks @taekop
+ All issues/pull requests:
https://github.com/slackapi/python-slack-sdk/milestone/71?closed=1
+
+-------------------------------------------------------------------
Old:
----
slack-sdk-3.19.1.tar.gz
New:
----
slack-sdk-3.19.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-slack-sdk.spec ++++++
--- /var/tmp/diff_new_pack.3A9gur/_old 2022-11-12 17:41:18.774219338 +0100
+++ /var/tmp/diff_new_pack.3A9gur/_new 2022-11-12 17:41:18.778219361 +0100
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python3-%{**}}
Name: python-slack-sdk
-Version: 3.19.1
+Version: 3.19.2
Release: 0
Summary: Python SDKs for the Slack API
License: MIT
++++++ slack-sdk-3.19.1.tar.gz -> slack-sdk-3.19.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/.github/workflows/ci-build.yml
new/python-slack-sdk-3.19.2/.github/workflows/ci-build.yml
--- old/python-slack-sdk-3.19.1/.github/workflows/ci-build.yml 2022-10-06
06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/.github/workflows/ci-build.yml 2022-10-27
11:13:10.000000000 +0200
@@ -12,10 +12,7 @@
timeout-minutes: 10
strategy:
matrix:
- # TODO: 3.10 in GH Actions is not yet stable enough for us
- # You may often encounter "Error: Process completed with exit code
250."
- # python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
- python-version: ['3.6', '3.7', '3.8', '3.9']
+ python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
env:
PYTHON_SLACK_SDK_MOCK_SERVER_MODE: 'threading'
#CI_UNSTABLE_TESTS_SKIP_ENABLED: '1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/index.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/index.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/index.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/index.html
2022-10-27 11:13:10.000000000 +0200
@@ -3244,6 +3244,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -3342,11 +3343,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
@@ -9573,7 +9575,7 @@
</details>
</dd>
<dt id="slack_sdk.WebClient.files_upload_v2"><code class="name flex">
-<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, **kwargs) â>Â <a
title="slack_sdk.web.slack_response.SlackResponse"
href="web/slack_response.html#slack_sdk.web.slack_response.SlackResponse">SlackResponse</a></span>
+<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, request_file_info:Â
bool = True, **kwargs) â> <a
title="slack_sdk.web.slack_response.SlackResponse"
href="web/slack_response.html#slack_sdk.web.slack_response.SlackResponse">SlackResponse</a></span>
</code></dt>
<dd>
<div class="desc"><p>This wrapper method provides an easy way to upload files
using the following endpoints:</p>
@@ -9608,6 +9610,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload files
using the following endpoints:
@@ -9706,11 +9709,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion</code></pre>
</details>
</dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/models/views/index.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/models/views/index.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/models/views/index.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/models/views/index.html
2022-10-27 11:13:10.000000000 +0200
@@ -234,7 +234,7 @@
selected_conversation: Optional[str] = None,
selected_channel: Optional[str] = None,
selected_user: Optional[str] = None,
- selected_option: Optional[str] = None,
+ selected_option: Optional[Union[dict, Option]] = None,
selected_conversations: Optional[Sequence[str]] = None,
selected_channels: Optional[Sequence[str]] = None,
selected_users: Optional[Sequence[str]] = None,
@@ -539,7 +539,7 @@
</dd>
<dt id="slack_sdk.models.views.ViewStateValue"><code class="flex name class">
<span>class <span class="ident">ViewStateValue</span></span>
-<span>(</span><span>*, type:Â Optional[str]Â =Â None, value:Â Optional[str]Â
=Â None, selected_date:Â Optional[str]Â =Â None, selected_time:Â Optional[str]Â
=Â None, selected_conversation:Â Optional[str]Â =Â None, selected_channel:Â
Optional[str]Â =Â None, selected_user:Â Optional[str]Â =Â None,
selected_option:Â Optional[str]Â =Â None, selected_conversations:Â
Optional[Sequence[str]]Â =Â None, selected_channels:Â Optional[Sequence[str]]Â
=Â None, selected_users:Â Optional[Sequence[str]]Â =Â None, selected_options:Â
Optional[Sequence[Union[dict, <a
title="slack_sdk.models.blocks.basic_components.Option"
href="../blocks/basic_components.html#slack_sdk.models.blocks.basic_components.Option">Option</a>]]]Â
=Â None)</span>
+<span>(</span><span>*, type:Â Optional[str]Â =Â None, value:Â Optional[str]Â
=Â None, selected_date:Â Optional[str]Â =Â None, selected_time:Â Optional[str]Â
=Â None, selected_conversation:Â Optional[str]Â =Â None, selected_channel:Â
Optional[str]Â =Â None, selected_user:Â Optional[str]Â =Â None,
selected_option: Union[dict, <a
title="slack_sdk.models.blocks.basic_components.Option"
href="../blocks/basic_components.html#slack_sdk.models.blocks.basic_components.Option">Option</a>,Â
ForwardRef(None)]Â =Â None, selected_conversations:Â Optional[Sequence[str]]Â
=Â None, selected_channels:Â Optional[Sequence[str]]Â =Â None, selected_users:Â
Optional[Sequence[str]]Â =Â None, selected_options:Â
Optional[Sequence[Union[dict, <a
title="slack_sdk.models.blocks.basic_components.Option"
href="../blocks/basic_components.html#slack_sdk.models.blocks.basic_components.Option">Option</a>]]]Â
=Â None)</span>
</code></dt>
<dd>
<div class="desc"><p>The base class for JSON serializable class
objects</p></div>
@@ -573,7 +573,7 @@
selected_conversation: Optional[str] = None,
selected_channel: Optional[str] = None,
selected_user: Optional[str] = None,
- selected_option: Optional[str] = None,
+ selected_option: Optional[Union[dict, Option]] = None,
selected_conversations: Optional[Sequence[str]] = None,
selected_channels: Optional[Sequence[str]] = None,
selected_users: Optional[Sequence[str]] = None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/version.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/version.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/version.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/version.html
2022-10-27 11:13:10.000000000 +0200
@@ -28,7 +28,7 @@
<span>Expand source code</span>
</summary>
<pre><code class="python">"""Check the latest version at
https://pypi.org/project/slack-sdk/"""
-__version__ = "3.19.0"</code></pre>
+__version__ = "3.19.2"</code></pre>
</details>
</section>
<section>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/async_client.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/async_client.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/async_client.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/async_client.html
2022-10-27 11:13:10.000000000 +0200
@@ -3044,6 +3044,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> AsyncSlackResponse:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -3142,11 +3143,12 @@
thread_ts=thread_ts,
**kwargs,
)
- await _attach_full_file_metadata_async(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ await _attach_full_file_metadata_async(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
async def files_getUploadURLExternal(
@@ -7682,6 +7684,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> AsyncSlackResponse:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -7780,11 +7783,12 @@
thread_ts=thread_ts,
**kwargs,
)
- await _attach_full_file_metadata_async(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ await _attach_full_file_metadata_async(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
async def files_getUploadURLExternal(
@@ -14011,7 +14015,7 @@
</details>
</dd>
<dt id="slack_sdk.web.async_client.AsyncWebClient.files_upload_v2"><code
class="name flex">
-<span>async def <span class="ident">files_upload_v2</span></span>(<span>self,
*, filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, **kwargs) â>Â <a
title="slack_sdk.web.async_slack_response.AsyncSlackResponse"
href="async_slack_response.html#slack_sdk.web.async_slack_response.AsyncSlackResponse">AsyncSlackResponse</a></span>
+<span>async def <span class="ident">files_upload_v2</span></span>(<span>self,
*, filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, request_file_info:Â
bool = True, **kwargs) â> <a
title="slack_sdk.web.async_slack_response.AsyncSlackResponse"
href="async_slack_response.html#slack_sdk.web.async_slack_response.AsyncSlackResponse">AsyncSlackResponse</a></span>
</code></dt>
<dd>
<div class="desc"><p>This wrapper method provides an easy way to upload files
using the following endpoints:</p>
@@ -14046,6 +14050,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> AsyncSlackResponse:
"""This wrapper method provides an easy way to upload files
using the following endpoints:
@@ -14144,11 +14149,12 @@
thread_ts=thread_ts,
**kwargs,
)
- await _attach_full_file_metadata_async(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ await _attach_full_file_metadata_async(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion</code></pre>
</details>
</dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/async_slack_response.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/async_slack_response.html
---
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/async_slack_response.html
2022-10-06 06:24:03.000000000 +0200
+++
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/async_slack_response.html
2022-10-27 11:13:10.000000000 +0200
@@ -30,11 +30,13 @@
<pre><code class="python">"""A Python module for interacting and
consuming responses from Slack."""
import logging
-from typing import Union
+from typing import Any, Optional, TypeVar, Union, overload
import slack_sdk.errors as e
from .internal_utils import _next_cursor_is_present
+T = TypeVar("T")
+
class AsyncSlackResponse:
"""An iterable container of response data.
@@ -188,6 +190,14 @@
else:
raise StopAsyncIteration
+ @overload
+ def get(self, key: str, default: None = None) -> Optional[Any]:
+ ...
+
+ @overload
+ def get(self, key: str, default: T) -> T:
+ ...
+
def get(self, key, default=None):
"""Retrieves any key from the response data.
@@ -429,6 +439,14 @@
else:
raise StopAsyncIteration
+ @overload
+ def get(self, key: str, default: None = None) -> Optional[Any]:
+ ...
+
+ @overload
+ def get(self, key: str, default: T) -> T:
+ ...
+
def get(self, key, default=None):
"""Retrieves any key from the response data.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/client.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/client.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/client.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/client.html
2022-10-27 11:13:10.000000000 +0200
@@ -3035,6 +3035,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -3133,11 +3134,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
@@ -7673,6 +7675,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -7771,11 +7774,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
@@ -14002,7 +14006,7 @@
</details>
</dd>
<dt id="slack_sdk.web.client.WebClient.files_upload_v2"><code class="name
flex">
-<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, **kwargs) â>Â <a
title="slack_sdk.web.slack_response.SlackResponse"
href="slack_response.html#slack_sdk.web.slack_response.SlackResponse">SlackResponse</a></span>
+<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, request_file_info:Â
bool = True, **kwargs) â> <a
title="slack_sdk.web.slack_response.SlackResponse"
href="slack_response.html#slack_sdk.web.slack_response.SlackResponse">SlackResponse</a></span>
</code></dt>
<dd>
<div class="desc"><p>This wrapper method provides an easy way to upload files
using the following endpoints:</p>
@@ -14037,6 +14041,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload files
using the following endpoints:
@@ -14135,11 +14140,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion</code></pre>
</details>
</dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/index.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/index.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/index.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/index.html
2022-10-27 11:13:10.000000000 +0200
@@ -296,6 +296,14 @@
else:
raise StopIteration
+ @overload
+ def get(self, key: str, default: None = None) -> Optional[Any]:
+ ...
+
+ @overload
+ def get(self, key: str, default: T) -> T:
+ ...
+
def get(self, key, default=None):
"""Retrieves any key from the response data.
@@ -3447,6 +3455,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -3545,11 +3554,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
@@ -9776,7 +9786,7 @@
</details>
</dd>
<dt id="slack_sdk.web.WebClient.files_upload_v2"><code class="name flex">
-<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, **kwargs) â>Â <a
title="slack_sdk.web.slack_response.SlackResponse"
href="slack_response.html#slack_sdk.web.slack_response.SlackResponse">SlackResponse</a></span>
+<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, request_file_info:Â
bool = True, **kwargs) â> <a
title="slack_sdk.web.slack_response.SlackResponse"
href="slack_response.html#slack_sdk.web.slack_response.SlackResponse">SlackResponse</a></span>
</code></dt>
<dd>
<div class="desc"><p>This wrapper method provides an easy way to upload files
using the following endpoints:</p>
@@ -9811,6 +9821,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload files
using the following endpoints:
@@ -9909,11 +9920,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion</code></pre>
</details>
</dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/internal_utils.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/internal_utils.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/internal_utils.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/internal_utils.html
2022-10-27 11:13:10.000000000 +0200
@@ -345,12 +345,12 @@
else:
data = file
elif content is not None:
- if isinstance(content, str): # filepath
+ if isinstance(content, str):
data = content.encode("utf-8")
elif isinstance(content, bytes):
data = content
else:
- raise SlackRequestError("The given content must be either
filepath as str or data as bytes")
+ raise SlackRequestError("content for file upload must be
'str' (UTF-8 encoded) or 'bytes' (for data)")
filename = upload_file.get("filename")
if upload_file.get("filename") is None and isinstance(file, str):
@@ -364,6 +364,9 @@
if data is None:
raise SlackRequestError(f"File content not found for filename:
{filename}, title: {title}")
+ if title is None:
+ title = filename # to be consistent with files.upload API
+
return {
"filename": filename,
"data": data,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/legacy_client.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/legacy_client.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/legacy_client.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/legacy_client.html
2022-10-27 11:13:10.000000000 +0200
@@ -3045,6 +3045,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> Union[Future, SlackResponse]:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -3143,11 +3144,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
@@ -7683,6 +7685,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> Union[Future, SlackResponse]:
"""This wrapper method provides an easy way to upload
files using the following endpoints:
@@ -7781,11 +7784,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
@@ -14012,7 +14016,7 @@
</details>
</dd>
<dt id="slack_sdk.web.legacy_client.LegacyWebClient.files_upload_v2"><code
class="name flex">
-<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, **kwargs) â>Â
Union[_asyncio.Future, <a
title="slack_sdk.web.legacy_slack_response.LegacySlackResponse"
href="legacy_slack_response.html#slack_sdk.web.legacy_slack_response.LegacySlackResponse">LegacySlackResponse</a>]</span>
+<span>def <span class="ident">files_upload_v2</span></span>(<span>self, *,
filename: Optional[str] = None, file: Union[str, bytes, io.IOBase,Â
ForwardRef(None)] = None, content: Union[str, bytes, ForwardRef(None)] =Â
None, title:Â Optional[str]Â =Â None, alt_txt:Â Optional[str]Â =Â None,
snippet_type:Â Optional[str]Â =Â None, file_uploads:Â Optional[List[Dict[str,Â
Any]]]Â =Â None, channel:Â Optional[str]Â =Â None, initial_comment:Â
Optional[str]Â =Â None, thread_ts:Â Optional[str]Â =Â None, request_file_info:Â
bool = True, **kwargs) â> Union[_asyncio.Future, <a
title="slack_sdk.web.legacy_slack_response.LegacySlackResponse"
href="legacy_slack_response.html#slack_sdk.web.legacy_slack_response.LegacySlackResponse">LegacySlackResponse</a>]</span>
</code></dt>
<dd>
<div class="desc"><p>This wrapper method provides an easy way to upload files
using the following endpoints:</p>
@@ -14047,6 +14051,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> Union[Future, SlackResponse]:
"""This wrapper method provides an easy way to upload files
using the following endpoints:
@@ -14145,11 +14150,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion</code></pre>
</details>
</dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/slack_response.html
new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/slack_response.html
--- old/python-slack-sdk-3.19.1/docs/api-docs/slack_sdk/web/slack_response.html
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/docs/api-docs/slack_sdk/web/slack_response.html
2022-10-27 11:13:10.000000000 +0200
@@ -30,11 +30,13 @@
<pre><code class="python">"""A Python module for interacting and
consuming responses from Slack."""
import logging
-from typing import Union
+from typing import Any, Optional, TypeVar, Union, overload
import slack_sdk.errors as e
from .internal_utils import _next_cursor_is_present
+T = TypeVar("T")
+
class SlackResponse:
"""An iterable container of response data.
@@ -185,6 +187,14 @@
else:
raise StopIteration
+ @overload
+ def get(self, key: str, default: None = None) -> Optional[Any]:
+ ...
+
+ @overload
+ def get(self, key: str, default: T) -> T:
+ ...
+
def get(self, key, default=None):
"""Retrieves any key from the response data.
@@ -423,6 +433,14 @@
else:
raise StopIteration
+ @overload
+ def get(self, key: str, default: None = None) -> Optional[Any]:
+ ...
+
+ @overload
+ def get(self, key: str, default: T) -> T:
+ ...
+
def get(self, key, default=None):
"""Retrieves any key from the response data.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/integration_tests/web/test_files_upload_v2.py
new/python-slack-sdk-3.19.2/integration_tests/web/test_files_upload_v2.py
--- old/python-slack-sdk-3.19.1/integration_tests/web/test_files_upload_v2.py
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/integration_tests/web/test_files_upload_v2.py
2022-10-27 11:13:10.000000000 +0200
@@ -190,3 +190,50 @@
file=upload["file"]["id"],
)
self.assertIsNotNone(deletion)
+
+ def test_request_file_info_false(self):
+ client = self.sync_client
+ upload = client.files_upload_v2(
+ channels=self.channel_id,
+ title="Foo",
+ filename="foo.txt",
+ content="foo",
+ )
+ self.assertIsNotNone(upload)
+ self.assertIsNotNone(upload.get("files")[0].get("id"))
+ self.assertIsNotNone(upload.get("files")[0].get("name"))
+
+ upload = client.files_upload_v2(
+ channels=self.channel_id,
+ title="Foo",
+ filename="foo.txt",
+ content="foo",
+ request_file_info=False,
+ )
+ self.assertIsNotNone(upload)
+ self.assertIsNotNone(upload.get("files")[0].get("id"))
+ self.assertIsNone(upload.get("files")[0].get("name"))
+
+ @async_test
+ async def test_request_file_info_false_async(self):
+ client = self.async_client
+ upload = await client.files_upload_v2(
+ channels=self.channel_id,
+ title="Foo",
+ filename="foo.txt",
+ content="foo",
+ )
+ self.assertIsNotNone(upload)
+ self.assertIsNotNone(upload.get("files")[0].get("id"))
+ self.assertIsNotNone(upload.get("files")[0].get("name"))
+
+ upload = await client.files_upload_v2(
+ channels=self.channel_id,
+ title="Foo",
+ filename="foo.txt",
+ content="foo",
+ request_file_info=False,
+ )
+ self.assertIsNotNone(upload)
+ self.assertIsNotNone(upload.get("files")[0].get("id"))
+ self.assertIsNone(upload.get("files")[0].get("name"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-slack-sdk-3.19.1/setup.py
new/python-slack-sdk-3.19.2/setup.py
--- old/python-slack-sdk-3.19.1/setup.py 2022-10-06 06:24:03.000000000
+0200
+++ new/python-slack-sdk-3.19.2/setup.py 2022-10-27 11:13:10.000000000
+0200
@@ -305,6 +305,7 @@
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
],
keywords="slack slack-api web-api slack-rtm websocket chat chatbot
chatops",
packages=find_packages(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/slack_sdk/models/views/__init__.py
new/python-slack-sdk-3.19.2/slack_sdk/models/views/__init__.py
--- old/python-slack-sdk-3.19.1/slack_sdk/models/views/__init__.py
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/models/views/__init__.py
2022-10-27 11:13:10.000000000 +0200
@@ -206,7 +206,7 @@
selected_conversation: Optional[str] = None,
selected_channel: Optional[str] = None,
selected_user: Optional[str] = None,
- selected_option: Optional[str] = None,
+ selected_option: Optional[Union[dict, Option]] = None,
selected_conversations: Optional[Sequence[str]] = None,
selected_channels: Optional[Sequence[str]] = None,
selected_users: Optional[Sequence[str]] = None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-slack-sdk-3.19.1/slack_sdk/version.py
new/python-slack-sdk-3.19.2/slack_sdk/version.py
--- old/python-slack-sdk-3.19.1/slack_sdk/version.py 2022-10-06
06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/version.py 2022-10-27
11:13:10.000000000 +0200
@@ -1,2 +1,2 @@
"""Check the latest version at https://pypi.org/project/slack-sdk/"""
-__version__ = "3.19.1"
+__version__ = "3.19.2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/slack_sdk/web/async_client.py
new/python-slack-sdk-3.19.2/slack_sdk/web/async_client.py
--- old/python-slack-sdk-3.19.1/slack_sdk/web/async_client.py 2022-10-06
06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/web/async_client.py 2022-10-27
11:13:10.000000000 +0200
@@ -3015,6 +3015,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> AsyncSlackResponse:
"""This wrapper method provides an easy way to upload files using the
following endpoints:
@@ -3113,11 +3114,12 @@
thread_ts=thread_ts,
**kwargs,
)
- await _attach_full_file_metadata_async(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ await _attach_full_file_metadata_async(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
async def files_getUploadURLExternal(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/slack_sdk/web/async_slack_response.py
new/python-slack-sdk-3.19.2/slack_sdk/web/async_slack_response.py
--- old/python-slack-sdk-3.19.1/slack_sdk/web/async_slack_response.py
2022-10-06 06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/web/async_slack_response.py
2022-10-27 11:13:10.000000000 +0200
@@ -1,11 +1,13 @@
"""A Python module for interacting and consuming responses from Slack."""
import logging
-from typing import Union
+from typing import Any, Optional, TypeVar, Union, overload
import slack_sdk.errors as e
from .internal_utils import _next_cursor_is_present
+T = TypeVar("T")
+
class AsyncSlackResponse:
"""An iterable container of response data.
@@ -159,6 +161,14 @@
else:
raise StopAsyncIteration
+ @overload
+ def get(self, key: str, default: None = None) -> Optional[Any]:
+ ...
+
+ @overload
+ def get(self, key: str, default: T) -> T:
+ ...
+
def get(self, key, default=None):
"""Retrieves any key from the response data.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-slack-sdk-3.19.1/slack_sdk/web/client.py
new/python-slack-sdk-3.19.2/slack_sdk/web/client.py
--- old/python-slack-sdk-3.19.1/slack_sdk/web/client.py 2022-10-06
06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/web/client.py 2022-10-27
11:13:10.000000000 +0200
@@ -3006,6 +3006,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> SlackResponse:
"""This wrapper method provides an easy way to upload files using the
following endpoints:
@@ -3104,11 +3105,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/slack_sdk/web/internal_utils.py
new/python-slack-sdk-3.19.2/slack_sdk/web/internal_utils.py
--- old/python-slack-sdk-3.19.1/slack_sdk/web/internal_utils.py 2022-10-06
06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/web/internal_utils.py 2022-10-27
11:13:10.000000000 +0200
@@ -317,12 +317,12 @@
else:
data = file
elif content is not None:
- if isinstance(content, str): # filepath
+ if isinstance(content, str):
data = content.encode("utf-8")
elif isinstance(content, bytes):
data = content
else:
- raise SlackRequestError("The given content must be either filepath
as str or data as bytes")
+ raise SlackRequestError("content for file upload must be 'str'
(UTF-8 encoded) or 'bytes' (for data)")
filename = upload_file.get("filename")
if upload_file.get("filename") is None and isinstance(file, str):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/slack_sdk/web/legacy_client.py
new/python-slack-sdk-3.19.2/slack_sdk/web/legacy_client.py
--- old/python-slack-sdk-3.19.1/slack_sdk/web/legacy_client.py 2022-10-06
06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/web/legacy_client.py 2022-10-27
11:13:10.000000000 +0200
@@ -3017,6 +3017,7 @@
channel: Optional[str] = None,
initial_comment: Optional[str] = None,
thread_ts: Optional[str] = None,
+ request_file_info: bool = True,
**kwargs,
) -> Union[Future, SlackResponse]:
"""This wrapper method provides an easy way to upload files using the
following endpoints:
@@ -3115,11 +3116,12 @@
thread_ts=thread_ts,
**kwargs,
)
- _attach_full_file_metadata(
- client=self,
- token_as_arg=kwargs.get("token"),
- completion=completion,
- )
+ if request_file_info is True:
+ _attach_full_file_metadata(
+ client=self,
+ token_as_arg=kwargs.get("token"),
+ completion=completion,
+ )
return completion
def files_getUploadURLExternal(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-slack-sdk-3.19.1/slack_sdk/web/slack_response.py
new/python-slack-sdk-3.19.2/slack_sdk/web/slack_response.py
--- old/python-slack-sdk-3.19.1/slack_sdk/web/slack_response.py 2022-10-06
06:24:03.000000000 +0200
+++ new/python-slack-sdk-3.19.2/slack_sdk/web/slack_response.py 2022-10-27
11:13:10.000000000 +0200
@@ -1,11 +1,13 @@
"""A Python module for interacting and consuming responses from Slack."""
import logging
-from typing import Union
+from typing import Any, Optional, TypeVar, Union, overload
import slack_sdk.errors as e
from .internal_utils import _next_cursor_is_present
+T = TypeVar("T")
+
class SlackResponse:
"""An iterable container of response data.
@@ -156,6 +158,14 @@
else:
raise StopIteration
+ @overload
+ def get(self, key: str, default: None = None) -> Optional[Any]:
+ ...
+
+ @overload
+ def get(self, key: str, default: T) -> T:
+ ...
+
def get(self, key, default=None):
"""Retrieves any key from the response data.