X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=lightcards%2Fprogress.py;h=3be0247e42170c3243cf03814dc09b51b0ab38bc;hb=572d28cd80f72a865840afdb4aa5bf98b8d63b9b;hp=f096da4bb3edd3e332fb0dd27652742bbf25ad02;hpb=e99950c3023a64f68cdc968e2759f45653d6b9af;p=lightcards.git diff --git a/lightcards/progress.py b/lightcards/progress.py index f096da4..3be0247 100644 --- a/lightcards/progress.py +++ b/lightcards/progress.py @@ -6,30 +6,31 @@ 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: @@ -37,16 +38,7 @@ def dive(typer, stra): 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)}/" + if os.path.exists(file): + shutil.rmtree(file)