Example #1
0
def registerType(klass, package):
    # 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(),
    }

    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 registerType(klass, package):
    # 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(),
    }

    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
Example #3
0
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
        return str(self.id)

    def setId(self, value, *kw):
        """Setting a new ID isn't allowed
        """
        assert value == self.getId(), "You are not allowed to change the id"

    security.declareProtected(View, "Type")

    def Type(self):
        return self.archetype_name

    security.declareProtected(View, "Description")

    def Description(self):
        lines = [line.strip() for line in self.__doc__.splitlines()]
        return " ".join([line for line in lines if line])

    security.declareProtected(View, "getCriteriaItems")

    def getCriteriaItems(self):
        """Return a sequence of items to be used to build the catalog query.
        """
        return ()


# because I don't register the class I've to generator it on my own. Otherwise
# I'm not able to unit test it in the right way.
generateClass(ATBaseCriterion)
InitializeClass(ATBaseCriterion)
        return str(self.id)

    def setId(self, value, *kw):
        """Setting a new ID isn't allowed
        """
        assert value == self.getId(), 'You are not allowed to change the id'

    security.declareProtected(View, 'Type')

    def Type(self):
        return self.archetype_name

    security.declareProtected(View, 'Description')

    def Description(self):
        lines = [line.strip() for line in self.__doc__.splitlines()]
        return ' '.join([line for line in lines if line])

    security.declareProtected(View, 'getCriteriaItems')

    def getCriteriaItems(self):
        """Return a sequence of items to be used to build the catalog query.
        """
        return ()


# because I don't register the class I've to generator it on my own. Otherwise
# I'm not able to unit test it in the right way.
generateClass(ATBaseCriterion)
InitializeClass(ATBaseCriterion)