Example #1
0
    def test_get_metaclass_objects(self, import_module, listdir):

        class DumbBaseClass(object):
            pass

        def listdir_side_effect(d):
            if d.endswith('asd'):
                return ['bola.py', 'foo.rst', 'guda.pyc', 'qwert.pyo',
                        '__init__.py']
            return []

        listdir.side_effect = listdir_side_effect
        self.assertEqual(get_metaclass_objects('asd', DumbBaseClass), [])
        self.assertEqual(import_module.call_args_list,
                         [mock.call('asd.bola'), mock.call('asd.guda'),
                          mock.call('asd.qwert')])
Example #2
0
def get_provider(url):
    providers = get_metaclass_objects(__name__, BaseProvider,
                                      lambda x: x.priority)
    for provider in providers:
        if provider.url_supported(url):
            return provider
Example #3
0
def get_provider(url):
    providers = get_metaclass_objects(__name__, BaseProvider,
                                      lambda x: x.priority)
    for provider in providers:
        if provider.url_supported(url):
            return provider
Example #4
0
def get_data_type(data):
    data_types = get_metaclass_objects(__name__, BaseDataType,
                                       lambda x: x.priority)
    for data_type in data_types:
        if data_type.type_supported(data):
            return data_type
Example #5
0
def get_parser(content_type):
    parsers = get_metaclass_objects(__name__, BaseParser, lambda x: x.priority)
    for parser in parsers:
        if parser.content_supported(content_type):
            return parser