summaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-30 20:24:08 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-30 20:24:08 +0000
commit05f15f0d6e34cb9a47a3cb3ec44453958f1a3818 (patch)
tree2c88444cc31e5c529bc6cb86234e63e604d80c66 /pym
parentPass a mutable config instance into get_masking_status(). Currently (diff)
downloadportage-05f15f0d6e34cb9a47a3cb3ec44453958f1a3818.tar.gz
portage-05f15f0d6e34cb9a47a3cb3ec44453958f1a3818.tar.bz2
portage-05f15f0d6e34cb9a47a3cb3ec44453958f1a3818.zip
Make the use_cache=0 listdir() implementation inside vardbapi.cpv_all()
raise a PermissionDenied error when appropriate. (trunk r10505) svn path=/main/branches/2.1.2/; revision=10506
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 812aaaa5a..557d27880 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6802,7 +6802,10 @@ class vardbapi(dbapi):
try:
return [x for x in os.listdir(p) \
if os.path.isdir(os.path.join(p, x))]
- except EnvironmentError:
+ except EnvironmentError, e:
+ if e.errno == portage_exception.PermissionDenied.errno:
+ raise portage_exception.PermissionDenied(p)
+ del e
return []
for x in listdir(basepath, EmptyOnError=1, ignorecvs=1, dirsonly=1):