Run with the following pre-commit configuration: ``` repos: - repo: https://github.com/asottile/pyupgrade rev: v3.1.0 hooks: - id: pyupgrade args: [ "--py3-plus", "--py36-plus", "--py37-plus" ] ``` The rationale for every change can be found at https://github.com/asottile/pyupgrade
28 lines
722 B
Python
28 lines
722 B
Python
import os
|
|
import pickle
|
|
|
|
|
|
class Cache(dict):
|
|
def __init__(self, django_folder, database, cache_path):
|
|
self.filename = os.path.join(
|
|
cache_path,
|
|
"{}_{}.pickle".format(django_folder.replace(os.sep, "_"), database),
|
|
)
|
|
|
|
if not os.path.exists(os.path.dirname(self.filename)):
|
|
os.makedirs(os.path.dirname(self.filename))
|
|
|
|
super().__init__()
|
|
|
|
def load(self):
|
|
try:
|
|
with open(self.filename, "rb") as f:
|
|
tmp_dict = pickle.load(f)
|
|
self.update(tmp_dict)
|
|
except OSError:
|
|
pass
|
|
|
|
def save(self):
|
|
with open(self.filename, "wb") as f:
|
|
pickle.dump(self, f, protocol=2)
|