Catch errno.ENOTDIR instead of using os.path.isdir().
authorZac Medico <zmedico@gentoo.org>
Wed, 12 Sep 2007 15:27:40 +0000 (15:27 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 12 Sep 2007 15:27:40 +0000 (15:27 -0000)
svn path=/main/trunk/; revision=7770

pym/portage/eclass_cache.py

index 6e4eebd185115a3da64dfe10576b3c133173b761..8fac8aec4826813fc1e4070b7888329b39563f65 100644 (file)
@@ -43,8 +43,6 @@ class cache(object):
                self._eclass_locations = {}
                eclass_len = len(".eclass")
                for x in [normalize_path(os.path.join(y,"eclass")) for y in self.porttrees]:
-                       if not os.path.isdir(x):
-                               continue
                        eclass_filenames = []
                        try:
                                for y in os.listdir(x):
@@ -54,6 +52,9 @@ class cache(object):
                                if e.errno == errno.ENOENT:
                                        del e
                                        continue
+                               elif e.errno == errno.ENOTDIR:
+                                       del e
+                                       continue
                                elif e.errno == PermissionDenied.errno:
                                        raise PermissionDenied(x)
                                raise