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

        # if haven't loaded batch_data, return no metrics
        global batch_data
        if not batch_data:
            batch_data = self.build_batch_data_dict()
            pass

        metrics_and_drilldown = {}

        # Only lookup metrics for items with appropriate ids
        from totalimpact import item
        aliases_dict = item.alias_dict_from_tuples(aliases)
        try:
            pmid = aliases_dict["pmid"][0]
        except KeyError:
            return {}
            
        pmid_alias = ("pmid", pmid)
        page = ""

        if pmid_alias in batch_data:
            pages = [page["raw"] for page in batch_data[pmid_alias]]
        if page:
            metrics_and_drilldown = self._get_metrics_and_drilldown(pages, pmid)

        return metrics_and_drilldown
dataset/ETHPy150Open Impactstory/total-impact-core/totalimpact/providers/pmc.py/Pmc.metrics/original