commit: 33c8d30cc10cb11cb098d4dfe92f7187b20eefaf Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Mon Mar 21 04:09:54 2016 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Wed May 18 16:41:22 2016 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=33c8d30c
localized_size: handle UnicodeDecodeError (bug 577862) Fix localized_size to handle UnicodeDecodeError, which is necessary if the locale data is corrupt or has an unexpected encoding. X-Gentoo-bug: 577862 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=577862 Acked-by: Brian Dolbec <dolsen <AT> gentoo.org> pym/portage/localization.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pym/portage/localization.py b/pym/portage/localization.py index 2db4b7a..90202fb 100644 --- a/pym/portage/localization.py +++ b/pym/portage/localization.py @@ -38,5 +38,9 @@ def localized_size(num_bytes): # always round up, so that small files don't end up as '0 KiB' num_kib = math.ceil(num_bytes / 1024) - formatted_num = locale.format('%d', num_kib, grouping=True) + try: + formatted_num = locale.format('%d', num_kib, grouping=True) + except UnicodeDecodeError: + # failure to decode locale data + formatted_num = str(num_kib) return (_unicode_decode(formatted_num, encoding=_encodings['stdio']) + ' KiB')
