summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-08-04 19:40:57 +0000
committerZac Medico <zmedico@gentoo.org>2009-08-04 19:40:57 +0000
commit8a2c435913dfd077adfca4e666e1f9c28bc04efe (patch)
tree2ba3468ccbaaf81d44d99913c70e15451aff3ef7
parent5013be0b2b4d6cdf530d1f324ad8e74b112b2544 (diff)
downloadportage-8a2c435913dfd077adfca4e666e1f9c28bc04efe.tar.gz
portage-8a2c435913dfd077adfca4e666e1f9c28bc04efe.tar.bz2
portage-8a2c435913dfd077adfca4e666e1f9c28bc04efe.zip
Bug #280269 - Fix Atom.__str__ so that it doesn't try to encode a unicode
string (resulting in UnicodeEncodeError). If an Atom instance is passed into the constructor, just return the given instance. svn path=/main/trunk/; revision=13905
-rw-r--r--pym/portage/dep.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/portage/dep.py b/pym/portage/dep.py
index 64215b68c..f36f78256 100644
--- a/pym/portage/dep.py
+++ b/pym/portage/dep.py
@@ -494,6 +494,8 @@ class _AtomCache(type):
identical instances when available.
"""
def __call__(cls, s):
+ if isinstance(s, Atom):
+ return s
instance = cls._atoms.get(s)
if instance is None:
instance = super(_AtomCache, cls).__call__(s)
@@ -620,7 +622,7 @@ class Atom(object):
return repr(self._str)
def __str__(self):
- return str(self._str)
+ return self._str
def endswith(self, *pargs, **kargs):
return self._str.endswith(*pargs, **kargs)