ЛОЛ

ЛОЛ

Evgeniy Privalov

def 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 [["Назад"]]

Report Page