|
import os |
|
import sys |
|
import json |
|
import launch |
|
|
|
|
|
python = sys.executable |
|
|
|
|
|
canvasZoomPath = os.path.join(sys.path[2], "extensions", "canvas-zoom") |
|
|
|
|
|
script_path = os.path.realpath(__file__) |
|
|
|
|
|
requirements_path = os.path.join(sys.path[2], "requirements.txt") |
|
config_path = os.path.join(sys.path[2], "config.json") |
|
|
|
|
|
gradio_version = None |
|
should_script_work = False |
|
|
|
|
|
if os.path.isfile(requirements_path): |
|
with open(requirements_path, "r") as file: |
|
lines = file.readlines() |
|
gradio_line = next((line for line in lines if line.startswith("gradio")), None) |
|
gradio_version = gradio_line.split("==")[1].strip() if gradio_line else None |
|
should_script_work = True |
|
|
|
|
|
if should_script_work: |
|
|
|
if os.path.isfile(config_path): |
|
with open(config_path, 'r') as config_file: |
|
config = json.load(config_file) |
|
|
|
if "canvas-zoom" in config.get('disabled_extensions', []): |
|
launch.run(f'"{python}" -m pip install --force-reinstall --no-deps gradio=={gradio_version}', desc=f"Uninstalling modified gradio for canvas-zoom", errdesc=f"Couldn't uninstall canvas-zoom", live=False) |
|
os.remove(script_path) |
|
|
|
|
|
if config.get('disable_all_extensions', 'none') == 'all': |
|
launch.run(f'"{python}" -m pip install --force-reinstall --no-deps gradio=={gradio_version}', desc=f"Uninstalling modified gradio for canvas-zoom", errdesc=f"Couldn't uninstall canvas-zoom", live=False) |
|
os.remove(script_path) |
|
|
|
|
|
if not os.path.exists(canvasZoomPath) and gradio_version is not None: |
|
|
|
launch.run(f'"{python}" -m pip install --force-reinstall --no-deps gradio=={gradio_version}', desc=f"Uninstalling modified gradio for canvas-zoom", errdesc=f"Couldn't uninstall canvas-zoom", live=False) |
|
|
|
os.remove(script_path) |