import hashlib
import os
import pickle
-import shutil
+dired = f"{os.path.expanduser('~')}/.cache/lightcards/"
-def gen_hash(inp):
- hasher = hashlib.md5()
- hasher.update(inp)
- return(hasher.hexdigest())
+def name_gen(stra):
+ """Generate hash of stack for name of pickle file"""
+ return hashlib.md5(str([str(x) for x in stra]).encode("utf-8")).hexdigest()
-def name_gen(stra):
- return gen_hash(str(stra).encode("utf-8"))
+def make_dirs(dired):
+ """mkdir -p equivalent"""
+ if not os.path.exists(dired):
+ os.makedirs(dired)
-def dump(obj, typer, stra):
- dired = f"{os.path.expanduser('~')}/.cache/lightcards/{name_gen(stra)}/"
- if os.path.exists(dired):
- shutil.rmtree(dired)
- os.makedirs(dired)
+def dump(obj, stra):
+ """Write pickle file"""
+ make_dirs(dired)
- pickle.dump(obj, open(f"{dired}/{typer}.p", "wb"))
+ pickle.dump(obj, open(f"{dired}/{name_gen(stra)}.p", "wb"))
-def dive(typer, stra):
- file = f"{os.path.expanduser('~')}/.cache/lightcards/{name_gen(stra)}/" + \
- f"{typer}.p"
+def dive(stra):
+ """Get pickle file"""
+ 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)
-
-def purge_all():
- dired = f"{os.path.expanduser('~')}/.cache/lightcards/"
- shutil.rmtree(dired)
-
-def main():
- pass
-
-
-if __name__ == "__main__":
- main()
+ """Delete pickle file"""
+ file = f"{dired}/{name_gen(stra)}.p"
+ if os.path.exists(file):
+ os.remove(file)