From dee48ce8f7febb304cf4f56251ad7b3316ffaa67 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 11 Dec 2007 23:46:11 +0000 Subject: Instead of calling sys.exit when a ParseError occurs in the config constructor, raise a ParseError and make emerge and portageq handle the error. This way consumers of the portage api can handle the ParseError rather than have their application exit. Thanks to lxnay for reporting. (trunk r8884) svn path=/main/branches/2.1.2/; revision=8886 --- bin/emerge | 5 ++++- bin/portageq | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/emerge b/bin/emerge index 7c59ece9a..0c29b187b 100755 --- a/bin/emerge +++ b/bin/emerge @@ -6635,10 +6635,13 @@ def emerge_main(): return retval if __name__ == "__main__": - from portage_exception import PermissionDenied + from portage_exception import ParseError, PermissionDenied try: retval = emerge_main() except PermissionDenied, e: sys.stderr.write("Permission denied: '%s'\n" % str(e)) sys.exit(e.errno) + except ParseError, e: + sys.stderr.write("%s\n" % str(e)) + sys.exit(1) sys.exit(retval) diff --git a/bin/portageq b/bin/portageq index 056502e39..b097889ae 100755 --- a/bin/portageq +++ b/bin/portageq @@ -411,6 +411,9 @@ def main(): except portage_exception.PermissionDenied, e: sys.stderr.write("Permission denied: '%s'\n" % str(e)) sys.exit(e.errno) + except portage_exception.ParseError, e: + sys.stderr.write("%s\n" % str(e)) + sys.exit(1) except ValueError, e: if not e.args or \ not hasattr(e.args[0], "__len__") or \ -- cgit v1.2.3-1-g7c22