]> git.armaanb.net Git - lightcards.git/blobdiff - lightcards/lightcards.py
Add reverse option
[lightcards.git] / lightcards / lightcards.py
index c744f3a55a139d63b5d70361a34efe7095059c99..e41b2cfb541a72c1de2c1d7e302a84e9360f1440 100755 (executable)
@@ -4,25 +4,45 @@
 
 import argparse
 from curses import wrapper
+from random import shuffle
+import sys
 
 from . import display, parse
+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.add_argument("inp",
+                        metavar="input file",
+                        type=str,
+                        nargs=1)
+    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.2.0")
     return parser.parse_args()
 
 
-def show(stack):
-    wrapper(display.get_key, stack)
+def show(args, stack, headers):
+    idx = Status()
+    if args.shuffle:
+        shuffle(stack)
+    elif args.reverse:
+        stack.reverse()
+    wrapper(display.get_key, stack, headers, idx)
 
 
-def main():
+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)
+    show(args, stack, headers)
 
 
 if __name__ == "__main__":