diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-31 23:16:16 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-31 23:16:16 +0000 |
commit | 35d0496da473d3e680f2ad73aa43d09e0b8f44b1 (patch) | |
tree | cd5af32465ad7376f76fef1b78553d51b1f0ce58 /bin | |
parent | 4de63fa542447e32758cdde80400b43562d61587 (diff) | |
download | portage-35d0496da473d3e680f2ad73aa43d09e0b8f44b1.tar.gz portage-35d0496da473d3e680f2ad73aa43d09e0b8f44b1.tar.bz2 portage-35d0496da473d3e680f2ad73aa43d09e0b8f44b1.zip |
Make PackageSet._setAtoms() use existing Atom instances when available.
(trunk r10523)
svn path=/main/branches/2.1.2/; revision=10524
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/emerge | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/bin/emerge b/bin/emerge index 22b911309..818cf11c6 100755 --- a/bin/emerge +++ b/bin/emerge @@ -791,11 +791,17 @@ class InternalPackageSet(object): self._atoms.clear() self._nonatoms.clear() def add(self, atom): - try: - atom = portage_dep.Atom(atom) - except portage_exception.InvalidAtom: - self._nonatoms.add(atom) - return + if not isinstance(atom, portage_dep.Atom): + if isinstance(atom, basestring): + atom = atom.strip() + if not atom: + return + try: + atom = portage_dep.Atom(atom) + except portage_exception.InvalidAtom: + self._nonatoms.add(atom) + return + cp_list = self._atoms.get(atom.cp) if cp_list is None: cp_list = [] |