Newer
Older
import os
# DONT't import stuff here since install script requires __version__
def cache_write(object, file_name, verbose=True):
import compress_pickle
dn = os.path.dirname(file_name)
if not os.path.exists(dn):
os.mkdir(dn)
if verbose: print("Writing cache...", file_name)
with open(file_name, 'wb', ) as f:
compress_pickle.dump(object, f, compression="lzma")
if verbose: print("Done!")
def cache_exists(file_name):
# file_name = cn_(file_name) if cache_prefix else file_name
return os.path.exists(file_name)
def cache_read(file_name):
import compress_pickle # Import here because if you import in top the __version__ tag will fail.
# file_name = cn_(file_name) if cache_prefix else file_name
if os.path.exists(file_name):
try:
with open(file_name, 'rb') as f:
return compress_pickle.load(f, compression="lzma")
except Exception as e:
print("Tried to load a bad pickle file at", file_name)
print("If the file appears to be automatically generated, you can try to delete it, otherwise download a new version")
print(e)
# return pickle.load(f)
else:
return None