]> git.armaanb.net Git - lightcards.git/blobdiff - lightcards/progress.py
Clean up pickle implementation
[lightcards.git] / lightcards / progress.py
index b721a49148219c8bbeeee87f76086a6a90c14dc1..665ae315485cba08b742073af68e188608f031d3 100644 (file)
@@ -6,29 +6,29 @@ import os
 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:
@@ -36,15 +36,14 @@ def dive(typer, stra):
 
 
 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__":