Пример #1
0
    def search_results(self):
        """Search the registry.
        """
        inspector = RegistryInspector(getSiteManager().adapters)

        iface_name = self.request.get('interface')
        provided = resolve(iface_name)
        name = self.request.get('name')

        descriminators = []
        desc_keys = filter(lambda x: x.startswith('descriminator:'),
                           self.request.form.keys())
        desc_keys.sort()
        any_positive = False
        for key in desc_keys:
            value = self.request.form.get(key, None)
            if value:
                descriminators.append(resolve(value))
                any_positive = True
            else:
                descriminators.append(None)

        if not any_positive:
            descriminators = ()

        adapters = inspector.get_adapters(provided, descriminators, name)

        renderer = TableRenderer(self.context, self.request)
        return renderer(adapters, show_descriminators=True)
Пример #2
0
    def search_name(self):
        """Search the name of a utility.
        """
        inspector = RegistryInspector(getSiteManager().utilities)

        iface_name = self.request.get('iface', None)
        query = self.request.get('q')
        provided = resolve(iface_name)

        names = inspector.get_names(provided, 0)
        results = utils.ac_search(query, names)
        return '\n'.join(results)
Пример #3
0
    def search_results(self):
        """Search the registry.
        """
        inspector = RegistryInspector(getSiteManager().utilities)

        iface_name = self.request.get('interface')
        provided = resolve(iface_name)
        name = self.request.get('name')

        adapters = inspector.get_adapters(provided, (), name)

        renderer = TableRenderer(self.context, self.request)
        return renderer(adapters, show_descriminators=False)
Пример #4
0
    def search_for(self):
        """Search for interface name.
        """
        inspector = RegistryInspector(getSiteManager().adapters)

        iface_name = self.request.get('iface', None)
        provided = resolve(iface_name)
        name = self.request.get('name')
        level = int(self.request.get('level'))
        query = self.request.get('q')

        names = inspector.get_keys_at_level(level, provided, name)
        results = utils.ac_search(query, names)
        return '\n'.join(results)
Пример #5
0
    def _list_components(self, registry, name=None, provided_name=None,
                         format='as_dict'):
        inspector = RegistryInspector(registry)
        components = inspector.get_adapters(
            name=name,
            provided=resolve(provided_name))

        data = []
        for comp in components:
            data.append(getattr(comp, format)())

        if format == 'as_dict':
            return json.dumps(data)

        elif format == 'as_text':
            return '\n\n'.join(data)