mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Updated asyncio_helper to support InputFile and fixed unecessary methods
This commit is contained in:
parent
65b353ffae
commit
d03f3b2c52
@ -57,7 +57,7 @@ class SessionManager:
|
|||||||
session_manager = SessionManager()
|
session_manager = SessionManager()
|
||||||
|
|
||||||
async def _process_request(token, url, method='get', params=None, files=None, request_timeout=None):
|
async def _process_request(token, url, method='get', params=None, files=None, request_timeout=None):
|
||||||
params = prepare_data(params, files)
|
params = _prepare_data(params, files)
|
||||||
if request_timeout is None:
|
if request_timeout is None:
|
||||||
request_timeout = REQUEST_TIMEOUT
|
request_timeout = REQUEST_TIMEOUT
|
||||||
timeout = aiohttp.ClientTimeout(total=request_timeout)
|
timeout = aiohttp.ClientTimeout(total=request_timeout)
|
||||||
@ -85,20 +85,7 @@ async def _process_request(token, url, method='get', params=None, files=None, re
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def _prepare_data(params=None, files=None):
|
||||||
def prepare_file(obj):
|
|
||||||
"""
|
|
||||||
returns os.path.basename for a given file
|
|
||||||
|
|
||||||
:param obj:
|
|
||||||
:return:
|
|
||||||
"""
|
|
||||||
name = getattr(obj, 'name', None)
|
|
||||||
if name and isinstance(name, str) and name[0] != '<' and name[-1] != '>':
|
|
||||||
return os.path.basename(name)
|
|
||||||
|
|
||||||
|
|
||||||
def prepare_data(params=None, files=None):
|
|
||||||
"""
|
"""
|
||||||
prepare data for request.
|
prepare data for request.
|
||||||
|
|
||||||
@ -114,15 +101,10 @@ def prepare_data(params=None, files=None):
|
|||||||
|
|
||||||
if files:
|
if files:
|
||||||
for key, f in files.items():
|
for key, f in files.items():
|
||||||
if isinstance(f, tuple):
|
if isinstance(f, types.InputFile):
|
||||||
if len(f) == 2:
|
f = f.file
|
||||||
filename, fileobj = f
|
|
||||||
else:
|
|
||||||
raise ValueError('Tuple must have exactly 2 elements: filename, fileobj')
|
|
||||||
else:
|
|
||||||
filename, fileobj = prepare_file(f) or key, f
|
|
||||||
|
|
||||||
data.add_field(key, fileobj, filename=filename)
|
data.add_field(key, f, filename=key)
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user