Deprecate two methods (which I seriously doubt anyone ever used, but they were documented so...) because they cannot be implemented efficiently on top of collections.SortedDict in Python 2.7 and up.

This commit is contained in:
Alex Gaynor 2012-07-14 16:08:42 -07:00
parent 9877d25dc6
commit 8b3c2f2c51
2 changed files with 13 additions and 0 deletions

View File

@ -1,6 +1,8 @@
import copy
import warning
from types import GeneratorType
class MergeDict(object):
"""
A simple class for creating new "virtual" dictionaries that actually look
@ -191,10 +193,17 @@ class SortedDict(dict):
def value_for_index(self, index):
"""Returns the value of the item at the given zero-based index."""
# This, and insert() are deprecated because they cannot be implemented
# using collections.OrderedDict (Python 2.7 and up), which we'll
# eventually switch to
warning.warn(PendingDeprecationWarning,
"SortedDict.value_for_index is deprecated", stacklevel=2)
return self[self.keyOrder[index]]
def insert(self, index, key, value):
"""Inserts the key, value pair before the item with the given index."""
warning.warn(PendingDeprecationWarning,
"SortedDict.insert is deprecated", stacklevel=2)
if key in self.keyOrder:
n = self.keyOrder.index(key)
del self.keyOrder[n]

View File

@ -112,10 +112,14 @@ to distinguish caches by the ``Accept-language`` header.
.. method:: insert(index, key, value)
.. deprecated:: 1.5
Inserts the key, value pair before the item with the given index.
.. method:: value_for_index(index)
.. deprecated:: 1.5
Returns the value of the item at the given zero-based index.
Creating a new SortedDict