Prevent an attribute error AttributeError for invalid binary packages for which there...
authorZac Medico <zmedico@gentoo.org>
Sat, 28 Oct 2006 21:57:27 +0000 (21:57 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 28 Oct 2006 21:57:27 +0000 (21:57 -0000)
svn path=/main/trunk/; revision=4867

pym/portage.py

index 81de2e182e2f7b59a3e980f7ddeb82776d5a9729..6adaa56dfeaa37a1da2f4a07a0a3dc5473176761 100644 (file)
@@ -5710,8 +5710,10 @@ class binarytree(packagetree):
                mypath = os.path.join("All", myfile)
                dest_path = os.path.join(self.pkgdir, mypath)
                if os.path.exists(dest_path):
-                       other_cat = xpak.tbz2(dest_path).getfile("CATEGORY").strip()
+                       # For invalid packages, other_cat could be None.
+                       other_cat = xpak.tbz2(dest_path).getfile("CATEGORY")
                        if other_cat:
+                               other_cat = other_cat.strip()
                                self._move_from_all(other_cat + "/" + mypkg)
                """The file may or may not exist. Move it if necessary and update
                internal state for future calls to getname()."""
@@ -5778,7 +5780,8 @@ class binarytree(packagetree):
                                        if os.path.islink(full_path):
                                                continue
                                        mytbz2 = xpak.tbz2(full_path)
-                                       mycat = mytbz2.getfile("CATEGORY").strip()
+                                       # For invalid packages, mycat could be None.
+                                       mycat = mytbz2.getfile("CATEGORY")
                                        mypkg = myfile[:-5]
                                        if not mycat:
                                                #old-style or corrupt package
@@ -5788,6 +5791,7 @@ class binarytree(packagetree):
                                                        "recoverable and should be deleted.\n",
                                                        noiselevel=-1)
                                                self.invalids.append(mypkg)
+                                       mycat = mycat.strip()
                                        if mycat != mydir and mydir != "All":
                                                continue
                                        if mypkg != mytbz2.getfile("PF").strip():