import argparse
import curses
-import os
import pkg_resources
from random import shuffle
import sys
-from . import parse, progress
+from . import parse, progress, config
from .display import Display, CursesError
from .deck import Status
metavar="view",
type=int,
choices=range(1, 4),
- default=1,
help="specify which view to start in (default = 1)",
)
parser.add_argument("inp", metavar="input file", type=str, nargs=1)
return parser.parse_args()
-def show(args, stack, headers, input_file):
+def show(args, stack, headers, conf):
"""
Get objects from cache, manipulate deck according to passed arguments, and
send it to the display functions
(stack) = cache
# Manipulate deck
- if args.shuffle:
+ if args.shuffle or conf["shuffle"]:
shuffle(stack)
- if args.alphabetize:
+ if args.alphabetize or conf["alphabetize"]:
stack.sort(key=lambda x: x.front)
- if args.reverse:
+ if args.reverse or conf["reverse"]:
stack.reverse()
+ # Set view
+ if args.view:
+ view = args.view
+ else:
+ view = conf["default_view"]
+
# Send to display
- win = Display(stack, headers, idx, args.view, input_file)
+ win = Display(stack, headers, idx, view, args, conf)
try:
curses.wrapper(win.run)
except curses.error as e:
def main(args=sys.argv):
- sys.tracebacklimit = 0
args = parse_args()
+ conf = config.read_file(args.config)
+
global headers, stack
(headers, stack) = parse.parse_html(parse.md2html(args.inp[0]))
- show(args, stack, headers, args)
+
+ if not conf["debug"]:
+ sys.tracebacklimit = 0
+
+ show(args, stack, headers, conf)
if __name__ == "__main__":