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 10 of file betterConfigParser.py.

Constructor & Destructor Documentation

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

Definition at line 19 of file betterConfigParser.py.

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

Member Function Documentation

def betterConfigParser.AdaptedDict.__getitem__ (   self,
  key 
)

Definition at line 45 of file betterConfigParser.py.

References betterConfigParser.AdaptedDict.validationslist.

45  def __getitem__(self, key):
46  if key != "__name__" and "__name__" in self and self["__name__"]=="validation":
47  return [validation[1] for validation in self.validationslist if validation[0] == key]
48  else:
49  return collections.OrderedDict.__getitem__(self, key)
50 
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 23 of file betterConfigParser.py.

References betterConfigParser.AdaptedDict.validationslist.

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

Definition at line 51 of file betterConfigParser.py.

References betterConfigParser.AdaptedDict.validationslist.

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

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

Member Data Documentation

betterConfigParser.AdaptedDict.validationslist