@@ -41,6 +41,9 @@ def __setitem__(self, _key, _value):
4141 def pop (self , _key ):
4242 return 1
4343
44+ def clear (self ):
45+ pass
46+
4447
4548class Cache (collections .abc .MutableMapping ):
4649 """Mutable mapping to serve as a simple cache or cache base class."""
@@ -136,8 +139,7 @@ def setdefault(self, key, default=None):
136139
137140 def clear (self ):
138141 self .__data .clear ()
139- if isinstance (self .__size , dict ):
140- self .__size .clear ()
142+ self .__size .clear ()
141143 self .__currsize = 0
142144
143145 @property
@@ -183,8 +185,8 @@ def popitem(self):
183185 else :
184186 return (key , self .pop (key ))
185187
186- def clear (self , cache_clear = Cache . clear ):
187- cache_clear (self )
188+ def clear (self ):
189+ Cache . clear (self )
188190 self .__order .clear ()
189191
190192
@@ -247,8 +249,8 @@ def popitem(self):
247249 key = next (iter (curr .keys )) # remove an arbitrary element
248250 return (key , self .pop (key ))
249251
250- def clear (self , cache_clear = Cache . clear ):
251- cache_clear (self )
252+ def clear (self ):
253+ Cache . clear (self )
252254 root = self .__root
253255 root .prev = root .next = root
254256 self .__links .clear ()
@@ -302,8 +304,8 @@ def popitem(self):
302304 else :
303305 return (key , self .pop (key ))
304306
305- def clear (self , cache_clear = Cache . clear ):
306- cache_clear (self )
307+ def clear (self ):
308+ Cache . clear (self )
307309 self .__order .clear ()
308310
309311 def __touch (self , key ):
@@ -352,8 +354,8 @@ def popitem(self):
352354 else :
353355 return (key , self .pop (key ))
354356
355- def clear (self , cache_clear = Cache . clear ):
356- cache_clear (self )
357+ def clear (self ):
358+ Cache . clear (self )
357359 self .__index .clear ()
358360 del self .__keys [:]
359361
@@ -562,9 +564,7 @@ def popitem(self):
562564 return (key , self .pop (key ))
563565
564566 def clear (self ):
565- with self .timer as time :
566- self .expire (time )
567- Cache .clear (self )
567+ _TimedCache .clear (self )
568568 root = self .__root
569569 root .prev = root .next = root
570570 self .__links .clear ()
@@ -694,9 +694,7 @@ def popitem(self):
694694 return (key , self .pop (key ))
695695
696696 def clear (self ):
697- with self .timer as time :
698- self .expire (time )
699- Cache .clear (self )
697+ _TimedCache .clear (self )
700698 self .__items .clear ()
701699 del self .__order [:]
702700
0 commit comments