|
import sys |
|
import os |
|
import shutil |
|
import gradio |
|
|
|
|
|
module_path = os.path.join(sys.path[1],"scripts") |
|
detect_module_path = os.path.join(sys.path[0], "detect_extension.py") |
|
|
|
|
|
destination_path = os.path.join(module_path, "detect_extension.py") |
|
|
|
|
|
|
|
|
|
if os.path.isfile(detect_module_path) and not os.path.isfile(destination_path) and os.path.isdir(module_path): |
|
|
|
shutil.copyfile(detect_module_path, destination_path) |
|
|
|
|
|
|
|
is_right_version = False |
|
|
|
|
|
current_version = gradio.__version__ |
|
|
|
|
|
def version_to_tuple(version_string): |
|
return tuple(map(int, version_string.split('.'))) |
|
|
|
minimum_required_version = "3.28.1" |
|
second_required_version = "3.32.0" |
|
|
|
|
|
if version_to_tuple(current_version) < version_to_tuple(minimum_required_version): |
|
print("\nPlease update webui to the latest version for the canvas-zoom extension to work properly, supported versions from 1.1 \n") |
|
elif version_to_tuple(current_version) <= version_to_tuple(second_required_version): |
|
source_dir_name = 'v1_1_v1_5_1' |
|
is_right_version = True |
|
else: |
|
source_dir_name = '' |
|
is_right_version = True |
|
|
|
if is_right_version: |
|
|
|
canvasZoomPath = sys.path[0] |
|
gradioPath = os.path.dirname(gradio.__file__) |
|
|
|
source_dir = os.path.join(canvasZoomPath,"dist", source_dir_name, 'templates', 'frontend') |
|
if not os.path.exists(source_dir): |
|
canvasZoomPath = os.path.dirname(os.path.realpath(__file__)) |
|
source_dir = os.path.join(canvasZoomPath,"dist", source_dir_name, 'templates', 'frontend') |
|
|
|
destination_dir = os.path.join(gradioPath, 'templates', 'frontend') |
|
|
|
|
|
if os.path.exists(destination_dir): |
|
shutil.rmtree(destination_dir) |
|
|
|
|
|
shutil.copytree(source_dir, destination_dir) |
|
|