Spaces:
Running
on
Zero
Running
on
Zero
Upload app.py
Browse files
app.py
CHANGED
@@ -9,11 +9,39 @@ import spaces
|
|
9 |
|
10 |
import subprocess, sys
|
11 |
|
12 |
-
#
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
import gradio
|
19 |
import gradio_client
|
|
|
9 |
|
10 |
import subprocess, sys
|
11 |
|
12 |
+
# ---------------------------------------------------------------------------------
|
13 |
+
# 🛠️ Monkey-patch для gradio_client: игнорируем булевы схемы и не падаем на TypeError
|
14 |
+
# ---------------------------------------------------------------------------------
|
15 |
+
import gradio_client.utils as _gc_utils
|
16 |
+
|
17 |
+
# Сохраняем оригинальные функции
|
18 |
+
_orig_js2pt = _gc_utils._json_schema_to_python_type
|
19 |
+
_orig_get_type = _gc_utils.get_type
|
20 |
+
|
21 |
+
def _safe_json_schema_to_python_type(schema, defs=None):
|
22 |
+
"""
|
23 |
+
Если schema — bool (True/False), возвращаем 'Any',
|
24 |
+
иначе — вызываем оригинальный код.
|
25 |
+
"""
|
26 |
+
if isinstance(schema, bool):
|
27 |
+
return "Any"
|
28 |
+
return _orig_js2pt(schema, defs)
|
29 |
+
|
30 |
+
def _safe_get_type(schema):
|
31 |
+
"""
|
32 |
+
Если schema — bool, возвращаем 'Any',
|
33 |
+
иначе — вызываем оригинальную функцию get_type.
|
34 |
+
"""
|
35 |
+
if isinstance(schema, bool):
|
36 |
+
return "Any"
|
37 |
+
return _orig_get_type(schema)
|
38 |
+
|
39 |
+
# Заменяем в модуле
|
40 |
+
_gc_utils._json_schema_to_python_type = _safe_json_schema_to_python_type
|
41 |
+
_gc_utils.get_type = _safe_get_type
|
42 |
+
# ---------------------------------------------------------------------------------
|
43 |
+
|
44 |
+
# Дальше уже можно безопасно импортировать Gradio
|
45 |
|
46 |
import gradio
|
47 |
import gradio_client
|