@classmethod
    def get_all_metadata(cls, config_providers=default_settings.PROVIDERS):
        ret = {}
        providers = cls.get_providers(config_providers)
        for provider in providers:
            provider_data = {}
            provider_data["provides_metrics"] = provider.provides_metrics
            provider_data["provides_aliases"] = provider.provides_aliases

            try:
                provider_data["url"] = provider.url
            except AttributeError:
                pass

            try:
                provider_data["descr"] = provider.descr
            except AttributeError:
                pass

            try:
                provider_data["metrics"] = provider.static_meta_dict
            except __HOLE__:
                pass

            provider_name = provider.__class__.__name__.lower()

            ret[provider_name] = provider_data

        return ret
dataset/ETHPy150Open Impactstory/total-impact-webapp/totalimpact/providers/provider.py/ProviderFactory.get_all_metadata