Mentosyevsky commited on
Commit
d2502fb
·
verified ·
1 Parent(s): 9d81305

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -46
app.py CHANGED
@@ -5,60 +5,52 @@ from text import analyze_text # 从 text.py 导入
5
  from video import analyze_video # 从 video.py 导入
6
  from audio import analyze_audio # 从 audio.py 导入
7
 
8
- def process_input(file, text, selected_lang):
9
- print(f"🌐 [DEBUG] 用户选择语言: {selected_lang}")
10
- ...
11
 
12
 
13
  def process_input(file, text, selected_lang):
 
 
14
  # 输入优先级: 文件 > 文本
15
  if file:
16
  ext = os.path.splitext(file)[-1].lower()
17
-
18
  if ext in [".txt", ".pdf", ".docx"]:
19
- try:
20
- extracted_text, auto_lang = extract_text(file)
21
- lang = selected_lang if selected_lang != "auto" else auto_lang
22
- return analyze_text(extracted_text, lang)
23
- except Exception as e:
24
- return f"❌ File parsing failed: {str(e)}"
25
-
26
- elif ext in [".mp3", ".wav", ".m4a"]:
27
- lang = None if selected_lang == "auto" else selected_lang
28
- try:
29
- return analyze_audio(file, lang)
30
- except Exception as e:
31
- return f"❌ Audio analysis failed: {str(e)}"
32
-
33
- elif ext in [".mp4", ".mov"]:
34
- lang = None if selected_lang == "auto" else selected_lang
35
- try:
36
- return analyze_video(file, lang)
37
- except Exception as e:
38
- return f"❌ Video analysis failed: {str(e)}"
39
-
40
- else:
41
- return "❌ Unsupported file type"
42
-
43
- # 否则使用纯文本输入
44
- elif text.strip():
45
- lang = selected_lang if selected_lang != "auto" else detect(text)
46
- try:
47
- return analyze_text(text, lang)
48
- except Exception as e:
49
- return f"🔥 Analysis error: {str(e)}"
50
 
51
- else:
52
- return "⚠️ Please upload a file or enter some text."
53
-
54
- # 如果用户手动选择语言,则覆盖自动检测
55
- if selected_lang != "auto":
56
- lang = selected_lang
57
-
58
- try:
59
- return analyze_text(text, lang)
60
- except Exception as e:
61
- return f"🔥 Analysis error: {str(e)}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
 
63
  # 构建交互界面
64
  import gradio as gr
 
5
  from video import analyze_video # 从 video.py 导入
6
  from audio import analyze_audio # 从 audio.py 导入
7
 
 
 
 
8
 
9
 
10
  def process_input(file, text, selected_lang):
11
+ print(f"[DEBUG] 用户选择语言: {selected_lang}")
12
+
13
  # 输入优先级: 文件 > 文本
14
  if file:
15
  ext = os.path.splitext(file)[-1].lower()
16
+
17
  if ext in [".txt", ".pdf", ".docx"]:
18
+ try:
19
+ extracted_text, auto_lang = extract_text(file)
20
+ lang = selected_lang if selected_lang != "auto" else auto_lang
21
+ print(f"[DEBUG] 使用语言: {lang}")
22
+ return analyze_text(extracted_text, lang)
23
+ except Exception as e:
24
+ return f"❌ File parsing failed: {str(e)}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
+ elif ext in [".mp3", ".wav", ".m4a"]:
27
+ lang = None if selected_lang == "auto" else selected_lang
28
+ try:
29
+ return analyze_audio(file, lang)
30
+ except Exception as e:
31
+ return f"❌ Audio analysis failed: {str(e)}"
32
+
33
+ elif ext in [".mp4", ".mov"]:
34
+ lang = None if selected_lang == "auto" else selected_lang
35
+ try:
36
+ return analyze_video(file, lang)
37
+ except Exception as e:
38
+ return f"❌ Video analysis failed: {str(e)}"
39
+
40
+ else:
41
+ return "❌ Unsupported file type"
42
+
43
+ # 如果没有上传文件,但用户输入了文本
44
+ elif text.strip():
45
+ lang = selected_lang if selected_lang != "auto" else detect(text)
46
+ print(f"[DEBUG] 使用语言: {lang}")
47
+ try:
48
+ return analyze_text(text, lang)
49
+ except Exception as e:
50
+ return f"🔥 Analysis error: {str(e)}"
51
+
52
+ else:
53
+ return "⚠️ Please upload a file or enter some text."
54
 
55
  # 构建交互界面
56
  import gradio as gr