Browse Source

Fix the same bug in __setitem__ and __delitem__

tags/v0.2
Ben Kurtovic 11 years ago
parent
commit
10a7e5d241
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      mwparserfromhell/smart_list.py

+ 4
- 1
mwparserfromhell/smart_list.py View File

@@ -86,6 +86,7 @@ class SmartList(list):
return super(SmartList, self).__setitem__(key, item) return super(SmartList, self).__setitem__(key, item)
item = list(item) item = list(item)
super(SmartList, self).__setitem__(key, item) super(SmartList, self).__setitem__(key, item)
key = slice(key.start or 0, key.stop or maxsize)
diff = len(item) - key.stop + key.start diff = len(item) - key.stop + key.start
values = self._children.values if py3k else self._children.itervalues values = self._children.values if py3k else self._children.itervalues
if diff: if diff:
@@ -97,7 +98,9 @@ class SmartList(list):


def __delitem__(self, key): def __delitem__(self, key):
super(SmartList, self).__delitem__(key) super(SmartList, self).__delitem__(key)
if not isinstance(key, slice):
if isinstance(key, slice):
key = slice(key.start or 0, key.stop or maxsize)
else:
key = slice(key, key + 1) key = slice(key, key + 1)
diff = key.stop - key.start diff = key.stop - key.start
values = self._children.values if py3k else self._children.itervalues values = self._children.values if py3k else self._children.itervalues


Loading…
Cancel
Save