Sfoglia il codice sorgente

py3k support __setitem__ and __delitem__ of SmartList.

tags/v0.1
Ben Kurtovic 12 anni fa
parent
commit
0487661c99
1 ha cambiato i file con 4 aggiunte e 2 eliminazioni
  1. +4
    -2
      mwparserfromhell/smart_list.py

+ 4
- 2
mwparserfromhell/smart_list.py Vedi File

@@ -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:


Caricamento…
Annulla
Salva