diff --git a/kallithea/bin/kallithea_cli_base.py b/kallithea/bin/kallithea_cli_base.py --- a/kallithea/bin/kallithea_cli_base.py +++ b/kallithea/bin/kallithea_cli_base.py @@ -12,8 +12,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +import configparser import functools -import io import logging.config import os import re @@ -45,7 +45,7 @@ def read_config(ini_file_name, strip_sec return m.group(0) with open(ini_file_name) as f: - return re.sub(r'^\[([^:]+):(.*)]', repl, f.read().decode(), flags=re.MULTILINE) + return re.sub(r'^\[([^:]+):(.*)]', repl, f.read(), flags=re.MULTILINE) # This placeholder is the main entry point for the kallithea-cli command @@ -72,8 +72,9 @@ def register_command(config_file=False, def runtime_wrapper(config_file, *args, **kwargs): path_to_ini_file = os.path.realpath(config_file) kallithea.CONFIG = paste.deploy.appconfig('config:' + path_to_ini_file) - config_string = read_config(path_to_ini_file, strip_section_prefix=annotated.__name__) - logging.config.fileConfig(io.StringIO(config_string), + cp = configparser.ConfigParser(strict=False) + cp.read_string(read_config(path_to_ini_file, strip_section_prefix=annotated.__name__)) + logging.config.fileConfig(cp, {'__file__': path_to_ini_file, 'here': os.path.dirname(path_to_ini_file)}) if config_file_initialize_app: kallithea.config.middleware.make_app(kallithea.CONFIG.global_conf, **kallithea.CONFIG.local_conf)