CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
betterConfigParser.AdaptedDict Class Reference
Inheritance diagram for betterConfigParser.AdaptedDict:

Public Member Functions

def __getitem__ (self, key)
 
def __init__ (self, args, kwargs)
 
def __setitem__ (self, key, value, dict_setitem=collections.OrderedDict.__setitem__)
 
def items (self)
 

Public Attributes

 validationslist
 

Detailed Description

Dictionary which handles updates of values for already existing keys
in a modified way.
adapteddict[key] returns a list of all values associated with key
This dictionary is used in the class `BetterConfigParser` instead of the
default `dict_type` of the `ConfigParser` class.

Definition at line 9 of file betterConfigParser.py.

Constructor & Destructor Documentation

def betterConfigParser.AdaptedDict.__init__ (   self,
  args,
  kwargs 
)

Definition at line 18 of file betterConfigParser.py.

18  def __init__(self, *args, **kwargs):
19  self.validationslist = []
20  collections.OrderedDict.__init__(self, *args, **kwargs)
21 
def __init__(self, args, kwargs)

Member Function Documentation

def betterConfigParser.AdaptedDict.__getitem__ (   self,
  key 
)

Definition at line 44 of file betterConfigParser.py.

References betterConfigParser.AdaptedDict.validationslist.

44  def __getitem__(self, key):
45  if key != "__name__" and "__name__" in self and self["__name__"]=="validation":
46  return [validation[1] for validation in self.validationslist if validation[0] == key]
47  else:
48  return collections.OrderedDict.__getitem__(self, key)
49 
def betterConfigParser.AdaptedDict.__setitem__ (   self,
  key,
  value,
  dict_setitem = collections.OrderedDict.__setitem__ 
)
od.__setitem__(i, y) <==> od[i]=y
Updating an existing key appends the new value to the old value
instead of replacing it.

Arguments:
- `key`: key part of the key-value pair
- `value`: value part of the key-value pair
- `dict_item`: method which is used for finally setting the item

Definition at line 22 of file betterConfigParser.py.

References betterConfigParser.AdaptedDict.validationslist.

22  def __setitem__(self, key, value, dict_setitem=collections.OrderedDict.__setitem__):
23  """
24  od.__setitem__(i, y) <==> od[i]=y
25  Updating an existing key appends the new value to the old value
26  instead of replacing it.
27 
28  Arguments:
29  - `key`: key part of the key-value pair
30  - `value`: value part of the key-value pair
31  - `dict_item`: method which is used for finally setting the item
32  """
33 
34  if key != "__name__" and "__name__" in self and self["__name__"]=="validation":
35  if isinstance(value, (str, unicode)):
36  for index, item in enumerate(self.validationslist[:]):
37  if item == (key, value.split("\n")):
38  self.validationslist[index] = (key, value)
39  return
40  self.validationslist.append((key, value))
41  else:
42  dict_setitem(self, key, value)
43 
def __setitem__(self, key, value, dict_setitem=collections.OrderedDict.__setitem__)
def betterConfigParser.AdaptedDict.items (   self)

Definition at line 50 of file betterConfigParser.py.

References betterConfigParser.AdaptedDict.validationslist.

Referenced by betterConfigParser.BetterConfigParser.exists(), crabConfigParser.CrabConfigParser.getSectionLines(), and python.rootplot.core.Options.kwarg_list().

50  def items(self):
51  if "__name__" in self and self["__name__"]=="validation":
52  return self.validationslist
53  else:
54  return collections.OrderedDict.items(self)
55 

Member Data Documentation

betterConfigParser.AdaptedDict.validationslist