X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=lightcards%2Fprogress.py;h=97fcf0c9ce68068db1f5f9914dbe49eb42f5e6e7;hb=79afb3261a260272d0c3975eac67872a1c0b25df;hp=b721a49148219c8bbeeee87f76086a6a90c14dc1;hpb=eec0373eb1745933e0ad618af7e79556427a4f6f;p=lightcards.git diff --git a/lightcards/progress.py b/lightcards/progress.py index b721a49..97fcf0c 100644 --- a/lightcards/progress.py +++ b/lightcards/progress.py @@ -4,31 +4,33 @@ import hashlib import os import pickle -import shutil - -def gen_hash(inp): - hasher = hashlib.md5() - hasher.update(inp) - - return(hasher.hexdigest()) +# TODO: Check for $XDG_CACHE_HOME +dired = f"{os.path.expanduser('~')}/.cache/lightcards/" def name_gen(stra): - return gen_hash(str(stra).encode("utf-8")) + """Generate hash of stack for name of pickle file""" + return hashlib.md5(str([str(x) for x in stra]).encode("utf-8")).hexdigest() -def dump(obj, typer, stra): - dired = f"{os.path.expanduser('~')}/.cache/lightcards/{name_gen(stra)}/" +def make_dirs(dired): + """mkdir -p equivalent""" if not os.path.exists(dired): os.makedirs(dired) - pickle.dump(obj, open(f"{dired}/{typer}.p", "wb")) +def dump(obj, stra): + """Write pickle file""" + make_dirs(dired) + + 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: @@ -36,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)}.p" + if os.path.exists(file): + os.remove(file)