File size: 2,417 Bytes
c336648 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import os
import sys
import json
import launch
# Path to Python executable
python = sys.executable
# Path to the 'canvas-zoom' extension
canvasZoomPath = os.path.join(sys.path[2], "extensions", "canvas-zoom")
# Path to the current script
script_path = os.path.realpath(__file__)
# Path to the 'requirements.txt' file
requirements_path = os.path.join(sys.path[2], "requirements.txt")
config_path = os.path.join(sys.path[2], "config.json")
# Define vars
gradio_version = None
should_script_work = False
# Read the version of 'gradio' from 'requirements.txt'
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
# In case we have not found anything, we skip this script.
if should_script_work:
# Check if config.json exists
if os.path.isfile(config_path):
with open(config_path, 'r') as config_file:
config = json.load(config_file)
# Check if "canvas-zoom" is in the list of disabled_extensions
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)
# Check if disable_all_extensions is not "none"
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)
# Check if the folder exists
if not os.path.exists(canvasZoomPath) and gradio_version is not None:
# If the folder does not exist and we found 'gradio' version, uninstall 'gradio' and install it again
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)
# Deleting the file
os.remove(script_path) |