Package zope :: Package i18n :: Package locales :: Module inheritance :: Class InheritingDictionary
[show private | hide private]
[frames | no frames]

Type InheritingDictionary

 object --+    
          |    
       dict --+
              |
 object --+   |
          |   |
Inheritance --+
              |
             InheritingDictionary


Implementation of a dictionary that can also inherit values.

Example:
 >>> from zope.i18n.locales.tests.test_docstrings import \
 ...     LocaleInheritanceStub

 >>> root = LocaleInheritanceStub()
 >>> root.data = InheritingDictionary({1: 'one', 2: 'two', 3: 'three'})
 >>> root.data2 = AttributeInheritance()
 >>> root.data2.dict = InheritingDictionary({1: 'i', 2: 'ii', 3: 'iii'})

 >>> locale = LocaleInheritanceStub(root)
 >>> locale.data = InheritingDictionary({1: 'eins'})
 >>> locale.data2 = AttributeInheritance()
 >>> locale.data2.dict = InheritingDictionary({1: 'I'})

 Here is a dictionary lookup directly from the locale ...

 >>> locale.data[1]
 'eins'
 >>> locale.data[2]
 'two'

 ... however, we can also have any amount of nesting.

 >>> locale.data2.dict[1]
 'I'
 >>> locale.data2.dict[2]
 'ii'

 We also have to overwrite 'get()', 'keys()' and 'items()' since we want
 to make sure that all upper locales are consulted before returning the
 default or to construct the list of elements, respectively.

 >>> locale.data2.dict.get(2)
 'ii'
 >>> locale.data2.dict.get(4) is None
 True
 >>> locale.data.keys()
 [1, 2, 3]
 >>> locale.data.items()
 [(1, 'eins'), (2, 'two'), (3, 'three')]

Method Summary
  __getitem__(self, name)
See zope.i18n.interfaces.locales.ILocaleInheritance
  __setitem__(self, name, value)
See zope.i18n.interfaces.locales.ILocaleInheritance
  get(self, name, default)
See zope.i18n.interfaces.locales.ILocaleInheritance
  items(self)
  keys(self)
  value(self)
    Inherited from Inheritance
  getInheritedSelf(self)
See zope.i18n.interfaces.locales.ILocaleInheritance
    Inherited from dict
  __init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
  __cmp__(x, y)
x.__cmp__(y) <==> cmp(x,y)
  __contains__(D, k)
D.__contains__(k) -> True if D has a key k, else False
  __delitem__(x, y)
x.__delitem__(y) <==> del x[y]
  __eq__(x, y)
x.__eq__(y) <==> x==y
  __ge__(x, y)
x.__ge__(y) <==> x>=y
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __gt__(x, y)
x.__gt__(y) <==> x>y
  __hash__(x)
x.__hash__() <==> hash(x)
  __iter__(x)
x.__iter__() <==> iter(x)
  __le__(x, y)
x.__le__(y) <==> x<=y
  __len__(x)
x.__len__() <==> len(x)
  __lt__(x, y)
x.__lt__(y) <==> x<y
  __ne__(x, y)
x.__ne__(y) <==> x!=y
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __repr__(x)
x.__repr__() <==> repr(x)
  clear(D)
D.clear() -> None.
  copy(D)
D.copy() -> a shallow copy of D
  has_key(D, k)
D.has_key(k) -> True if D has a key k, else False
  iteritems(D)
D.iteritems() -> an iterator over the (key, value) items of D
  iterkeys(D)
D.iterkeys() -> an iterator over the keys of D
  itervalues(D)
D.itervalues() -> an iterator over the values of D
  pop(D, k, d)
If key is not found, d is returned if given, otherwise KeyError is raised
  popitem(D)
2-tuple; but raise KeyError if D is empty
  setdefault(D, k, d)
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
  update(...)
D.update(E, **F) -> None.
  values(D)
D.values() -> list of D's values
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
  __str__(x)
x.__str__() <==> str(x)
    Inherited from type
  fromkeys(dict, S, v)
v defaults to None.

Class Variable Summary
Implements __implemented__ = <implementedBy zope.i18n.locales.inher...
ClassProvides __provides__ = <zope.interface.declarations.ClassProvide...
    Inherited from Inheritance
str __name__ = 'Inheritance'
NoneType __parent__ = None                                                                  
ClassProvides __providedBy__ = <zope.interface.declarations.ClassProvi...

Method Details

__getitem__(self, name)
(Indexing operator)

See zope.i18n.interfaces.locales.ILocaleInheritance
Overrides:
__builtin__.dict.__getitem__

__setitem__(self, name, value)
(Index assignment operator)

See zope.i18n.interfaces.locales.ILocaleInheritance
Overrides:
__builtin__.dict.__setitem__

get(self, name, default=None)

See zope.i18n.interfaces.locales.ILocaleInheritance
Overrides:
__builtin__.dict.get

Class Variable Details

__implemented__

Type:
Implements
Value:
<implementedBy zope.i18n.locales.inheritance.InheritingDictionary>     

__provides__

Type:
ClassProvides
Value:
<zope.interface.declarations.ClassProvides object at 0xb5ecdd8c>       

Generated by Epydoc 2.1 on Fri Jun 24 12:01:22 2005 http://epydoc.sf.net