def setProperty(self, propname, value, source='Unknown', runtime=None): # source is not optional in IProperties, but is optional here to avoid # breaking user-supplied code that fails to specify a source props = IProperties(self) if runtime is None: runtime = self.set_runtime_properties props.setProperty(propname, value, source, runtime=runtime)
def render(self, value): props = IProperties(self) return props.render(value)
def hasProperty(self, propname): props = IProperties(self) return props.hasProperty(propname)
def setProperty(self, propname, value, source, runtime=None): props = IProperties(self) if runtime is None: runtime = self.set_runtime_properties props.setProperty(propname, value, source, runtime=runtime)
def getProperty(self, propname, default=None): props = IProperties(self) return props.getProperty(propname, default)
def getProperties(self): return IProperties(self)
class DeferredRenderable: implements(IRenderable) def __init__(self): self.d = defer.Deferred() def getRenderingFor(self, build): return self.d def callback(self, value): self.d.callback(value) components.registerAdapter(lambda build: IProperties(build.properties), FakeBuild, IProperties) class TestPropertyMap(unittest.TestCase): """ Test the behavior of PropertyMap, using the external interace provided by WithProperties. """ def setUp(self): self.props = Properties( prop_str='a-string', prop_none=None, prop_list=['a', 'b'], prop_zero=0, prop_one=1,