Clean up the profile masking code. (trunk r6292)
authorZac Medico <zmedico@gentoo.org>
Fri, 22 Jun 2007 05:47:01 +0000 (05:47 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 22 Jun 2007 05:47:01 +0000 (05:47 -0000)
svn path=/main/branches/2.1.2/; revision=6936

pym/portage.py

index 5369619d282f276a2ca064700c980f25e9444411..1e3923dd783cf1116dbab42f06879042f9d144e7 100644 (file)
@@ -6319,9 +6319,9 @@ class portdbapi(dbapi):
                                                except ValueError:
                                                        pass
 
-               revmaskdict=self.mysettings.prevmaskdict
-               if revmaskdict.has_key(mycp):
-                       for x in revmaskdict[mycp]:
+               profile_atoms = self.mysettings.prevmaskdict.get(mycp)
+               if profile_atoms:
+                       for x in profile_atoms:
                                #important: only match against the still-unmasked entries...
                                #notice how we pass "newlist" to the xmatch() call below....
                                #Without this, ~ deps in the packages files are broken.
@@ -6330,12 +6330,8 @@ class portdbapi(dbapi):
                                        #error in packages file; print warning and continue:
                                        print "emerge: visible(): profile packages entry \""+x+"\" is invalid, ignoring..."
                                        continue
-                               pos=0
-                               while pos<len(newlist):
-                                       if newlist[pos] not in mymatches:
-                                               del newlist[pos]
-                                       else:
-                                               pos += 1
+                               newlist = [cpv for cpv in newlist if cpv in mymatches]
+
                return newlist
 
        def gvisible(self,mylist):