ЛОЛ
Evgeniy Privalovdef make_constructor_positions(bot_id, admin=None):
if admin is True:
cmds = list(Commands.objects.filter(
main_page=True,
bot_id__user_api_id__id=bot_id
).values("actions"))
try:
s = sorted(cmds, key=lambda item: item["actions"]["position"]["col"])
lines = [[] for _ in range(len(s))]
for i in s:
if "position" in i["actions"].keys():
position = int(i["actions"]["position"]["row"])-1
try:
lines[position].insert(
int(i["actions"]["position"]["col"])-1, i["actions"]["title"]
)
except:
lines.insert(position, [i["actions"]["title"]])
else:
pass
lines = [i for i in lines if i != []]
c = []
new_line = len(lines)
for _,i in enumerate(lines):
for j in range(len(i)):
i.insert(j*2, [])
i.insert(len(i), [])
c.append(_)
for i in c:
lines.insert(i*2, ["▶️({row}:{col})◀️".format(row=i*2+1, col=1)])
for _, i in enumerate(lines):
count = 1
for col, j in enumerate(i):
if j == []:
i[col] = "▶️({row}:{col})◀️".format(row=_+1, col=count)
count += 1
lines.append(["▶️({row}:{col})◀️".format(row=len(lines)+1, col=1)])
lines += [["Отмена"]]
return lines
except:
return [["Назад"]]
else:
return [["Назад"]]