X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=lightcards%2Flightcards.py;h=e70ac310d0a4725ffbca7f669b905859ebd7ca2f;hb=6e8611d7230870ca6ea680bf59e45f8ad3b049ae;hp=e41b2cfb541a72c1de2c1d7e302a84e9360f1440;hpb=a965744d4d562b5c0235fd9d5baacb2ef7aa27c2;p=lightcards.git diff --git a/lightcards/lightcards.py b/lightcards/lightcards.py old mode 100755 new mode 100644 index e41b2cf..e70ac31 --- a/lightcards/lightcards.py +++ b/lightcards/lightcards.py @@ -1,22 +1,26 @@ -#!/usr/bin/env python # Markdown flashcard utility # Armaan Bhojwani 2021 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 = 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") @@ -25,23 +29,42 @@ def parse_args(): help="shuffle card order") parser.add_argument("-v", "--version", action='version', - version="lightcards 0.2.0") + version="lightcards 0.4.0") return parser.parse_args() 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() - wrapper(display.get_key, stack, headers, idx) + win = Display(stack, headers, idx) + wrapper(win.run) + + +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] + (headers, stack) = parse.parse_html(parse.md2html(args.inp[0])) + global headers2, stack2 + (headers2, stack2) = (headers, stack) show(args, stack, headers)