Пример #1
0
    def print_widget_info(self, opts, *args):
        '''Print information for registered widgets
        '''

        from ckanext.publicamundi.lib.metadata.util import (
            iter_object_schemata, iter_field_adaptee_vectors)
        from ckanext.publicamundi.lib.metadata import widgets

        format_result = lambda qa, cls: '  %-22.20s %s.%s' % (
            qa, cls.__module__, cls.__name__)

        object_schemata = list(iter_object_schemata())

        # Widgets for fields

        field_cls = resolve_field_cls(
            opts.field_cls) if opts.field_cls else None

        if opts.show_fields:
            print '\n == Widgets for zope.schema-based fields == \n'
            for adaptee in iter_field_adaptee_vectors():
                if not field_cls or adaptee[0].implementedBy(field_cls):
                    m = adapter_registry.lookupAll(adaptee,
                                                   widgets.IFieldWidget)
                    if not m:
                        continue
                    print '[' + ', '.join([ir.__name__
                                           for ir in adaptee]) + ']'
                    for qa, widget_cls in m:
                        print format_result(qa, widget_cls)

        # Widgets for objects

        object_cls = resolve_object_cls(
            opts.object_cls) if opts.object_cls else None

        if opts.show_objects:
            print '\n == Widgets for object schemata == \n'
            for iface in object_schemata:
                if not object_cls or iface.implementedBy(object_cls):
                    adaptee = [iface]
                    m = adapter_registry.lookupAll(adaptee,
                                                   widgets.IObjectWidget)
                    if not m:
                        continue
                    print '[' + iface.__name__ + ']'
                    for qa, widget_cls in m:
                        print format_result(qa, widget_cls)
 def _test_registered_object_widgets(self, object_iface):
     '''Fetch all registered adapters for a given object interface'''
     adapters = adapter_registry.lookupAll([object_iface], ibase_widgets.IObjectWidget)
     print
     print ' -- Registered widget adapters for schema %s -- ' %(object_iface)
     for adapter in adapters:
         print adapter
     assert len(adapters) >= 2  
 def _test_registered_field_widgets(self, field_iface):
     '''Fetch all registered adapters for a given field interface'''
     adapters = adapter_registry.lookupAll([field_iface], ibase_widgets.IFieldWidget)
     print
     print ' -- Registered widget adapters for field %s -- ' %(field_iface)
     for adapter in adapters:
         print adapter
     assert len(adapters) >= 2  
Пример #4
0
 def _test_registered_field_widgets(self, field_iface):
     '''Fetch all registered adapters for a given field interface'''
     adapters = adapter_registry.lookupAll([field_iface],
                                           ibase_widgets.IFieldWidget)
     print
     print ' -- Registered widget adapters for field %s -- ' % (field_iface)
     for adapter in adapters:
         print adapter
     assert len(adapters) >= 2
Пример #5
0
    def print_widget_info(self, opts, *args):
        '''Print information for registered widgets
        '''
       
        from ckanext.publicamundi.lib.metadata.util import (
            iter_object_schemata, iter_field_adaptee_vectors)
        from ckanext.publicamundi.lib.metadata import widgets
        
        format_result = lambda qa, cls: '  %-22.20s %s.%s' % (
            qa, cls.__module__, cls.__name__)

        object_schemata = list(iter_object_schemata())

        # Widgets for fields
        
        field_cls = resolve_field_cls(opts.field_cls) if opts.field_cls else None
        
        if opts.show_fields:
            print '\n == Widgets for zope.schema-based fields == \n'
            for adaptee in iter_field_adaptee_vectors():
                if not field_cls or adaptee[0].implementedBy(field_cls): 
                    m = adapter_registry.lookupAll(adaptee, widgets.IFieldWidget)
                    if not m:
                        continue
                    print '[' + ', '.join([ir.__name__ for ir in adaptee]) + ']'
                    for qa, widget_cls in m:
                        print format_result(qa, widget_cls)
        
        # Widgets for objects

        object_cls = resolve_object_cls(opts.object_cls) if opts.object_cls else None
       
        if opts.show_objects:
            print '\n == Widgets for object schemata == \n'
            for iface in object_schemata:
                if not object_cls or iface.implementedBy(object_cls): 
                    adaptee = [iface]
                    m = adapter_registry.lookupAll(adaptee, widgets.IObjectWidget)
                    if not m:
                        continue
                    print '[' + iface.__name__ + ']'
                    for qa, widget_cls in m:
                        print format_result(qa, widget_cls)
Пример #6
0
 def _test_registered_object_widgets(self, object_iface):
     '''Fetch all registered adapters for a given object interface'''
     adapters = adapter_registry.lookupAll([object_iface],
                                           ibase_widgets.IObjectWidget)
     print
     print ' -- Registered widget adapters for schema %s -- ' % (
         object_iface)
     for adapter in adapters:
         print adapter
     assert len(adapters) >= 2