summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-31 23:10:14 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-31 23:10:14 +0000
commit365f1798be06dded706488b8c372eed7465ebe8f (patch)
tree5e7574188092751cfd9d6382e64ac006e0c19efd
parent518881b9d26d6a2ed987d6870ec2fe088f977676 (diff)
downloadportage-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.py19
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):