import os import re import subprocess from util.config.provider import get_config_provider ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) CONF_DIR = os.getenv("QUAYCONF", os.path.join(ROOT_DIR, "conf/")) STATIC_DIR = os.path.join(ROOT_DIR, 'static/') STATIC_LDN_DIR = os.path.join(STATIC_DIR, 'ldn/') STATIC_FONTS_DIR = os.path.join(STATIC_DIR, 'fonts/') STATIC_WEBFONTS_DIR = os.path.join(STATIC_DIR, 'webfonts/') TEMPLATE_DIR = os.path.join(ROOT_DIR, 'templates/') IS_TESTING = 'TEST' in os.environ IS_BUILDING = 'BUILDING' in os.environ IS_KUBERNETES = 'KUBERNETES_SERVICE_HOST' in os.environ OVERRIDE_CONFIG_DIRECTORY = os.path.join(CONF_DIR, 'stack/') config_provider = get_config_provider(OVERRIDE_CONFIG_DIRECTORY, 'config.yaml', 'config.py', testing=IS_TESTING, kubernetes=IS_KUBERNETES) def _get_version_number_changelog(): try: with open(os.path.join(ROOT_DIR, 'CHANGELOG.md')) as f: return re.search(r'(v[0-9]+\.[0-9]+\.[0-9]+)', f.readline()).group(0) except IOError: return '' def _get_git_sha(): if os.path.exists("GIT_HEAD"): with open(os.path.join(ROOT_DIR, "GIT_HEAD")) as f: return f.read() else: try: return subprocess.check_output(["git", "rev-parse", "HEAD"]).strip()[0:8] except (OSError, subprocess.CalledProcessError, Exception): pass return "unknown" __version__ = _get_version_number_changelog() __gitrev__ = _get_git_sha()