self.get_key()
def leave(self):
- progress.dump(self.obj, "status", self.stack)
- progress.dump(self.stack, "stack", self.stack)
- progress.dump(self.headers, "headers", self.stack)
+ progress.dump((self.obj, self.stack, self.headers), self.stack)
sys.exit(0)
def disp_bar(self):
parser.add_argument("-p", "--purge",
action='store_true',
help="don't check cached info before starting")
+ # TODO: don't require input file when using -P
parser.add_argument("-P", "--purge-all",
action='store_true',
help="don't check cached info before starting")
progress.purge_all()
# Check for caches
- ida = progress.dive("status", stack)
+ ida = progress.dive(stack)
if ida:
- idx = ida
+ (idx, stack, headers) = ida
else:
idx = Status()
- stackb = progress.dive("stack", stack)
- if stackb:
- stack = stackb
-
- headerb = progress.dive("headers", stack)
- if headerb:
- headers = headerb
-
# Manipulate deck
if args.flip:
for x in stack:
def md2html(file):
"""Use the markdown module to convert input to HTML"""
try:
- with open(file, "r", encoding="utf-8") as input_file:
- return markdown.markdown(input_file.read(), extensions=['tables'])
+ return markdown.markdown(open(file, "r").read(), extensions=['tables'])
except FileNotFoundError:
print(f"lightcards: \"{file}\": No such file or directory")
exit(1)
import pickle
import shutil
+global dired
+dired = f"{os.path.expanduser('~')}/.cache/lightcards/"
-def gen_hash(inp):
+def name_gen(stra):
hasher = hashlib.md5()
- hasher.update(inp)
-
+ hasher.update(str(stra).encode("utf-8"))
return(hasher.hexdigest())
-def name_gen(stra):
- return gen_hash(str(stra).encode("utf-8"))
-
-
-def dump(obj, typer, stra):
- dired = f"{os.path.expanduser('~')}/.cache/lightcards/{name_gen(stra)}/"
+def make_dirs(dired):
if not os.path.exists(dired):
os.makedirs(dired)
- pickle.dump(obj, open(f"{dired}/{typer}.p", "wb"))
+def dump(obj, stra):
+ make_dirs(dired)
-def dive(typer, stra):
- file = f"{os.path.expanduser('~')}/.cache/lightcards/{name_gen(stra)}/" + \
- f"{typer}.p"
+ pickle.dump(obj, open(f"{dired}/{name_gen(stra)}.p", "wb"))
+
+
+def dive(stra):
+ file = f"{dired}/{name_gen(stra)}.p"
+ make_dirs(dired)
if os.path.exists(file):
return pickle.load(open(file, "rb"))
else:
def purge(stra):
- dired = f"{os.path.expanduser('~')}/.cache/lightcards/{name_gen(stra)}/"
- shutil.rmtree(dired)
+ file = f"{dired}/{name_gen(stra)}/"
+ if os.path.exists(file):
+ shutil.rmtree(file)
-def purge_all():
- dired = f"{os.path.expanduser('~')}/.cache/lightcards/"
- shutil.rmtree(dired)
-def main():
- pass
+def purge_all():
+ if os.path.exists(dired):
+ shutil.rmtree(dired)
if __name__ == "__main__":