Esempio n. 1
0
 def register_interface(self, iface, omit=(), prefix=None):
     proxy = RecordsProxy(self, iface, prefix)
     for name in iface.names():
         if name in omit:
             continue
         field = iface[name]
         if field.defaultFactory is not None:
             if IContextAwareDefaultFactory.providedBy(field.defaultFactory):  # noqa
                 proxy[name] = field.defaultFactory(self)
             else:
                 proxy[name] = field.defaultFactory()
         elif field.default is not None:
             proxy[name] = field.default
Esempio n. 2
0
 def register_interface(self, iface, omit=(), prefix=None):
     proxy = RecordsProxy(self, iface, prefix)
     for name in iface.names():
         if name in omit:
             continue
         field = iface[name]
         if field.defaultFactory is not None:
             if IContextAwareDefaultFactory.providedBy(field.defaultFactory):  # noqa
                 proxy[name] = field.defaultFactory(self)
             else:
                 proxy[name] = field.defaultFactory()
         elif field.default is not None:
             proxy[name] = field.default
Esempio n. 3
0
 def __get__(self, inst, owner):
     name, check = self._info
     default_factory = inst.__dict__.get('defaultFactory')
     # If there is no default factory, simply return the default.
     if default_factory is None:
         return inst.__dict__[name]
     # Get the default value by calling the factory. Some factories might
     # require a context to produce a value.
     if IContextAwareDefaultFactory.providedBy(default_factory):
         value = default_factory(inst.context)
     else:
         value = default_factory()
     # Check that the created value is valid.
     if check is not None:
         check(inst, value)
     elif value != inst.missing_value:
         inst.validate(value)
     return value
Esempio n. 4
0
 def __get__(self, inst, owner):
     name, check = self._info
     default_factory = inst.__dict__.get('defaultFactory')
     # If there is no default factory, simply return the default.
     if default_factory is None:
         return inst.__dict__[name]
     # Get the default value by calling the factory. Some factories might
     # require a context to produce a value.
     if IContextAwareDefaultFactory.providedBy(default_factory):
         value = default_factory(inst.context)
     else:
         value = default_factory()
     # Check that the created value is valid.
     if check is not None:
         check(inst, value)
     elif value != inst.missing_value:
         inst.validate(value)
     return value