diff options
-rw-r--r-- | pym/portage/cache/sqlite.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pym/portage/cache/sqlite.py b/pym/portage/cache/sqlite.py index aa5c30468..6588b3cc7 100644 --- a/pym/portage/cache/sqlite.py +++ b/pym/portage/cache/sqlite.py @@ -164,6 +164,18 @@ class database(fs_template.FsBased): if k not in internal_columns: d[k] = result[0][column_index] + # As a temporary workaround for bug #263081, convert unicode strings + # to raw byte strings. This helps to potential unicode errors that can + # be triggered elsewhere when attempting to join unicode strings with + # raw byte strings. TODO: Convert all string handling code to use + # unicode strings instead of raw byte strings (required for py3k + # compatibility). + for k, v in d.iteritems(): + try: + d[k] = str(v) + except UnicodeEncodeError: + pass + return d def _setitem(self, cpv, values): |