Asterisk - The Open Source Telephony Project  21.4.1
Public Member Functions
OrderedDict Class Reference
Inheritance diagram for OrderedDict:

Public Member Functions

def __delitem__
 
def __eq__ (self, other)
 
def __init__ (self, args, kwds)
 
def __iter__ (self)
 
def __ne__ (self, other)
 
def __reduce__ (self)
 
def __repr__
 
def __reversed__ (self)
 
def __setitem__
 
def clear (self)
 
def copy (self)
 
def fromkeys
 
def items (self)
 
def iteritems (self)
 
def iterkeys (self)
 
def itervalues (self)
 
def keys (self)
 
def pop
 
def popitem
 
def setdefault
 
def update (args, kwds)
 
def values (self)
 
def viewitems (self)
 
def viewkeys (self)
 
def viewvalues (self)
 

Detailed Description

Definition at line 18 of file odict.py.

Constructor & Destructor Documentation

def __init__ (   self,
  args,
  kwds 
)
Initialize an ordered dictionary.  Signature is the same as for
regular dictionaries, but keyword arguments are not recommended
because their insertion order is arbitrary.

Definition at line 30 of file odict.py.

References OrderedDict.__map, OrderedDict.__root, and OrderedDict.__update.

30  def __init__(self, *args, **kwds):
31  '''Initialize an ordered dictionary. Signature is the same as for
32  regular dictionaries, but keyword arguments are not recommended
33  because their insertion order is arbitrary.
34 
35  '''
36  if len(args) > 1:
37  raise TypeError('expected at most 1 arguments, got %d' % len(args))
38  try:
39  self.__root
40  except AttributeError:
41  self.__root = root = [] # sentinel node
42  root[:] = [root, root, None]
43  self.__map = {}
44  self.__update(*args, **kwds)
45 
def __init__(self, args, kwds)
Definition: odict.py:30

Member Function Documentation

def __eq__ (   self,
  other 
)
od.__eq__(y) <==> od==y.  Comparison to another OD is order-sensitive
while comparison to a regular mapping is order-insensitive.

Definition at line 237 of file odict.py.

References playtones_def.items, playtones_state.items, ewscal_pvt.items, OrderedDict.items(), notify_option.items, resource_list.items, featuregroup.items, and test_config.items.

237  def __eq__(self, other):
238  '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive
239  while comparison to a regular mapping is order-insensitive.
240 
241  '''
242  if isinstance(other, OrderedDict):
243  return len(self)==len(other) and self.items() == other.items()
244  return dict.__eq__(self, other)
245 
def __eq__(self, other)
Definition: odict.py:237
def items(self)
Definition: odict.py:126
def fromkeys (   cls,
  iterable,
  value = None 
)
OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
and values equal to v (which defaults to None).

Definition at line 227 of file odict.py.

227  def fromkeys(cls, iterable, value=None):
228  '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
229  and values equal to v (which defaults to None).
230 
231  '''
232  d = cls()
233  for key in iterable:
234  d[key] = value
235  return d
236 
def pop (   self,
  key,
  default = __marker 
)
od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised.

Definition at line 179 of file odict.py.

References OrderedDict.__marker, playtones_def.items, playtones_state.items, ewscal_pvt.items, OrderedDict.items(), notify_option.items, resource_list.items, featuregroup.items, and test_config.items.

179  def pop(self, key, default=__marker):
180  '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
181  If key is not found, d is returned if given, otherwise KeyError is raised.
182 
183  '''
184  if key in self:
185  result = self[key]
186  del self[key]
187  return result
188  if default is self.__marker:
189  raise KeyError(key)
190  return default
191 
tuple __marker
Definition: odict.py:177
def popitem (   self,
  last = True 
)
od.popitem() -> (k, v), return and remove a (key, value) pair.
Pairs are returned in LIFO order if last is true or FIFO order if false.

Definition at line 93 of file odict.py.

References OrderedDict.__map, and OrderedDict.__root.

93  def popitem(self, last=True):
94  '''od.popitem() -> (k, v), return and remove a (key, value) pair.
95  Pairs are returned in LIFO order if last is true or FIFO order if false.
96 
97  '''
98  if not self:
99  raise KeyError('dictionary is empty')
100  root = self.__root
101  if last:
102  link = root[0]
103  link_prev = link[0]
104  link_prev[1] = root
105  root[0] = link_prev
106  else:
107  link = root[1]
108  link_next = link[1]
109  root[1] = link_next
110  link_next[0] = root
111  key = link[2]
112  del self.__map[key]
113  value = dict.pop(self, key)
114  return key, value
115 
def update (   args,
  kwds 
)
od.update(E, **F) -> None.  Update od from dict/iterable E and F.

If E is a dict instance, does:           for k in E: od[k] = E[k]
If E has a .keys() method, does:         for k in E.keys(): od[k] = E[k]
Or if E is an iterable of items, does:   for k, v in E: od[k] = v
In either case, this is followed by:     for k, v in F.items(): od[k] = v

Definition at line 144 of file odict.py.

144  def update(*args, **kwds):
145  '''od.update(E, **F) -> None. Update od from dict/iterable E and F.
146 
147  If E is a dict instance, does: for k in E: od[k] = E[k]
148  If E has a .keys() method, does: for k in E.keys(): od[k] = E[k]
149  Or if E is an iterable of items, does: for k, v in E: od[k] = v
150  In either case, this is followed by: for k, v in F.items(): od[k] = v
151 
152  '''
153  if len(args) > 2:
154  raise TypeError('update() takes at most 2 positional '
155  'arguments (%d given)' % (len(args),))
156  elif not args:
157  raise TypeError('update() takes at least 1 argument (0 given)')
158  self = args[0]
159  # Make progressively weaker assumptions about "other"
160  other = ()
161  if len(args) == 2:
162  other = args[1]
163  if isinstance(other, dict):
164  for key in other:
165  self[key] = other[key]
166  elif hasattr(other, 'keys'):
167  for key in other.keys():
168  self[key] = other[key]
169  else:
170  for key, value in other:
171  self[key] = value
172  for key, value in kwds.items():
173  self[key] = value
174 
def update(args, kwds)
Definition: odict.py:144

The documentation for this class was generated from the following file: