From: Zac Medico Date: Tue, 11 Dec 2007 23:44:59 +0000 (-0000) Subject: * Raise PermissionDenied from getconfig() when appropriate. X-Git-Tag: v2.1.4~125 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=06203883b252d39c335f5ef2118f43aa093334b8;p=portage.git * Raise PermissionDenied from getconfig() when appropriate. * When available, make getconfig() include an invalid token in a ParseError message. (trunk r8883) svn path=/main/branches/2.1.2/; revision=8885 --- diff --git a/pym/portage_util.py b/pym/portage_util.py index 8e4a8cb44..b615108c3 100644 --- a/pym/portage_util.py +++ b/pym/portage_util.py @@ -294,6 +294,8 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): try: f=open(mycfg,'r') except IOError, e: + if e.errno == PermissionDenied.errno: + raise PermissionDenied(mycfg) if e.errno != errno.ENOENT: raise return None @@ -324,9 +326,9 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): #invalid token #lex.error_leader(self.filename,lex.lineno) if not tolerant: - writemsg("!!! Invalid token (not \"=\") "+str(equ)+"\n", - noiselevel=-1) - raise Exception("ParseError: Invalid token (not '='): "+str(mycfg)+": line "+str(lex.lineno)) + raise Exception("ParseError: Invalid token " + \ + "'%s' (not '='): %s: line %s" % \ + (equ, mycfg, lex.lineno)) else: return mykeys val=lex.get_token()