Пример #1
0
    def _add(self, parent: IPool, resource: object, appstructs: dict,
             registry: Registry) -> str:
        """Add resource to parent pool.

        :raises substanced.folder.FolderKeyError:
        :raises ValueError:
        """
        name = ''
        if self.name_identifier in appstructs:
            name = appstructs[self.name_identifier]['name']
        if self.meta.use_autonaming:
            prefix = self.meta.autonaming_prefix
            name = parent.next_name(resource, prefix=prefix)
        elif self.meta.use_autonaming_random:
            name = generate_random_name()
        if name in parent:
            raise KeyError('Duplicate name: {}'.format(name))
        if IServicePool.providedBy(resource):
            name = self.meta.content_name
            parent.add_service(name,
                               resource,
                               send_events=True,
                               registry=registry)
            return
        if name == '':
            raise KeyError('Empty name')
        parent.add(name, resource, send_events=True, registry=registry)
Пример #2
0
    def _add(self, parent: IPool, resource: object, appstructs: dict,
             registry: Registry) -> str:
        """Add resource to parent pool.

        :raises substanced.folder.FolderKeyError:
        :raises ValueError:
        """
        name = ''
        if self.name_identifier in appstructs:
            name = appstructs[self.name_identifier]['name']
        if self.meta.use_autonaming:
            prefix = self.meta.autonaming_prefix
            name = parent.next_name(resource, prefix=prefix)
        elif self.meta.use_autonaming_random:
            name = generate_random_name()
        if name in parent:
            raise KeyError('Duplicate name: {}'.format(name))
        if IServicePool.providedBy(resource):
            name = self.meta.content_name
            parent.add_service(name, resource,
                               send_events=True,
                               registry=registry)
            return
        if name == '':
            raise KeyError('Empty name')
        parent.add(name, resource,
                   send_events=True,
                   registry=registry)