From: Armaan Bhojwani Date: Tue, 9 Feb 2021 16:25:34 +0000 (-0500) Subject: Restructure files X-Git-Tag: v0.6.0~36 X-Git-Url: https://git.armaanb.net/?p=lightcards.git;a=commitdiff_plain;h=3c884626432e00720894132ec86e378f1b92d6ef Restructure files --- diff --git a/lightcards/__init__.py b/lightcards/__init__.py index b460a51..e69de29 100644 --- a/lightcards/__init__.py +++ b/lightcards/__init__.py @@ -1,3 +0,0 @@ -from . import lightcards - -lightcards.main() diff --git a/lightcards/__main__.py b/lightcards/__main__.py new file mode 100644 index 0000000..82a361e --- /dev/null +++ b/lightcards/__main__.py @@ -0,0 +1,4 @@ +import sys +from lightcards.runner import main + +sys.exit(main()) diff --git a/lightcards/display.py b/lightcards/display.py index 35cd149..2a25354 100644 --- a/lightcards/display.py +++ b/lightcards/display.py @@ -7,7 +7,7 @@ from random import shuffle import sys import textwrap -from . import lightcards, progress +from . import runner, progress class Display: @@ -47,7 +47,7 @@ class Display: if self.obj.getIdx() + 1 == len(self.stack): self.obj.setIdx(0) - progress.dump(self.stack, lightcards.get_orig()) + progress.dump(self.stack, runner.get_orig()) sys.exit(0) def ntotal(self): @@ -125,7 +125,7 @@ class Display: self.obj.setIdx(0) self.get_key() elif key == "y": - self.stack = lightcards.get_orig()[1] + self.stack = runner.get_orig()[1] self.menu_print("Stack reset!") elif key == "a": self.stack.sort() @@ -291,7 +291,7 @@ class Display: ) self.help_win.hline(2, 1, curses.ACS_HLINE, 15) text = [ - "Welcome to lightcards. Here are some keybindings", + "Welcome to runner. Here are some keybindings", "to get you started:", "", "h, left previous card", @@ -370,7 +370,7 @@ class Display: elif key == "m": self.disp_menu() elif key == "e": - (self.headers, self.stack) = lightcards.reparse() + (self.headers, self.stack) = runner.reparse() self.get_key() def disp_sidebar(self): diff --git a/lightcards/lightcards.py b/lightcards/lightcards.py deleted file mode 100644 index 2fa42f4..0000000 --- a/lightcards/lightcards.py +++ /dev/null @@ -1,99 +0,0 @@ -# Markdown flashcard utility -# Armaan Bhojwani 2021 - -import argparse -from curses import wrapper -import os -from random import shuffle -import sys - -from . import parse, progress -from .display import Display -from .deck import Status - - -def parse_args(): - parser = argparse.ArgumentParser( - description="Terminal flashcards from Markdown" - ) - parser.add_argument("inp", metavar="input file", type=str, nargs=1) - parser.add_argument( - "-a", - "--alphabetize", - action="store_true", - help="alphabetize card order", - ) - parser.add_argument( - "-f", "--flip", action="store_true", help="show second column first" - ) - parser.add_argument( - "-p", - "--purge", - action="store_true", - help="don't check cached info before starting", - ) - 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.6.0" - ) - return parser.parse_args() - - -def show(args, stack, headers): - """ - 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) - - # Check for caches - idx = Status() - cache = progress.dive(get_orig()) - if cache: - (stack) = cache - - # Manipulate deck - if args.shuffle: - shuffle(stack) - if args.alphabetize: - stack.sort() - if args.reverse: - stack.reverse() - if args.flip: - for x in stack: - x[0], x[1] = x[1], x[0] - headers[0], headers[1] = headers[1], headers[0] - - # Send to display - win = Display(stack, headers, idx) - wrapper(win.run) - - -def reparse(): - """Parse arguments and input file again""" - args = parse_args() - 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 - (headers, stack) = parse.parse_html(parse.md2html(args.inp[0])) - show(args, stack, headers) - - -if __name__ == "__main__": - main() diff --git a/lightcards/runner.py b/lightcards/runner.py new file mode 100644 index 0000000..2fa42f4 --- /dev/null +++ b/lightcards/runner.py @@ -0,0 +1,99 @@ +# Markdown flashcard utility +# Armaan Bhojwani 2021 + +import argparse +from curses import wrapper +import os +from random import shuffle +import sys + +from . import parse, progress +from .display import Display +from .deck import Status + + +def parse_args(): + parser = argparse.ArgumentParser( + description="Terminal flashcards from Markdown" + ) + parser.add_argument("inp", metavar="input file", type=str, nargs=1) + parser.add_argument( + "-a", + "--alphabetize", + action="store_true", + help="alphabetize card order", + ) + parser.add_argument( + "-f", "--flip", action="store_true", help="show second column first" + ) + parser.add_argument( + "-p", + "--purge", + action="store_true", + help="don't check cached info before starting", + ) + 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.6.0" + ) + return parser.parse_args() + + +def show(args, stack, headers): + """ + 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) + + # Check for caches + idx = Status() + cache = progress.dive(get_orig()) + if cache: + (stack) = cache + + # Manipulate deck + if args.shuffle: + shuffle(stack) + if args.alphabetize: + stack.sort() + if args.reverse: + stack.reverse() + if args.flip: + for x in stack: + x[0], x[1] = x[1], x[0] + headers[0], headers[1] = headers[1], headers[0] + + # Send to display + win = Display(stack, headers, idx) + wrapper(win.run) + + +def reparse(): + """Parse arguments and input file again""" + args = parse_args() + 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 + (headers, stack) = parse.parse_html(parse.md2html(args.inp[0])) + show(args, stack, headers) + + +if __name__ == "__main__": + main()