diff options
author | hut <hut@lavabit.com> | 2010-06-18 16:22:59 +0200 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-06-18 16:22:59 +0200 |
commit | b289f6796ef213a83595db77c06b7586cdbcb730 (patch) | |
tree | 38fe630ec436d1cf50917a75d85f9f90596b10a2 | |
parent | 26962ded19264ae1885386783c861d002d8fd1dc (diff) | |
download | ranger-b289f6796ef213a83595db77c06b7586cdbcb730.tar.gz |
main: catch SystemExit and return the exit value
-rwxr-xr-x | ranger.py | 5 | ||||
-rw-r--r-- | ranger/__main__.py | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ranger.py b/ranger.py index ccc9f0d6..f290d796 100755 --- a/ranger.py +++ b/ranger.py @@ -30,6 +30,8 @@ fi return 1 """ +import sys + # Redefine the docstring, since the previous one was hijacked to # embed a shellscript. __doc__ = """Ranger - file browser for the unix terminal""" @@ -40,7 +42,6 @@ __doc__ = """Ranger - file browser for the unix terminal""" try: from ranger.__main__ import main except ImportError: - import sys if '-d' not in sys.argv and '--debug' not in sys.argv: print("Can't import the main module.") print("To run an uninstalled copy of ranger,") @@ -48,4 +49,4 @@ except ImportError: else: raise else: - main() + sys.exit(main()) diff --git a/ranger/__main__.py b/ranger/__main__.py index a03509cf..a3e0ef1c 100644 --- a/ranger/__main__.py +++ b/ranger/__main__.py @@ -212,6 +212,8 @@ def main(): except Exception: import traceback crash_traceback = traceback.format_exc() + except SystemExit as error: + return error.args[0] finally: try: fm.ui.destroy() @@ -222,6 +224,8 @@ def main(): print("Ranger crashed. " \ "Please report this (including the traceback) at:") print("http://savannah.nongnu.org/bugs/?group=ranger&func=additem") + return 1 + return 0 if __name__ == '__main__': |