From 0d91e84737980006f8973851f7b5584414015b49 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 11 Mar 2009 06:42:43 +0000 Subject: Use basestring instead of str for isinstance check inside use_reduce() so that it works with unicode and remove related unicode to str workaround code from the sqlite cache module. (trunk r12757) svn path=/main/branches/2.1.6/; revision=13005 --- pym/portage/cache/sqlite.py | 7 +------ pym/portage/dep.py | 3 ++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pym/portage/cache/sqlite.py b/pym/portage/cache/sqlite.py index 3e287f7ba..aa5c30468 100644 --- a/pym/portage/cache/sqlite.py +++ b/pym/portage/cache/sqlite.py @@ -163,12 +163,7 @@ class database(fs_template.FsBased): column_index +=1 if k not in internal_columns: d[k] = result[0][column_index] - # XXX: The resolver chokes on unicode strings so we convert them here. - for k in d.keys(): - try: - d[k]=str(d[k]) # convert unicode strings to normal - except UnicodeEncodeError, e: - pass #writemsg("%s: %s\n" % (cpv, str(e))) + return d def _setitem(self, cpv, values): diff --git a/pym/portage/dep.py b/pym/portage/dep.py index 4a9d85e3c..48465ddbe 100644 --- a/pym/portage/dep.py +++ b/pym/portage/dep.py @@ -243,7 +243,8 @@ def use_reduce(deparray, uselist=[], masklist=[], matchall=0, excludeall=[]): if head[-1:] == "?": # Use reduce next group on fail. # Pull any other use conditions and the following atom or list into a separate array newdeparray = [head] - while isinstance(newdeparray[-1], str) and newdeparray[-1][-1] == "?": + while isinstance(newdeparray[-1], basestring) and \ + newdeparray[-1][-1:] == "?": if mydeparray: newdeparray.append(mydeparray.pop(0)) else: -- cgit v1.2.3-1-g7c22