summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/cache/sqlite.py12
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):