Итак, я пытаюсь создать систему очередей для клона Omegle. Здесь есть пустой словарь «очереди». Всякий раз, когда поступает запрос на публикацию, то есть кто-то нажимает кнопку ЧАТ, может произойти одно из двух.
(1) Если словарь очереди пуст, создайте случайный код, создайте новый элемент в очереди и сохраните информацию через сеансы. После этого отобразите экран ожидания (waiting.html). И проверьте в цикле While, есть ли 2 участника, в этом случае перенаправьте на /chat.
(2) Если словарь очереди НЕ пуст, код будет первым элементом в ключе словаря, который представляет собой случайный 4-значный код, добавьте свое имя в список участников элемента и сохраните все содержимое. посредством сессий. После этого, если количество участников (len(members_list)) равно 2, происходит перенаправление на /chat
Вот код:
#при отправке информации/при запросе публикации/нажатии кнопки чата если len(очередь) == 0: code = "".join(random.choices(ascii_uppercase, k=4)) очередь[код] = {"участники": [имя]} сеанс["имя"] = имя session["favColor"] = favColor сеанс["код"] = код в то время как len(queue
Код: Выделить всё
["members"]) == 1: вернуть render_template("waiting.html") еще: вернуть перенаправление(url_for("чат")) еще: код = следующий (iter (очередь)) очередь[код]["участники"].append(имя) сеанс["имя"] = имя session["favColor"] = favColor сеанс["код"] = код если len(queue[code]["members"]) == 2: вернуть перенаправление(url_for("чат")) Сначала, чтобы проверить, равно ли количество членов 2, я использовал оператор IF в блоке if len(queue) == 0:. Позже, когда это не сработало, я использовал цикл while. ЭТО ЕЩЕ НЕ РАБОТАЕТ