From 0487661c9913f151f7e05baec30dfb09b0ae7b94 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Tue, 21 Aug 2012 01:47:21 -0400 Subject: [PATCH] py3k support __setitem__ and __delitem__ of SmartList. --- mwparserfromhell/smart_list.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mwparserfromhell/smart_list.py b/mwparserfromhell/smart_list.py index ab069ee..df6fb48 100644 --- a/mwparserfromhell/smart_list.py +++ b/mwparserfromhell/smart_list.py @@ -48,8 +48,9 @@ class SmartList(list): item = list(item) super(SmartList, self).__setitem__(key, item) diff = len(item) - key.stop + key.start + values = self._children.values if py3k else self._children.itervalues if diff: - for child, (start, stop, step) in self._children.itervalues(): + for child, (start, stop, step) in values(): if start >= key.stop: self._children[id(child)][1][0] += diff if stop >= key.stop and stop != maxsize: @@ -60,7 +61,8 @@ class SmartList(list): if not isinstance(key, slice): key = slice(key, key + 1) diff = key.stop - key.start - for child, (start, stop, step) in self._children.itervalues(): + values = self._children.values if py3k else self._children.itervalues + for child, (start, stop, step) in values(): if start > key.start: self._children[id(child)][1][0] -= diff if stop >= key.stop: