mohammed777 commited on
Commit
d885d7d
·
verified ·
1 Parent(s): f31c502

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -15
app.py CHANGED
@@ -6,7 +6,7 @@ from main import evaluate_youtube_playlist_individually_same_method2
6
 
7
  # لا نحتاج إلى requests بعد الآن لأننا لن نجري طلبات HTTP
8
 
9
- def evaluate_playlist_local(youtube_url: str, max_comments_per_video: int = 50, max_workers: int = 3):
10
  """
11
  تستدعي دالة تقييم قائمة تشغيل YouTube مباشرة من ملف main.py.
12
  """
@@ -68,18 +68,13 @@ def evaluate_playlist_local(youtube_url: str, max_comments_per_video: int = 50,
68
 
69
  # للتأكد من أننا نتعامل مع دالة async بشكل صحيح في Gradio (خاصة إذا كان Gradio async):
70
  import asyncio
71
- if asyncio.iscoroutinefunction(evaluate_youtube_playlist_individually_same_method2):
72
- result = await evaluate_youtube_playlist_individually_same_method2(
73
- youtube_url=youtube_url,
74
- max_comments_per_video=max_comments_per_video,
75
- max_workers=max_workers
76
- )
77
- else:
78
- result = evaluate_youtube_playlist_individually_same_method2(
79
- youtube_url=youtube_url,
80
- max_comments_per_video=max_comments_per_video,
81
- max_workers=max_workers
82
- )
83
 
84
 
85
  # التحقق من وجود مفتاح "error" في الاستجابة
@@ -141,6 +136,5 @@ with gr.Blocks(title="تقييم قائمة تشغيل يوتيوب") as demo:
141
 
142
  # يجب أن تكون دالة Gradio `fn` هي async إذا كانت الدالة التي تستدعيها `async`
143
  # إذا كانت `evaluate_playlist_local` دالة `async def`، فإن `demo.launch()` يجب أن تعمل بشكل جيد.
144
- # إذا لم تكن كذلك، فقد تحتاج إلى استخدام `asyncio.run` أو التأكد من أن Gradio يتعامل معها.
145
  # في معظم حالات Gradio، إذا كانت الدالة المسندة إلى `fn` هي `async def`، فإن Gradio سيتعامل معها بشكل صحيح.
146
- demo.launch(debug=True)
 
6
 
7
  # لا نحتاج إلى requests بعد الآن لأننا لن نجري طلبات HTTP
8
 
9
+ async def evaluate_playlist_local(youtube_url: str, max_comments_per_video: int = 50, max_workers: int = 3):
10
  """
11
  تستدعي دالة تقييم قائمة تشغيل YouTube مباشرة من ملف main.py.
12
  """
 
68
 
69
  # للتأكد من أننا نتعامل مع دالة async بشكل صحيح في Gradio (خاصة إذا كان Gradio async):
70
  import asyncio
71
+ # بما أن الدالة evaluate_playlist_local أصبحت async، يمكننا استخدام await مباشرة
72
+ # لإزالة الحاجة إلى التحقق من asyncio.iscoroutinefunction لأننا نعلم أنها async.
73
+ result = await evaluate_youtube_playlist_individually_same_method2(
74
+ youtube_url=youtube_url,
75
+ max_comments_per_video=max_comments_per_video,
76
+ max_workers=max_workers
77
+ )
 
 
 
 
 
78
 
79
 
80
  # التحقق من وجود مفتاح "error" في الاستجابة
 
136
 
137
  # يجب أن تكون دالة Gradio `fn` هي async إذا كانت الدالة التي تستدعيها `async`
138
  # إذا كانت `evaluate_playlist_local` دالة `async def`، فإن `demo.launch()` يجب أن تعمل بشكل جيد.
 
139
  # في معظم حالات Gradio، إذا كانت الدالة المسندة إلى `fn` هي `async def`، فإن Gradio سيتعامل معها بشكل صحيح.
140
+ demo.launch(debug=True)