Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -119,6 +119,11 @@ class GUIProcessManager:
|
|
| 119 |
self.process = None; return f"[Stopped PID {pid}]"
|
| 120 |
self.process = None; return "[No process]"
|
| 121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
gui_mgr = GUIProcessManager()
|
| 123 |
|
| 124 |
# ═══════════════════════════════════════
|
|
@@ -554,7 +559,7 @@ input, textarea, select { color: #0f8 !important; }
|
|
| 554 |
# ═══════════════════════════════════════
|
| 555 |
# UI
|
| 556 |
# ═══════════════════════════════════════
|
| 557 |
-
with gr.Blocks(title="Axon Pro"
|
| 558 |
|
| 559 |
with gr.Row(elem_classes="axon-header"):
|
| 560 |
gr.Markdown("# ⬡ AXON PRO\n\nPYTHON AI IDE — v4.0")
|
|
@@ -881,4 +886,4 @@ if __name__ == "__main__":
|
|
| 881 |
atexit.register(gui_mgr.stop)
|
| 882 |
atexit.register(vdisplay.cleanup)
|
| 883 |
demo.queue().launch(server_name="0.0.0.0", server_port=7860,
|
| 884 |
-
ssr_mode=False, allowed_paths=["/tmp"])
|
|
|
|
| 119 |
self.process = None; return f"[Stopped PID {pid}]"
|
| 120 |
self.process = None; return "[No process]"
|
| 121 |
|
| 122 |
+
@property
|
| 123 |
+
def is_running(self): return self.process is not None and self.process.poll() is None
|
| 124 |
+
|
| 125 |
+
def get_status(self): return f"● PID {self.process.pid}" if self.is_running else "○ idle"
|
| 126 |
+
|
| 127 |
gui_mgr = GUIProcessManager()
|
| 128 |
|
| 129 |
# ═══════════════════════════════════════
|
|
|
|
| 559 |
# ═══════════════════════════════════════
|
| 560 |
# UI
|
| 561 |
# ═══════════════════════════════════════
|
| 562 |
+
with gr.Blocks(title="Axon Pro") as demo:
|
| 563 |
|
| 564 |
with gr.Row(elem_classes="axon-header"):
|
| 565 |
gr.Markdown("# ⬡ AXON PRO\n\nPYTHON AI IDE — v4.0")
|
|
|
|
| 886 |
atexit.register(gui_mgr.stop)
|
| 887 |
atexit.register(vdisplay.cleanup)
|
| 888 |
demo.queue().launch(server_name="0.0.0.0", server_port=7860,
|
| 889 |
+
theme=theme, css=css, ssr_mode=False, allowed_paths=["/tmp"])
|