DmitrMakeev commited on
Commit
b57cee1
·
verified ·
1 Parent(s): a558069

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +77 -0
app.py CHANGED
@@ -13,6 +13,10 @@ import uuid
13
  from io import BytesIO
14
 
15
 
 
 
 
 
16
 
17
  from tabulate import tabulate
18
  import numpy as np
@@ -920,6 +924,79 @@ def handle_calculation():
920
 
921
 
922
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
923
 
924
 
925
  if __name__ == '__main__':
 
13
  from io import BytesIO
14
 
15
 
16
+ import uuid
17
+
18
+
19
+
20
 
21
  from tabulate import tabulate
22
  import numpy as np
 
924
 
925
 
926
 
927
+
928
+
929
+
930
+
931
+
932
+ # Чат
933
+
934
+
935
+ # Хранилище сообщений (в реальном проекте используйте БД)
936
+ messages = []
937
+ # Словарь для отслеживания пользователей (опционально)
938
+ users = {}
939
+
940
+ @app.route('/chat')
941
+ def index():
942
+ """Главная страница с чатом"""
943
+ # Генерируем уникальный ID для пользователя при первом заходе
944
+ user_id = str(uuid.uuid4())[:8] # Берем первые 8 символов UUID
945
+ users[user_id] = {
946
+ 'joined': datetime.datetime.now().strftime("%H:%M:%S")
947
+ }
948
+ return render_template('chat.html', user_id=user_id)
949
+
950
+ @app.route('/send_message', methods=['POST'])
951
+ def send_message():
952
+ """Прием новых сообщений"""
953
+ data = request.json
954
+ user_id = data.get('user_id', 'anonymous')
955
+ message_text = data.get('message', '').strip()
956
+
957
+ if message_text:
958
+ # Создаем объект сообщения
959
+ message = {
960
+ 'id': len(messages) + 1,
961
+ 'user_id': user_id,
962
+ 'text': message_text,
963
+ 'timestamp': datetime.datetime.now().strftime("%H:%M:%S"),
964
+ 'username': f"User_{user_id}" # Можно сделать имена настраиваемыми
965
+ }
966
+ messages.append(message)
967
+
968
+ # Ограничиваем историю сообщений (последние 100)
969
+ if len(messages) > 100:
970
+ messages.pop(0)
971
+
972
+ return jsonify({'status': 'success'})
973
+
974
+ return jsonify({'status': 'error', 'message': 'Empty message'})
975
+
976
+ @app.route('/get_messages')
977
+ def get_messages():
978
+ """Получение всех сообщений"""
979
+ return jsonify({'messages': messages})
980
+
981
+ @app.route('/get_new_messages')
982
+ def get_new_messages():
983
+ """Получение только новых сообщений (оптимизация)"""
984
+ last_id = request.args.get('last_id', 0, type=int)
985
+ new_messages = [msg for msg in messages if msg['id'] > last_id]
986
+ return jsonify({'messages': new_messages})
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
 
1001
 
1002
  if __name__ == '__main__':