From 4b5d9b4229314780d480b004ee271e5859ea966b Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 1 Jul 2013 16:49:10 +0200 Subject: [PATCH] __str__ method could return unicode object, force to decode in str --- tiramisu/config.py | 7 ++++--- tiramisu/setting.py | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tiramisu/config.py b/tiramisu/config.py index 7152ea6..eb4dd77 100644 --- a/tiramisu/config.py +++ b/tiramisu/config.py @@ -23,7 +23,7 @@ from tiramisu.error import PropertiesOptionError, ConfigError from tiramisu.option import OptionDescription, Option, SymLinkOption, \ BaseInformation -from tiramisu.setting import groups, Setting +from tiramisu.setting import groups, Setting, default_encoding from tiramisu.value import Values from tiramisu.i18n import _ @@ -133,10 +133,11 @@ class SubConfig(BaseInformation): "Config's string representation" lines = [] for name, grp in self.iter_groups(): - lines.append("[%s]" % name) + lines.append("[{0}]".format(name)) for name, value in self: + value = value.encode(default_encoding) try: - lines.append("%s = %s" % (name, value)) + lines.append("{0} = {1}".format(name, value)) except PropertiesOptionError: pass return '\n'.join(lines) diff --git a/tiramisu/setting.py b/tiramisu/setting.py index f2210e0..05e8013 100644 --- a/tiramisu/setting.py +++ b/tiramisu/setting.py @@ -25,6 +25,7 @@ from copy import copy from tiramisu.error import RequirementError, PropertiesOptionError from tiramisu.i18n import _ +default_encoding = 'utf-8' expires_time = 5 ro_remove = ('permissive', 'hidden')