diff options
Diffstat (limited to 'src/mailman/config/config.py')
| -rw-r--r-- | src/mailman/config/config.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py index c92485176..c6fe2041a 100644 --- a/src/mailman/config/config.py +++ b/src/mailman/config/config.py @@ -32,7 +32,7 @@ import sys from flufl.lock import Lock from lazr.config import ConfigSchema, as_boolean -from pkg_resources import resource_filename, resource_string +from pkg_resources import resource_filename, resource_string as resource_bytes from six.moves.configparser import ConfigParser, RawConfigParser from string import Template from unittest.mock import patch @@ -114,7 +114,7 @@ class Configuration: self._config = schema.load(config_file) if filename is not None: self.filename = filename - with open(filename) as user_config: + with open(filename, 'r', encoding='utf-8') as user_config: self.push(filename, user_config.read()) def push(self, config_name, config_string): @@ -286,9 +286,10 @@ def load_external(path, encoding=None): if path.startswith('python:'): resource_path = path[7:] package, dot, resource = resource_path.rpartition('.') - config_string = resource_string(package, resource + '.cfg') + raw = resource_bytes(package, resource + '.cfg') + config_string = raw.decode('utf-8') else: - with open(path, 'rb') as fp: + with open(path, 'r', encoding='utf-8') as fp: config_string = fp.read() if encoding is None: return config_string |
