Use isort diagnostic with --diff option
[stgit.git] / stgit / lib / objcache.py
blob056d2f4ab0520c60201ed6efcf4f1299b21bb53b
1 class ObjectCache:
2 """Cache for Python objects, for making sure that we create only one
3 Python object per git object. This reduces memory consumption and
4 makes object comparison very cheap."""
6 def __init__(self, create):
7 self.__objects = {}
8 self.__create = create
10 def __getitem__(self, name):
11 if name not in self.__objects:
12 self.__objects[name] = self.__create(name)
13 return self.__objects[name]
15 def __contains__(self, name):
16 return name in self.__objects
18 def __setitem__(self, name, val):
19 assert name not in self.__objects
20 self.__objects[name] = val