X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=autorandr.py;h=285c751bda4294e4dd0e07846320d37c5deebd2f;hb=36b7e2ae7d43d995a9a9c2024c276654b429e12d;hp=1658f26e6a097b2733034c5e5fbdf6d5fe443bda;hpb=ed599bc5aab6053ba9d7481f3d4eeb3076ee3e8f;p=deb_pkgs%2Fautorandr.git diff --git a/autorandr.py b/autorandr.py index 1658f26..285c751 100755 --- a/autorandr.py +++ b/autorandr.py @@ -37,6 +37,9 @@ from distutils.version import LooseVersion as Version from itertools import chain from collections import OrderedDict +import posix + + virtual_profiles = [ # (name, description, callback) ("common", "Clone all connected outputs at the largest common resolution", None), @@ -606,8 +609,10 @@ def main(argv): try: options = dict(getopt.getopt(argv[1:], "s:l:d:cfh", [ "dry-run", "change", "default=", "save=", "load=", "force", "fingerprint", "config", "help" ])[0]) except getopt.GetoptError as e: - print(str(e)) - options = { "--help": True } + print("Failed to parse options: {0}.\n" + "Use --help to get usage information.".format(str(e)), + file=sys.stderr) + sys.exit(posix.EX_USAGE) profiles = {} try: @@ -713,12 +718,12 @@ if __name__ == '__main__': try: main(sys.argv) except AutorandrException as e: - print(file=sys.stderr) print(e, file=sys.stderr) sys.exit(1) except Exception as e: - trace = sys.exc_info()[2] - while trace.tb_next: - trace = trace.tb_next - print("\nUnhandled exception in line %d. Please report this as a bug:\n %s" % (trace.tb_lineno, "\n ".join(str(e).split("\n")),), file=sys.stderr) - sys.exit(1) + if not len(str(e)): # BdbQuit + print("Exception: {0}".format(e.__class__.__name__)) + sys.exit(2) + + print("Unhandled exception ({0}). Please report this as a bug.".format(e), file=sys.stderr) + raise