You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import subprocess import shutil import os
from . import __version__
cmd_env = { "PATH": os.environ["PATH"], "HOME": os.environ["HOME"], "LANG": "C", "LC_ALL": "C", }
def run(cmd): return subprocess.check_output(cmd, stderr=subprocess.DEVNULL, env=cmd_env)
if (os.path.exists("../.git") or os.path.exists(".git")) and shutil.which("git"): try: git_revision = run(["git", "rev-parse", "HEAD"]).strip().decode("ascii") git_revision_url = f"https://github.com/maunium/stickerpicker/commit/{git_revision}" git_revision = git_revision[:8] except (subprocess.SubprocessError, OSError): git_revision = "unknown" git_revision_url = None
try: git_tag = run(["git", "describe", "--exact-match", "--tags"]).strip().decode("ascii") except (subprocess.SubprocessError, OSError): git_tag = None else: git_revision = "unknown" git_revision_url = None git_tag = None
git_tag_url = (f"https://github.com/maunium/stickerpicker/releases/tag/{git_tag}" if git_tag else None)
if git_tag and __version__ == git_tag[1:].replace("-", ""): version = __version__ linkified_version = f"[{version}]({git_tag_url})" else: if not __version__.endswith("+dev"): __version__ += "+dev" version = f"{__version__}.{git_revision}" if git_revision_url: linkified_version = f"{__version__}.[{git_revision}]({git_revision_url})" else: linkified_version = version
|