def registerType(klass, package=None): if not package: deprecated("registerType without a package name is deprecated. " "Please apply a package name for class %s" % repr(klass), level=2) package = _guessPackage(klass.__module__) # Registering a class results in classgen doing its thing # Set up accessor/mutators and sane meta/portal_type generateClass(klass) data = { 'klass' : klass, 'name' : klass.__name__, 'identifier': klass.meta_type.capitalize().replace(' ', '_'), 'meta_type': klass.meta_type, 'portal_type': klass.portal_type, 'package' : package, 'module' : sys.modules[klass.__module__], 'schema' : klass.schema, 'signature' : klass.schema.signature(), # backward compatibility, remove later 'type' : klass.schema, } key = '%s.%s' % (package, data['meta_type']) if key in _types.keys(): existing = _types[key] existing_name = '%s.%s' % (existing['module'].__name__, existing['name']) override_name = '%s.%s' % (data['module'].__name__, data['name']) log('ArchetypesTool: Trying to register "%s" which ' \ 'has already been registered. The new type %s ' \ 'is going to override %s' % (key, override_name, existing_name)) _types[key] = data
def lookupObject(self,uid): deprecated('ArchetypeTool.lookupObject is deprecated') return self.reference_catalog.lookupObject(uid)