def metrics(self, 
            aliases,
            provider_url_template=None, # ignore this because multiple url steps
            cache_enabled=True):

        metrics_and_drilldown = {}
        doc = self._get_doc(aliases)

        if doc:  
            try:
                drilldown_url = doc.link
                metrics_and_drilldown["mendeley:readers"] = (doc.reader_count, drilldown_url)
                metrics_and_drilldown["mendeley:career_stage"] = (doc.reader_count_by_academic_status, drilldown_url)

                by_discipline = {}
                by_subdiscipline = doc.reader_count_by_subdiscipline
                for discipline, subdiscipline_breakdown in by_subdiscipline.iteritems():
                    by_discipline[discipline] = sum(subdiscipline_breakdown.values())
                metrics_and_drilldown["mendeley:discipline"] = (by_discipline, drilldown_url)

                by_country_iso = {}
                by_country_names = doc.reader_count_by_country
                if by_country_names:
                    for country_name, country_breakdown in by_country_names.iteritems():
                        if country_name in country_iso_by_name:
                            iso = country_iso_by_name[country_name]
                            by_country_iso[iso] = country_breakdown
                        else:
                            logger.error(u"Can't find country {country} in lookup".format(
                                country=country_name))
                    if by_country_iso:
                        metrics_and_drilldown["mendeley:countries"] = (by_country_iso, drilldown_url)

            except __HOLE__:
                pass

        return metrics_and_drilldown
dataset/ETHPy150Open Impactstory/total-impact-core/totalimpact/providers/mendeley.py/Mendeley.metrics