def parse_args():
- parser = argparse.ArgumentParser(description="Terminal flashcards from Markdown")
+ parser = argparse.ArgumentParser(
+ description="Terminal flashcards from Markdown")
parser.add_argument("inp",
metavar="input file",
type=str,
parser.add_argument("-p", "--purge",
action='store_true',
help="don't check cached info before starting")
+ # TODO: don't require input file when using -P
parser.add_argument("-P", "--purge-all",
action='store_true',
help="don't check cached info before starting")
def show(args, stack, headers):
"""
- Manipulate deck according to passed arguments, and send it to the display
- functions
+ Get objects from cache, manipulate deck according to passed arguments, and
+ send it to the display functions
"""
+ # Purge caches if asked
if args.purge:
progress.purge(stack)
if args.purge_all:
progress.purge_all()
- ida = progress.dive("status", stack)
- if ida and not args.purge:
- idx = ida
+ # Check for caches
+ ida = progress.dive(stack)
+ if ida:
+ (idx, stack, headers) = ida
else:
idx = Status()
- stackb = progress.dive("stack", stack)
- if stackb and not args.purge:
- stack = stackb
-
- headerb = progress.dive("headers", stack)
- if headerb and not args.purge:
- headers = headerb
-
+ # Manipulate deck
if args.flip:
for x in stack:
x[0], x[1] = x[1], x[0]
headers[0], headers[1] = headers[1], headers[0]
if args.shuffle:
shuffle(stack)
- elif args.reverse:
+ if args.reverse:
stack.reverse()
+ # Send to display
win = Display(stack, headers, idx)
wrapper(win.run)
os.system(f"$EDITOR {args.inp[0]}"),
return parse.parse_html(parse.md2html(args.inp[0]))
+
def get_orig():
"""Return original header and stack"""
return((headers, stack))
+
def main(args=sys.argv):
args = parse_args()
global headers, stack