Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/util/
Date: Fri, 01 Jun 2012 21:31:05
Message-Id: 1338586237.9ed7bf27424890320b933e5d913804738d358bf1.zmedico@gentoo
1 commit: 9ed7bf27424890320b933e5d913804738d358bf1
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 1 21:30:37 2012 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 1 21:30:37 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=9ed7bf27
7
8 grablines: raise PermissionDenied if appropriate
9
10 ---
11 pym/portage/util/__init__.py | 15 +++++++++++++--
12 1 files changed, 13 insertions(+), 2 deletions(-)
13
14 diff --git a/pym/portage/util/__init__.py b/pym/portage/util/__init__.py
15 index 2e0a32b..4ffd599 100644
16 --- a/pym/portage/util/__init__.py
17 +++ b/pym/portage/util/__init__.py
18 @@ -469,7 +469,15 @@ def grablines(myfilename, recursive=0, remember_source_file=False):
19 if recursive and os.path.isdir(myfilename):
20 if os.path.basename(myfilename) in _ignorecvs_dirs:
21 return mylines
22 - dirlist = os.listdir(myfilename)
23 + try:
24 + dirlist = os.listdir(myfilename)
25 + except OSError as e:
26 + if e.errno == PermissionDenied.errno:
27 + raise PermissionDenied(myfilename)
28 + elif e.errno in (errno.ENOENT, errno.ESTALE):
29 + return mylines
30 + else:
31 + raise
32 dirlist.sort()
33 for f in dirlist:
34 if not f.startswith(".") and not f.endswith("~"):
35 @@ -488,7 +496,10 @@ def grablines(myfilename, recursive=0, remember_source_file=False):
36 except IOError as e:
37 if e.errno == PermissionDenied.errno:
38 raise PermissionDenied(myfilename)
39 - pass
40 + elif e.errno in (errno.ENOENT, errno.ESTALE):
41 + pass
42 + else:
43 + raise
44 return mylines
45
46 def writedict(mydict,myfilename,writekey=True):