adapt_parameters method renamed and cleaned
This commit is contained in:
parent
46a8e2f81b
commit
5aade209d3
@ -94,23 +94,18 @@ class TelegramBot(object):
|
||||
return response['result']
|
||||
|
||||
@staticmethod
|
||||
def clean_parameters(parameters, exclude=[]):
|
||||
"""Remove key-value couples from `parameters` dict.
|
||||
def adapt_parameters(parameters, exclude=[]):
|
||||
"""Build a aiohttp.FormData object from given `paramters`.
|
||||
|
||||
Remove the couple having `self` as key, keys in `exclude` list,
|
||||
and couples with empty value.
|
||||
Adapt files parameters.
|
||||
Exclude `self`, empty values and parameters in `exclude` list.
|
||||
Cast integers to string to avoid TypeError during json serialization.
|
||||
"""
|
||||
exclude.append('self')
|
||||
data = aiohttp.FormData()
|
||||
for key, value in parameters.items():
|
||||
if (key in exclude or value is None):
|
||||
pass
|
||||
elif type(value) is int:
|
||||
data.add_field(key, str(value))
|
||||
elif key in ['photo', 'audio', 'document']:
|
||||
data.add_field(key, value)
|
||||
else:
|
||||
if not (key in exclude or value is None):
|
||||
if type(value) is int:
|
||||
value = str(value)
|
||||
data.add_field(key, value)
|
||||
return data
|
||||
|
||||
@ -151,7 +146,7 @@ class TelegramBot(object):
|
||||
"""
|
||||
response_object = None
|
||||
session, session_must_be_closed = self.get_session(method)
|
||||
parameters = self.clean_parameters(parameters, exclude=exclude)
|
||||
parameters = self.adapt_parameters(parameters, exclude=exclude)
|
||||
try:
|
||||
async with session.post(
|
||||
"https://api.telegram.org/bot"
|
||||
|
Loading…
x
Reference in New Issue
Block a user