diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-31 23:10:14 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-31 23:10:14 +0000 |
commit | 365f1798be06dded706488b8c372eed7465ebe8f (patch) | |
tree | 5e7574188092751cfd9d6382e64ac006e0c19efd | |
parent | 518881b9d26d6a2ed987d6870ec2fe088f977676 (diff) | |
download | portage-365f1798be06dded706488b8c372eed7465ebe8f.tar.gz portage-365f1798be06dded706488b8c372eed7465ebe8f.tar.bz2 portage-365f1798be06dded706488b8c372eed7465ebe8f.zip |
Make PackageSet._setAtoms() use existing Atom instances when available.
svn path=/main/trunk/; revision=10523
-rw-r--r-- | pym/portage/sets/base.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/pym/portage/sets/base.py b/pym/portage/sets/base.py index d9f2a8d91..416626320 100644 --- a/pym/portage/sets/base.py +++ b/pym/portage/sets/base.py @@ -61,13 +61,18 @@ class PackageSet(object): self._atoms.clear() self._nonatoms.clear() for a in atoms: - a = a.strip() - if not a: - continue - try: - self._atoms.add(Atom(a)) - except InvalidAtom: - self._nonatoms.add(a) + if not isinstance(a, Atom): + if isinstance(a, basestring): + a = a.strip() + if not a: + continue + try: + a = Atom(a) + except InvalidAtom: + self._nonatoms.add(a) + continue + self._atoms.add(a) + self._updateAtomMap() def load(self): |