summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-22 08:37:07 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-22 08:37:07 +0000
commitfd09d707a3d8d22b91b8c279e5a0b2e4d3d659ae (patch)
tree4bd38fa03b98cf3d4ff209cf553f582110c75b56
parentfb13990521433c3215e44836d709728bafa4cf5d (diff)
downloadportage-fd09d707a3d8d22b91b8c279e5a0b2e4d3d659ae.tar.gz
portage-fd09d707a3d8d22b91b8c279e5a0b2e4d3d659ae.tar.bz2
portage-fd09d707a3d8d22b91b8c279e5a0b2e4d3d659ae.zip
Add a temporary workaround for bug #263081 (partially reverts r12757).
svn path=/main/trunk/; revision=13141
-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):