]> git.armaanb.net Git - lightcards.git/blobdiff - lightcards/display.py
Comment and clean code
[lightcards.git] / lightcards / display.py
index 49840583eb27c1987a68bd0df13db85dfc07f3c6..5f7276bac43fe977c0f66fef24213c2bc2062c0a 100644 (file)
@@ -16,6 +16,7 @@ class Display():
         self.obj = obj
 
     def run(self, stdscr):
+        """Set important options before beginning"""
         self.win = stdscr
         curses.curs_set(0)  # Hide cursor
         curses.init_pair(1, curses.COLOR_CYAN, 0)
@@ -24,10 +25,11 @@ class Display():
         self.get_key()
 
     def leave(self):
+        """Pickle stack before quitting"""
         if self.obj.getIdx() == len(self.stack):
             self.obj.setIdx(0)
 
-        progress.dump((self.obj, self.stack, self.headers), self.stack)
+        progress.dump(self.stack, lightcards.get_orig())
         sys.exit(0)
 
     def ntotal(self):
@@ -71,6 +73,7 @@ class Display():
         self.win.insstr(bar_end, curses.color_pair(1))
 
     def menu_print(self, string, err=False):
+        """Print messages on the menu screen"""
         self.win.clear()
         if err:
             color = curses.color_pair(2)
@@ -81,6 +84,7 @@ class Display():
         self.menu_grab()
 
     def menu_grab(self):
+        """Grab keypresses for the menu screen"""
         while True:
             key = self.win.getkey()
             if key == "q":
@@ -92,6 +96,9 @@ class Display():
             elif key == "y":
                 self.stack = lightcards.get_orig()[1]
                 self.menu_print("Stack reset!")
+            elif key == "a":
+                self.stack.sort()
+                self.menu_print("Stack alphabetized!")
             elif key == "u":
                 [x.unStar() for x in self.stack]
                 self.menu_print("All unstarred!")
@@ -146,6 +153,7 @@ class Display():
                         curses.A_BOLD)
         self.win.hline(1, 0, curses.ACS_HLINE, 15)
         self.win.addstr(2, 0, "[y]: reset stack to original state\n" +
+                        "[a]: alphabetize stack\n" +
                         "[z]: shuffle stack\n" +
                         "[f]: flip all cards in stack\n" +
                         "[t]: reverse stack order\n" +
@@ -159,6 +167,7 @@ class Display():
             self.menu_grab()
 
     def wrap_width(self):
+        """Calculate the width at which the body should wrap"""
         (_, mcols) = self.win.getmaxyx()
         wrap_width = mcols - 20
         if wrap_width > 80:
@@ -276,6 +285,7 @@ class Display():
                 self.get_key()
 
     def disp_sidebar(self):
+        """Display a sidebar with the starred terms"""
         (mlines, mcols) = self.win.getmaxyx()
         left = mcols - 19
 
@@ -299,4 +309,3 @@ class Display():
 
         if i == 0:
             self.win.addstr(2, left, "None starred")
-