diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-08-04 19:40:57 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-08-04 19:40:57 +0000 |
commit | 8a2c435913dfd077adfca4e666e1f9c28bc04efe (patch) | |
tree | 2ba3468ccbaaf81d44d99913c70e15451aff3ef7 | |
parent | 5013be0b2b4d6cdf530d1f324ad8e74b112b2544 (diff) | |
download | portage-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.py | 4 |
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) |