From: Armaan Bhojwani Date: Tue, 9 Feb 2021 02:10:03 +0000 (-0500) Subject: Move card flipping methods from Status to Card X-Git-Tag: v0.6.0~41 X-Git-Url: https://git.armaanb.net/?p=lightcards.git;a=commitdiff_plain;h=61808c327216bcf1973ace53f9bbb679bd1b9309 Move card flipping methods from Status to Card --- diff --git a/lightcards/deck.py b/lightcards/deck.py index eac8b69..2a61202 100644 --- a/lightcards/deck.py +++ b/lightcards/deck.py @@ -8,6 +8,7 @@ class Card(list): def __init__(self, inp): super().__init__(inp) self.starred = False + self.side = 0 def unStar(self): self.starred = False @@ -30,13 +31,24 @@ class Card(list): else: return "Not starred" + def setSide(self, inp): + self.side = inp + + def getSide(self): + return self.side + + def flip(self): + if self.side == 0: + self.side = 1 + else: + self.side = 0 + class Status: """The status class keeps track of where in the deck the user is""" def __init__(self): self.index = 0 - self.side = 0 def forward(self, stack): if not self.index == len(stack): @@ -46,20 +58,8 @@ class Status: if not self.index < 1: self.index -= 1 - def flip(self): - if self.side == 0: - self.side = 1 - else: - self.side = 0 - - def setSide(self, inp): - self.side = inp - def setIdx(self, inp): self.index = inp - def getSide(self): - return self.side - def getIdx(self): return self.index diff --git a/lightcards/display.py b/lightcards/display.py index ecdc070..76e312d 100644 --- a/lightcards/display.py +++ b/lightcards/display.py @@ -83,8 +83,8 @@ class Display: + f"[{percent}% (" + str(self.obj.getIdx() + 1).zfill(len(str(len(self.stack)))) + f"/{str(len(self.stack))})] [" - + f"{self.headers[self.obj.getSide()]} (" - + f"{str(self.obj.getSide() + 1)})] " + + f"{self.headers[self.stack[self.obj.getIdx()].getSide()]} (" + + f"{str(self.stack[self.obj.getIdx()].getSide()) + str(1)})] " ) # Put it all togethor @@ -241,13 +241,17 @@ class Display: num_done = str(self.obj.getIdx() + 1).zfill( len(str(len(self.stack))) ) - if self.obj.getSide() == 0: - top = num_done + " | " + self.headers[self.obj.getSide()] + if self.stack[self.obj.getIdx()].getSide() == 0: + top = ( + num_done + + " | " + + self.headers[self.stack[self.obj.getIdx()].getSide()] + ) else: top = ( num_done + " | " - + self.headers[self.obj.getSide()] + + self.headers[self.stack[self.obj.getIdx()].getSide()] + ' | "' + str(self.stack[self.obj.getIdx()][0]) + '"' @@ -274,7 +278,9 @@ class Display: 2, 0, textwrap.fill( - self.stack[self.obj.getIdx()][self.obj.getSide()], + self.stack[self.obj.getIdx()][ + self.stack[self.obj.getIdx()].getSide() + ], width=self.wrap_width(), ), ) @@ -342,25 +348,25 @@ class Display: self.leave() elif key in ["h", "KEY_LEFT"]: self.obj.back() - self.obj.setSide(0) + self.stack[self.obj.getIdx()].setSide(0) self.disp_card() elif key in ["l", "KEY_RIGHT"]: self.obj.forward(self.stack) - self.obj.setSide(0) + self.stack[self.obj.getIdx()].setSide(0) self.disp_card() elif key in ["j", "k", "KEY_UP", "KEY_DOWN"]: - self.obj.flip() + self.stack[self.obj.getIdx()].flip() self.disp_card() elif key in ["i", "/"]: self.stack[self.obj.getIdx()].toggleStar() self.disp_card() elif key in ["0", "^", "KEY_HOME"]: self.obj.setIdx(0) - self.obj.setSide(0) + self.stack[self.obj.getIdx()].setSide(0) self.disp_card() elif key in ["$", "KEY_END"]: self.obj.setIdx(len(self.stack) - 1) - self.obj.setSide(0) + self.stack[self.obj.getIdx()].setSide(0) self.disp_card() elif key in ["H", "?"]: self.disp_help()