DmitrMakeev commited on
Commit
a7b412b
·
verified ·
1 Parent(s): d56557b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -69
app.py CHANGED
@@ -30,19 +30,7 @@ import base64
30
  from base import replace_null_with_empty_string
31
 
32
 
33
- #test
34
- from pywebio.platform.flask import webio_view
35
- from pywebio import start_server
36
- from pywebio.input import *
37
- from pywebio.output import *
38
- from pywebio.session import defer_call, info as session_info, run_async, run_js
39
- import asyncio
40
 
41
- chat_msgs = []
42
- online_users = set()
43
-
44
- MAX_MESSAGES_COUNT = 100
45
- #test
46
 
47
  # Замените на ваш реальный ключ Системы
48
  api_key_sys = os.getenv('api_key_sys')
@@ -2135,63 +2123,6 @@ def monitor():
2135
 
2136
 
2137
 
2138
-
2139
- async def main():
2140
- global chat_msgs
2141
-
2142
- put_markdown("## 🧊 Добро пожаловать в онлайн чат!\nИсходный код данного чата укладывается в 100 строк кода!")
2143
-
2144
- msg_box = output()
2145
- put_scrollable(msg_box, height=300, keep_bottom=True)
2146
-
2147
- nickname = await input("Войти в чат", required=True, placeholder="Ваше имя", validate=lambda n: "Такой ник уже используется!" if n in online_users or n == '📢' else None)
2148
- online_users.add(nickname)
2149
-
2150
- chat_msgs.append(('📢', f'`{nickname}` присоединился к чату!'))
2151
- msg_box.append(put_markdown(f'📢 `{nickname}` присоединился к чату'))
2152
-
2153
- refresh_task = run_async(refresh_msg(nickname, msg_box))
2154
-
2155
- while True:
2156
- data = await input_group("💭 Новое сообщение", [
2157
- input(placeholder="Текст сообщения ...", name="msg"),
2158
- actions(name="cmd", buttons=["Отправить", {'label': "Выйти из чата", 'type': 'cancel'}])
2159
- ], validate = lambda m: ('msg', "Введите текст сообщения!") if m["cmd"] == "Отправить" and not m['msg'] else None)
2160
-
2161
- if data is None:
2162
- break
2163
-
2164
- msg_box.append(put_markdown(f"`{nickname}`: {data['msg']}"))
2165
- chat_msgs.append((nickname, data['msg']))
2166
-
2167
- refresh_task.close()
2168
-
2169
- online_users.remove(nickname)
2170
- toast("Вы вышли из чата!")
2171
- msg_box.append(put_markdown(f'📢 Пользователь `{nickname}` покинул чат!'))
2172
- chat_msgs.append(('📢', f'Пользователь `{nickname}` покинул чат!'))
2173
-
2174
- put_buttons(['Перезайти'], onclick=lambda btn:run_js('window.location.reload()'))
2175
-
2176
- async def refresh_msg(nickname, msg_box):
2177
- global chat_msgs
2178
- last_idx = len(chat_msgs)
2179
-
2180
- while True:
2181
- await asyncio.sleep(1)
2182
-
2183
- for m in chat_msgs[last_idx:]:
2184
- if m[0] != nickname: # if not a message from current user
2185
- msg_box.append(put_markdown(f"`{m[0]}`: {m[1]}"))
2186
-
2187
- # remove expired
2188
- if len(chat_msgs) > MAX_MESSAGES_COUNT:
2189
- chat_msgs = chat_msgs[len(chat_msgs) // 2:]
2190
-
2191
- last_idx = len(chat_msgs)
2192
-
2193
- # Создаем маршрут для чата
2194
- app.add_url_rule('/chat', 'webio_view', webio_view(main), methods=['GET', 'POST', 'OPTIONS'])
2195
 
2196
 
2197
 
 
30
  from base import replace_null_with_empty_string
31
 
32
 
 
 
 
 
 
 
 
33
 
 
 
 
 
 
34
 
35
  # Замените на ваш реальный ключ Системы
36
  api_key_sys = os.getenv('api_key_sys')
 
2123
 
2124
 
2125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2126
 
2127
 
2128