def test_addComplexTypeCtor(self): addComplexType = generateCtor('ComplexType', complextype) id = addComplexType(self.folder, id='complex_type', textfield='Bla', integerfield=1, stringfield='A String') obj = getattr(self.folder, id) self.assertEqual(obj.getTextfield(), 'Bla') self.assertEqual(obj.getStringfield(), 'A String') self.assertEqual(obj.getIntegerfield(), 1)
def process_types(types, pkg_name): content_types = () constructors = () ftis = () for rti in types: typeName = rti['name'] klass = rti['klass'] module = rti['module'] if hasattr(module, 'factory_type_information'): fti = module.factory_type_information else: fti = deepcopy(base_factory_type_information) modify_fti(fti, klass, pkg_name) # Add a callback to modifty the fti if hasattr(module, 'modify_fti'): module.modify_fti(fti[0]) else: m = None for k in klass.__bases__: base_module = sys.modules[k.__module__] if hasattr(base_module, 'modify_fti'): m = base_module break if m is not None: m.modify_fti(fti[0]) ctor = getattr(module, 'add%s' % typeName, None) if ctor is None: ctor = generateCtor(typeName, module) content_types += (klass, ) constructors += (ctor, ) ftis += fti return content_types, constructors, ftis
def process_types(types, pkg_name): content_types = () constructors = () ftis = () for rti in types: typeName = rti['name'] klass = rti['klass'] module = rti['module'] if hasattr(module, 'factory_type_information'): fti = module.factory_type_information else: fti = deepcopy(base_factory_type_information) modify_fti(fti, klass, pkg_name) # Add a callback to modifty the fti if hasattr(module, 'modify_fti'): module.modify_fti(fti[0]) else: m = None for k in klass.__bases__: base_module = sys.modules[k.__module__] if hasattr(base_module, 'modify_fti'): m = base_module break if m is not None: m.modify_fti(fti[0]) ctor = getattr(module, 'add%s' % typeName, None) if ctor is None: ctor = generateCtor(typeName, module) content_types += (klass,) constructors += (ctor,) ftis += fti return content_types, constructors, ftis