Asterisk - The Open Source Telephony Project GIT-master-27fb039
Loading...
Searching...
No Matches
Public Member Functions
MultiOrderedDict Class Reference
Inheritance diagram for MultiOrderedDict:
Inheritance graph
[legend]
Collaboration diagram for MultiOrderedDict:
Collaboration graph
[legend]

Public Member Functions

 __init__ (self, *args, **kwds)
 
 __setitem__ (self, key, val, i=None)
 
 copy (self)
 
 insert (self, i, key, val)
 
- Public Member Functions inherited from OrderedDict
 __delitem__ (self, key, dict_delitem=dict.__delitem__)
 
 __eq__ (self, other)
 
 __iter__ (self)
 
 __ne__ (self, other)
 
 __reduce__ (self)
 
 __repr__ (self, _repr_running={})
 
 __reversed__ (self)
 
 clear (self)
 
 fromkeys (cls, iterable, value=None)
 
 items (self)
 
 iteritems (self)
 
 iterkeys (self)
 
 itervalues (self)
 
 keys (self)
 
 pop (self, key, default=__marker)
 
 popitem (self, last=True)
 
 setdefault (self, key, default=None)
 
 update (*args, **kwds)
 
 values (self)
 
 viewitems (self)
 
 viewkeys (self)
 
 viewvalues (self)
 

Detailed Description

Definition at line 266 of file astdicts.py.

Constructor & Destructor Documentation

◆ __init__()

__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.

Reimplemented from OrderedDict.

Reimplemented in Section.

Definition at line 267 of file astdicts.py.

267 def __init__(self, *args, **kwds):
268 OrderedDict.__init__(self, *args, **kwds)
269

Member Function Documentation

◆ __setitem__()

__setitem__ (   self,
  key,
  val,
  i = None 
)

Reimplemented from OrderedDict.

Definition at line 270 of file astdicts.py.

270 def __setitem__(self, key, val, i=None):
271 if key not in self:
272# print("__setitem__ key = " + key + " val = " + val)
273 OrderedDict.__setitem__(
274 self, key, val if isinstance(val, list) else [val])
275 return
276# print("inserting key = " + key + " val = " + val)
277 vals = self[key]
278 if i is None:
279 i = len(vals)
280
281 if not isinstance(val, list):
282 if val not in vals:
283 vals.insert(i, val)
284 else:
285 for j in val.reverse():
286 if j not in vals:
287 vals.insert(i, j)
288
289
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)

References len().

Referenced by MultiOrderedDict.insert().

◆ copy()

copy (   self)

Reimplemented from OrderedDict.

Definition at line 293 of file astdicts.py.

293 def copy(self):
294 # TODO - find out why for some reason copies
295 # the [] as an [[]], so do manually
296 c = MultiOrderedDict() #self.__class__(self)
297 for key, val in self.iteritems():
298 for v in val:
299 c[key] = v
300 return c
static int copy(char *infile, char *outfile)
Utility function to copy a file.

References OrderedDict.iteritems().

◆ insert()

insert (   self,
  i,
  key,
  val 
)

Definition at line 290 of file astdicts.py.

290 def insert(self, i, key, val):
291 self.__setitem__(key, val, i)
292

References MultiOrderedDict.__setitem__(), and OrderedDict.__setitem__().

Referenced by Section.add_defaults(), and Section.add_templates().


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