Renamed function from arrange_schema to arrange

Added same functionality to InlineKeyboardMarkup
This commit is contained in:
Forden 2019-09-04 10:47:06 +03:00
parent 1460c07e48
commit a6d9a1f4ec
2 changed files with 20 additions and 4 deletions

View file

@ -82,6 +82,19 @@ class InlineKeyboardMarkup(base.TelegramObject):
self.add(button)
return self
def arrange(self, *args):
btns = list()
for a in self.inline_keyboard:
for b in a:
btns.append(b)
self.row_width = max(args)
tmplist = [[InlineKeyboardButton('', '') for _ in range(i)] for i in args]
for a in range(len(tmplist)):
for b in range(len(tmplist[a])):
tmplist[a][b] = btns.pop(0)
self.inline_keyboard = tmplist
return self
class InlineKeyboardButton(base.TelegramObject):
"""

View file

@ -78,10 +78,13 @@ class ReplyKeyboardMarkup(base.TelegramObject):
self.add(button)
return self
def arrange_schema(self, buttons: typing.List[str], count: typing.List[int]):
btns = list(map(KeyboardButton, buttons))
self.row_width = max(count)
tmplist = [[KeyboardButton('') for _ in range(count[i])] for i in range(len(count))]
def arrange(self, *args):
btns = list()
for a in self.keyboard:
for b in a:
btns.append(b)
self.row_width = max(args)
tmplist = [[KeyboardButton('') for _ in range(i)] for i in args]
for a in range(len(tmplist)):
for b in range(len(tmplist[a])):
tmplist[a][b] = btns.pop(0)