]> git.armaanb.net Git - lightcards.git/blobdiff - lightcards/runner.py
Handle exceptions and exit codes better
[lightcards.git] / lightcards / runner.py
index 08004db3bd68d4e261fb080c7c777c7ae94b0fd3..e0af7d9e24e00746ca683e49e0537aac67e98f57 100644 (file)
@@ -2,14 +2,14 @@
 # Armaan Bhojwani 2021
 
 import argparse
-from curses import wrapper
+import curses
 import os
 import pkg_resources
 from random import shuffle
 import sys
 
 from . import parse, progress
-from .display import Display
+from .display import Display, CursesError
 from .deck import Status
 
 
@@ -80,7 +80,10 @@ def show(args, stack, headers):
 
     # Send to display
     win = Display(stack, headers, idx, args.view)
-    wrapper(win.run)
+    try:
+        curses.wrapper(win.run)
+    except curses.error as e:
+        raise CursesError() from e
 
 
 def reparse():
@@ -96,6 +99,7 @@ def get_orig():
 
 
 def main(args=sys.argv):
+    sys.tracebacklimit = 0
     args = parse_args()
     global headers, stack
     (headers, stack) = parse.parse_html(parse.md2html(args.inp[0]))