%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 188.40.95.74 / Your IP : 216.73.216.208 Web Server : Apache System : Linux cp01.striminghost.net 3.10.0-1160.119.1.el7.tuxcare.els13.x86_64 #1 SMP Fri Nov 22 06:29:45 UTC 2024 x86_64 User : vlasotin ( 1054) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/python2.7/site-packages/leapp/ |
Upload File : |
import functools import os import re from six.moves import configparser from leapp.utils.repository import find_repository_basedir _LEAPP_CONFIG = None # files that will get reported at the end of a preupgrade/upgrade run if they were created/modified during it _REPORTS = [ 'leapp-report.json', 'leapp-report.txt', ] # debug logs that will get reported at the end of a preupgrade/upgrade run if they were created/modified during it _LOGS = [ 'leapp-upgrade.log', 'leapp-preupgrade.log' ] # files that will go into the leapp-logs.tar.gz archive and get deleted each time a run is started _FILES_TO_ARCHIVE = [ 'dnf-plugin-data.txt', ] + _REPORTS + _LOGS _CONFIG_DEFAULTS = { 'archive': { 'dir': '/var/log/leapp/archive/', }, 'database': { 'path': '/var/lib/leapp/leapp.db', }, 'debug': { 'dir': '/var/log/leapp/dnf-debugdata/', }, 'files_to_archive': { 'dir': '/var/log/leapp/', 'files': ','.join(_FILES_TO_ARCHIVE), }, 'lock': { 'path': '/var/run/leapp.pid' }, 'logs': { 'dir': '/var/log/leapp/', 'files': ','.join(_LOGS), }, 'report': { 'dir': '/var/log/leapp/', 'files': ','.join(_REPORTS), 'answerfile': '/var/log/leapp/answerfile', 'userchoices': '/var/log/leapp/answerfile.userchoices', 'schema': '1.1.0' }, 'repositories': { 'repo_path': '.', }, } class BetterConfigParser(configparser.ConfigParser): _EINTERPOL = re.compile(r"\$\{([^}]+)\}") def get(self, section, *args, **kwargs): depth = kwargs.pop('depth', configparser.MAX_INTERPOLATION_DEPTH) return self._resolve(BetterConfigParser.__bases__[0].get(self, section, *args, **kwargs), depth=depth, section=section) def _resolve(self, value, depth, section): if depth: if '${' not in value: return value replacer = functools.partial(self._sub_interpol, depth=depth, section=section) value = BetterConfigParser._EINTERPOL.sub(replacer, value) return value def _sub_interpol(self, match, depth, section): s = match.group(1) if not s: return match.group() parts = s.split(':') if len(parts) == 1: parts.insert(0, section) return self.get(*parts, depth=depth - 1) def get_config(): global _LEAPP_CONFIG if not _LEAPP_CONFIG: repository_defaults = {} if find_repository_basedir(os.environ.get('LEAPP_CONFIG', '.')): repository_defaults['repository'] = { 'root_dir': find_repository_basedir(os.environ.get('LEAPP_CONFIG', '.')), 'state_dir': '${root_dir}/.leapp', } # Backwards compatibility for older repositories that still used the 'project' terminology. repository_defaults['project'] = repository_defaults['repository'] _LEAPP_CONFIG = BetterConfigParser() for section, values in tuple(_CONFIG_DEFAULTS.items()) + tuple(repository_defaults.items()): if not _LEAPP_CONFIG.has_section(section): _LEAPP_CONFIG.add_section(section) for name, value in values.items(): if value is not None: _LEAPP_CONFIG.set(section, name, value) _LEAPP_CONFIG.read([os.getenv('LEAPP_CONFIG', '/etc/leapp/leapp.conf')]) return _LEAPP_CONFIG