Lines Matching refs:self
69 def closed(self, *args):
73 def __repr__(self):
84 def __init__(self, dict, protocol=None, writeback=False,
86 self.dict = dict
89 self._protocol = protocol
90 self.writeback = writeback
91 self.cache = {}
92 self.keyencoding = keyencoding
94 def __iter__(self):
95 for k in self.dict.keys():
96 yield k.decode(self.keyencoding)
98 def __len__(self):
99 return len(self.dict)
101 def __contains__(self, key):
102 return key.encode(self.keyencoding) in self.dict
104 def get(self, key, default=None):
105 if key.encode(self.keyencoding) in self.dict:
106 return self[key]
109 def __getitem__(self, key):
111 value = self.cache[key]
113 f = BytesIO(self.dict[key.encode(self.keyencoding)])
115 if self.writeback:
116 self.cache[key] = value
119 def __setitem__(self, key, value):
120 if self.writeback:
121 self.cache[key] = value
123 p = Pickler(f, self._protocol)
125 self.dict[key.encode(self.keyencoding)] = f.getvalue()
127 def __delitem__(self, key):
128 del self.dict[key.encode(self.keyencoding)]
130 del self.cache[key]
134 def __enter__(self):
135 return self
137 def __exit__(self, type, value, traceback):
138 self.close()
140 def close(self):
141 if self.dict is None:
144 self.sync()
146 self.dict.close()
153 self.dict = _ClosedDict()
155 self.dict = None
157 def __del__(self):
158 if not hasattr(self, 'writeback'):
162 self.close()
164 def sync(self):
165 if self.writeback and self.cache:
166 self.writeback = False
167 for key, entry in self.cache.items():
168 self[key] = entry
169 self.writeback = True
170 self.cache = {}
171 if hasattr(self.dict, 'sync'):
172 self.dict.sync()
188 def __init__(self, dict, protocol=None, writeback=False,
190 Shelf.__init__(self, dict, protocol, writeback, keyencoding)
192 def set_location(self, key):
193 (key, value) = self.dict.set_location(key)
195 return (key.decode(self.keyencoding), Unpickler(f).load())
197 def next(self):
198 (key, value) = next(self.dict)
200 return (key.decode(self.keyencoding), Unpickler(f).load())
202 def previous(self):
203 (key, value) = self.dict.previous()
205 return (key.decode(self.keyencoding), Unpickler(f).load())
207 def first(self):
208 (key, value) = self.dict.first()
210 return (key.decode(self.keyencoding), Unpickler(f).load())
212 def last(self):
213 (key, value) = self.dict.last()
215 return (key.decode(self.keyencoding), Unpickler(f).load())
225 def __init__(self, filename, flag='c', protocol=None, writeback=False):
227 Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)