Skip to content

Commit bf1a69b

Browse files
committed
Fill out remainder of LazyDict dict compatibility
1 parent 7513d4f commit bf1a69b

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

tools/toolchains/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ def __getitem__(self, key):
6363
def __setitem__(self, key, value):
6464
self.eager[key] = value
6565

66+
def __delitem__(self, key):
67+
if key in self.eager:
68+
del self.eager[key]
69+
else:
70+
del self.lazy[key]
71+
6672
def __contains__(self, key):
6773
return key in self.eager or key in self.lazy
6874

@@ -72,6 +78,12 @@ def __iter__(self):
7278
def __len__(self):
7379
return len(self.eager) + len(self.lazy)
7480

81+
def __str__(self):
82+
return "Lazy{%s}" % (
83+
", ".join("%r: %r" % (k, v) for k, v in
84+
chain(self.eager.iteritems(), ((k, "not evaluated")
85+
for k in self.lazy))))
86+
7587
def update(self, other):
7688
if isinstance(other, LazyDict):
7789
self.eager.update(other.eager)

0 commit comments

Comments
 (0)