launch.py: make git_tag() and commit_hash() work even when WEBUI_LAUNCH_LIVE_OUTPUT

This commit is contained in:
Aarni Koskela 2023-05-11 23:00:53 +03:00
parent 54c84e63b3
commit 55d222a9f4

View File

@ -5,6 +5,7 @@ import sys
import importlib.util import importlib.util
import platform import platform
import json import json
from functools import lru_cache
from modules import cmd_args from modules import cmd_args
from modules.paths_internal import script_path, extensions_dir from modules.paths_internal import script_path, extensions_dir
@ -14,8 +15,6 @@ args, _ = cmd_args.parser.parse_known_args()
python = sys.executable python = sys.executable
git = os.environ.get('GIT', "git") git = os.environ.get('GIT', "git")
index_url = os.environ.get('INDEX_URL', "") index_url = os.environ.get('INDEX_URL', "")
stored_commit_hash = None
stored_git_tag = None
dir_repos = "repositories" dir_repos = "repositories"
# Whether to default to printing command output # Whether to default to printing command output
@ -56,32 +55,20 @@ Use --skip-python-version-check to suppress this warning.
""") """)
@lru_cache()
def commit_hash(): def commit_hash():
global stored_commit_hash
if stored_commit_hash is not None:
return stored_commit_hash
try: try:
stored_commit_hash = run(f"{git} rev-parse HEAD").strip() return subprocess.check_output(f"{git} rev-parse HEAD", encoding='utf8').strip()
except Exception: except Exception:
stored_commit_hash = "<none>" return "<none>"
return stored_commit_hash
@lru_cache()
def git_tag(): def git_tag():
global stored_git_tag
if stored_git_tag is not None:
return stored_git_tag
try: try:
stored_git_tag = run(f"{git} describe --tags").strip() return subprocess.check_output(f"{git} describe --tags", encoding='utf8').strip()
except Exception: except Exception:
stored_git_tag = "<none>" return "<none>"
return stored_git_tag
def run(command, desc=None, errdesc=None, custom_env=None, live: bool = default_command_live) -> str: def run(command, desc=None, errdesc=None, custom_env=None, live: bool = default_command_live) -> str: