run installers for newly installed extensions
This commit is contained in:
parent
a1a376331c
commit
98947d173e
2 changed files with 18 additions and 11 deletions
26
launch.py
26
launch.py
|
@ -105,22 +105,26 @@ def version_check(commit):
|
||||||
print("version check failed", e)
|
print("version check failed", e)
|
||||||
|
|
||||||
|
|
||||||
|
def run_extension_installer(extension_dir):
|
||||||
|
path_installer = os.path.join(extension_dir, "install.py")
|
||||||
|
if not os.path.isfile(path_installer):
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
env = os.environ.copy()
|
||||||
|
env['PYTHONPATH'] = os.path.abspath(".")
|
||||||
|
|
||||||
|
print(run(f'"{python}" "{path_installer}"', errdesc=f"Error running install.py for extension {extension_dir}", custom_env=env))
|
||||||
|
except Exception as e:
|
||||||
|
print(e, file=sys.stderr)
|
||||||
|
|
||||||
|
|
||||||
def run_extensions_installers():
|
def run_extensions_installers():
|
||||||
if not os.path.isdir(dir_extensions):
|
if not os.path.isdir(dir_extensions):
|
||||||
return
|
return
|
||||||
|
|
||||||
for dirname_extension in os.listdir(dir_extensions):
|
for dirname_extension in os.listdir(dir_extensions):
|
||||||
path_installer = os.path.join(dir_extensions, dirname_extension, "install.py")
|
run_extension_installer(os.path.join(dir_extensions, dirname_extension))
|
||||||
if not os.path.isfile(path_installer):
|
|
||||||
continue
|
|
||||||
|
|
||||||
try:
|
|
||||||
env = os.environ.copy()
|
|
||||||
env['PYTHONPATH'] = os.path.abspath(".")
|
|
||||||
|
|
||||||
print(run(f'"{python}" "{path_installer}"', errdesc=f"Error running install.py for extension {dirname_extension}", custom_env=env))
|
|
||||||
except Exception as e:
|
|
||||||
print(e, file=sys.stderr)
|
|
||||||
|
|
||||||
|
|
||||||
def prepare_enviroment():
|
def prepare_enviroment():
|
||||||
|
|
|
@ -134,6 +134,9 @@ def install_extension_from_url(dirname, url):
|
||||||
|
|
||||||
os.rename(tmpdir, target_dir)
|
os.rename(tmpdir, target_dir)
|
||||||
|
|
||||||
|
import launch
|
||||||
|
launch.run_extension_installer(target_dir)
|
||||||
|
|
||||||
extensions.list_extensions()
|
extensions.list_extensions()
|
||||||
return [extension_table(), html.escape(f"Installed into {target_dir}. Use Installed tab to restart.")]
|
return [extension_table(), html.escape(f"Installed into {target_dir}. Use Installed tab to restart.")]
|
||||||
finally:
|
finally:
|
||||||
|
|
Loading…
Reference in a new issue