| |
|
|
| from pathlib import Path |
| import os |
| import sys |
|
|
| |
| FILE = Path("/usr/local/lib/python3.10/site-packages/gradio/templates/node/build/index.js") |
|
|
| def patch_gradio(): |
| if not FILE.exists(): |
| print("[PATCH] index.js bulunamadı! Yol doğru mu kontrol et.") |
| return False |
|
|
| text = FILE.read_text(encoding="utf-8") |
|
|
| |
| if "// ===== CUSTOM NODE PROXY =====" in text: |
| print("[PATCH] index.js zaten patch'lenmiş durumda.") |
| return False |
|
|
| |
| marker = """\tif (route === "python") {\t\tproxy.web(req, res, { target: pythonTarget });\t\treturn;\t} |
| """ |
|
|
| |
| patch = """\tif (route === "python") {\t\tproxy.web(req, res, { target: pythonTarget });\t\treturn;\t}\t// ===== CUSTOM NODE PROXY =====\tif (path === "/node" || path.startsWith("/node/")) {\t\treq.url = req.url.replace(/^\\/node/, "") || "/";\t\tproxy.web(req, res, {\t\t\ttarget: "http://127.0.0.1:8888",\t\t\tchangeOrigin: true\t\t});\t\treturn;\t} |
| """ |
|
|
| if marker not in text: |
| print("[PATCH] index.js içinde hedef marker bulunamadı!") |
| return False |
|
|
| |
| FILE.write_text(text.replace(marker, patch), encoding="utf-8") |
| print("[PATCH] index.js başarıyla patchlendi.") |
| return True |
|
|
| |
| current_file = Path(__file__) |
| file_content = current_file.read_text(encoding="utf-8") |
|
|
| |
| if "# AUTO_PATCH_DONE=0" in file_content: |
| print("[SÜREÇ] İlk çalıştırma algılandı. İşlemler başlıyor...") |
| |
| |
| patched = patch_gradio() |
| |
| |
| updated_content = file_content.replace("# AUTO_PATCH_DONE=0", "# AUTO_PATCH_DONE=1") |
| current_file.write_text(updated_content, encoding="utf-8") |
| print("[SÜREÇ] app.py güncellendi (# AUTO_PATCH_DONE=1 yapıldı).") |
| |
| |
| print("[SÜREÇ] Process yeniden başlatılıyor (os.execv)...") |
| os.execv(sys.executable, [sys.executable] + sys.argv) |
|
|
| else: |
| |
| print("[SÜREÇ] İkinci aşama/Restart sonrası açılış. Patch adımları atlandı.") |
|
|
| |
| |
| |
|
|
| import gradio as gr |
| import spaces |
|
|
| @spaces.GPU |
| def dummy(): |
| return "ok" |
|
|
| with gr.Blocks(title="Patch Test") as demo: |
| gr.Markdown("# Patch Test") |
| gr.Markdown("Gradio başarıyla patch'lendi ve restart atıldı.") |
| gr.Markdown("Eğer bu sayfayı görüyorsan, startup sorunsuz tamamlanmış demektir!") |
|
|
| |
| demo.launch( |
| server_name="0.0.0.0", |
| server_port=7860, |
| ) |