boompack commited on
Commit
53f820e
·
verified ·
1 Parent(s): 7dff6ea

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -4
app.py CHANGED
@@ -2,12 +2,35 @@ import gradio as gr
2
  import re
3
 
4
  # Функция для обработки входного текста
5
- def process_text(input_text):
6
  # Печать входных данных для отладки
7
  print(f"Входные данные: {input_text}")
8
 
9
  # Регулярное выражение для извлечения данных
10
- pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\sНравится:\s*(\d+))?\s*$"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  # Проверка пустого ввода
13
  if not input_text.strip():
@@ -23,6 +46,11 @@ def process_text(input_text):
23
  if not matches:
24
  return "Совпадения не найдены. Пожалуйста, проверьте ввод."
25
 
 
 
 
 
 
26
  # Формируем вывод
27
  output = []
28
  for i, match in enumerate(matches, 1):
@@ -33,8 +61,10 @@ def process_text(input_text):
33
 
34
  # Настройка Gradio интерфейса
35
  iface = gr.Interface(
36
- fn=process_text,
37
- inputs=gr.Textbox(lines=10, placeholder="Введите текст сюда..."),
 
 
38
  outputs=gr.Textbox(lines=10, placeholder="Результат...")
39
  )
40
 
 
2
  import re
3
 
4
  # Функция для обработки входного текста
5
+ def process_text(input_text, comment_count, pattern):
6
  # Печать входных данных для отладки
7
  print(f"Входные данные: {input_text}")
8
 
9
  # Регулярное выражение для извлечения данных
10
+ if pattern == "Нравится":
11
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\sНравится:\s*(\d+))?\s*$"
12
+ elif pattern == "Лайков":
13
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\sЛайков:\s*(\d+))?\s*$"
14
+ elif pattern == "Like":
15
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\sLike:\s*(\d+))?\s*$"
16
+ elif pattern == "likes":
17
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*likes)?\s*$"
18
+ elif pattern == "like":
19
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*like)?\s*$"
20
+ elif pattern == "like +":
21
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*like)?\s*\+\s*$"
22
+ elif pattern == "Плюс":
23
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*)\s*\+\s*$"
24
+ elif pattern == "Минус":
25
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*)\s*-\s*$"
26
+ elif pattern == "Равно":
27
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*)\s*=\s*$"
28
+ elif pattern == "Точка":
29
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*)\s*\.\s*$"
30
+ elif pattern == "Запятая":
31
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*)\s*\,\s*$"
32
+ elif pattern == "Точка с запятой":
33
+ pattern = r"([a-zA-Z0-9_@]+)\s*(.*?)(?:\s(\d+)\s*)\s*\;\s*$"
34
 
35
  # Проверка пустого ввода
36
  if not input_text.strip():
 
46
  if not matches:
47
  return "Совпадения не найдены. Пожалуйста, проверьте ввод."
48
 
49
+ # Проверка количества комментариев
50
+ actual_comment_count = len(matches)
51
+ if actual_comment_count != int(comment_count):
52
+ return f"Предупреждение: найдено {actual_comment_count} комментариев, но указано {comment_count}."
53
+
54
  # Формируем вывод
55
  output = []
56
  for i, match in enumerate(matches, 1):
 
61
 
62
  # Настройка Gradio интерфейса
63
  iface = gr.Interface(
64
+ fn=lambda input_text, comment_count, pattern: process_text(input_text, comment_count, pattern),
65
+ inputs=[gr.Textbox(lines=10, placeholder="Введите текст сюда..."),
66
+ gr.Number(label="Количество комментариев", value=0),
67
+ gr.Dropdown(label="Шаблон", choices=["Нравится", "Лайков", "Like", "likes", "like", "like +", "Плюс", "Минус", "Равно", "Точка", "Запятая", "Точка с запятой"])],
68
  outputs=gr.Textbox(lines=10, placeholder="Результат...")
69
  )
70