revisor/__init__.py.in | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
New commits:
commit 6b8094429e077ddca46a9a872ea148fdf564dc7a
Author: Mads Kiilerich <mads(a)kiilerich.com>
Date: Fri Dec 12 14:43:54 2008 +0100
Return non-zero error code in case of error
diff --git a/revisor/__init__.py.in b/revisor/__init__.py.in
index 13ad690..73fe257 100644
--- a/revisor/__init__.py.in
+++ b/revisor/__init__.py.in
@@ -436,15 +436,20 @@ class Revisor:
def run(self):
"""Run Forest, RUN!"""
+
+ exitcode = 0
+
try:
self.base.run()
+ except SystemExit:
+ pass
except KeyboardInterrupt:
+ exitcode = 1
self.base.log.info(_("Interrupted by user"))
# except TypeError, e:
# self.log.error(_("Type Error: %s") % e)
- except SystemExit:
- pass
except:
+ exitcode = 2
traceback.print_exc()
print >> sys.stderr, _("Traceback occurred, please report a bug at
http://fedorahosted.org/revisor")
finally:
@@ -462,3 +467,5 @@ class Revisor:
for dir in ["revisor-yumcache"]:
if os.access(os.path.join(self.base.cfg.working_directory, dir),
os.R_OK):
shutil.rmtree(os.path.join(self.base.cfg.working_directory,
dir))
+
+ sys.exit(exitcode)
\ No newline at end of file