Repository URL to install this package:
Version:
5.2.8-5.2 ▾
|
# Copyright 2018 TrilioData Inc.
# All Rights Reserved.
import pbr.version
import sys
from dmapi.i18n import _LE
from oslo_log import log as logging
DMAPI_VENDOR = "Trilio Data, Inc"
DMAPI_PRODUCT = "TrilioVault"
DMAPI_PACKAGE = None # OS distro package version suffix
loaded = False
LOG = logging.getLogger(__name__)
if sys.version_info[0] < 3:
version_info = pbr.version.VersionInfo('dmapi')
else:
try:
version_info = pbr.version.VersionInfo('python3-dmapi')
version_info.version_string()
except Exception as ex:
LOG.debug("{0}\n\npython3-dmapi not installed; fetching version from python3-dmapi-el9 package".format(ex))
version_info = pbr.version.VersionInfo('python3-dmapi-el9')
version_string = version_info.version_string
def _load_config():
# Don't load in global context, since we can't assume
# these modules are accessible when distutils uses
# this module
from six.moves import configparser
from oslo_config import cfg
from oslo_log import log as logging
global loaded, DMAPI_VENDOR, DMAPI_PRODUCT, DMAPI_PACKAGE
if loaded:
return
loaded = True
cfgfile = cfg.CONF.find_file("release")
if cfgfile is None:
return
try:
cfg = configparser.RawConfigParser()
cfg.read(cfgfile)
if cfg.has_option("Dmapi", "vendor"):
DMAPI_VENDOR = cfg.get("Dmapi", "vendor")
if cfg.has_option("Dmapi", "product"):
DMAPI_PRODUCT = cfg.get("Dmapi", "product")
if cfg.has_option("Dmapi", "package"):
DMAPI_PACKAGE = cfg.get("Dmapi", "package")
except Exception as ex:
LOG = logging.getLogger(__name__)
LOG.error(_LE("Failed to load %(cfgfile)s: %(ex)s"),
{'cfgfile': cfgfile, 'ex': ex})
def vendor_string():
_load_config()
return DMAPI_VENDOR
def product_string():
_load_config()
return DMAPI_PRODUCT
def package_string():
_load_config()
return DMAPI_PACKAGE
def version_string_with_package():
if package_string() is None:
return version_info.version_string()
else:
return "%s-%s" % (version_info.version_string(), package_string())