Mercurial > kallithea
changeset 2989:190e2ff4595d beta
fix for issue #602, enforce str when setting mercurial UI object. When this is used together with mercurial internal translation system
it can lead to UnicodeDecodeErrors
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 07 Nov 2012 19:38:46 +0100 |
parents | 8ca4d9f64ae0 |
children | 0bc7b5895242 |
files | rhodecode/lib/utils.py |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/lib/utils.py Wed Nov 07 19:10:09 2012 +0100 +++ b/rhodecode/lib/utils.py Wed Nov 07 19:38:46 2012 +0100 @@ -307,7 +307,7 @@ for section in ui_sections: for k, v in cfg.items(section): log.debug('settings ui from file[%s]%s:%s' % (section, k, v)) - baseui.setconfig(section, k, v) + baseui.setconfig(safe_str(section), safe_str(k), safe_str(v)) elif read_from == 'db': sa = meta.Session() @@ -320,11 +320,13 @@ if ui_.ui_active: log.debug('settings ui from db[%s]%s:%s', ui_.ui_section, ui_.ui_key, ui_.ui_value) - baseui.setconfig(ui_.ui_section, ui_.ui_key, ui_.ui_value) + baseui.setconfig(safe_str(ui_.ui_section), safe_str(ui_.ui_key), + safe_str(ui_.ui_value)) if ui_.ui_key == 'push_ssl': # force set push_ssl requirement to False, rhodecode # handles that - baseui.setconfig(ui_.ui_section, ui_.ui_key, False) + baseui.setconfig(safe_str(ui_.ui_section), safe_str(ui_.ui_key), + False) if clear_session: meta.Session.remove() return baseui