import argparse
from curses import wrapper
+import os
+from random import shuffle
+import sys
-from . import display, parse
+from . import parse
+from .display import Display
+from .deck import Status
def parse_args():
- parser = argparse.ArgumentParser(description="Simple terminal flashcards")
- parser.add_argument("inp", metavar="input file", type=str, nargs=1)
+ parser = argparse.ArgumentParser(description="Terminal flashcards from Markdown")
+ parser.add_argument("inp",
+ metavar="input file",
+ type=str,
+ nargs=1)
+ parser.add_argument("-f", "--flip",
+ action='store_true',
+ help="show second column first")
+ parser.add_argument("-r", "--reverse",
+ action='store_true',
+ help="reverse card order")
+ parser.add_argument("-s", "--shuffle",
+ action='store_true',
+ help="shuffle card order")
+ parser.add_argument("-v", "--version",
+ action='version',
+ version="lightcards 0.4.0")
return parser.parse_args()
-def show(stack):
- wrapper(display.get_key, stack)
+def show(args, stack, headers):
+ """
+ Manipulate deck according to passed arguments, and send it to the display
+ functions
+ """
+ idx = Status()
+ 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:
+ stack.reverse()
+ win = Display(stack, headers, idx)
+ wrapper(win.run)
-def main():
+
+def reparse():
+ args = parse_args()
+ os.system(f"$EDITOR {args.inp[0]}"),
+ return parse.parse_html(parse.md2html(args.inp[0]))
+
+def get_orig():
+ return((headers2, stack2))
+
+def main(args=sys.argv):
args = parse_args()
- headers = parse.parse_html(parse.md2html(args.inp[0]))[0]
- stack = parse.parse_html(parse.md2html(args.inp[0]))[1]
- show(stack)
+ (headers, stack) = parse.parse_html(parse.md2html(args.inp[0]))
+ global headers2, stack2
+ (headers2, stack2) = (headers, stack)
+ show(args, stack, headers)
if __name__ == "__main__":