Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 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)
|