Get a substrate list for a material id. The list is in order of
        increasing elastic energy if a elastic tensor is available for
        the material_id. Otherwise the list is in order of increasing
        matching area.

        Args:
            material_id (str): Materials Project material_id, e.g. 'mp-123'.
            orient (list) : substrate orientation to look for
            number (int) : number of substrates to return;
                n=0 returns all available matches
        Returns:
            list of dicts with substrate matches

def get_substrates(self, material_id, number=50, orient=None):
        """
        Get a substrate list for a material id. The list is in order of
        increasing elastic energy if a elastic tensor is available for
        the material_id. Otherwise the list is in order of increasing
        matching area.

        Args:
            material_id (str): Materials Project material_id, e.g. 'mp-123'.
            orient (list) : substrate orientation to look for
            number (int) : number of substrates to return;
                n=0 returns all available matches
        Returns:
            list of dicts with substrate matches
        """
        req = "/materials/{}/substrates?n={}".format(material_id, number)
        if orient:
            req += "&orient={}".format(" ".join(map(str, orient)))
        return self._make_request(req)