summaryrefslogtreecommitdiffstats
path: root/pym/eclass_cache.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-09-27 20:59:42 +0000
committerZac Medico <zmedico@gentoo.org>2007-09-27 20:59:42 +0000
commitfaa749007a44bc42934506c7be8ad5eeec8d7596 (patch)
tree04a0d3c2b92701e7f0940aca8ba723c787107685 /pym/eclass_cache.py
parent413825907860d5dd3b3159caed076bba409565a4 (diff)
downloadportage-faa749007a44bc42934506c7be8ad5eeec8d7596.tar.gz
portage-faa749007a44bc42934506c7be8ad5eeec8d7596.tar.bz2
portage-faa749007a44bc42934506c7be8ad5eeec8d7596.zip
Simplify update_eclasses() a little. (trunk r7861)
svn path=/main/branches/2.1.2/; revision=7862
Diffstat (limited to 'pym/eclass_cache.py')
-rw-r--r--pym/eclass_cache.py13
1 files changed, 5 insertions, 8 deletions
diff --git a/pym/eclass_cache.py b/pym/eclass_cache.py
index 2915bcf39..ede081d9c 100644
--- a/pym/eclass_cache.py
+++ b/pym/eclass_cache.py
@@ -42,23 +42,20 @@ class cache:
self.eclasses = {}
self._eclass_locations = {}
eclass_len = len(".eclass")
+ ignored_listdir_errnos = (errno.ENOENT, errno.ENOTDIR)
for x in [normalize_path(os.path.join(y,"eclass")) for y in self.porttrees]:
- eclass_filenames = []
try:
- for y in os.listdir(x):
- if y.endswith(".eclass"):
- eclass_filenames.append(y)
+ eclass_filenames = os.listdir(x)
except OSError, e:
- if e.errno == errno.ENOENT:
- del e
- continue
- elif e.errno == errno.ENOTDIR:
+ if e.errno in ignored_listdir_errnos:
del e
continue
elif e.errno == PermissionDenied.errno:
raise PermissionDenied(x)
raise
for y in eclass_filenames:
+ if not y.endswith(".eclass"):
+ continue
try:
mtime = long(os.stat(os.path.join(x, y)).st_mtime)
except OSError: