def get_summoners_by_name(names):
    summoners = cassiopeia.core.requests.data_store.get(cassiopeia.type.core.summoner.Summoner, names, "name")

    # Find which summoners weren't cached
    missing = []
    loc = []
    for i in range(len(names)):
        if not summoners[i]:
            missing.append(names[i])
            loc.append(i)

    if not missing:
        return summoners

    # Make requests to get them
    new = cassiopeia.core.requests.call_with_ensured_size(cassiopeia.dto.summonerapi.get_summoners_by_name, 40, missing)
    to_store = []
    for i in range(len(missing)):
        try:
            summoner = cassiopeia.type.core.summoner.Summoner(new[__standardize(missing[i])])
            to_store.append(summoner)
        except KeyError:
            summoner = None
        summoners[loc[i]] = summoner

    cassiopeia.core.requests.data_store.store(to_store, [summoner.id for summoner in to_store])
    cassiopeia.core.requests.data_store.store(to_store, [summoner.name for summoner in to_store])
    return summoners
Gets a bunch of summoners by name
dataset/ETHPy150Open meraki-analytics/cassiopeia/cassiopeia/core/summonerapi.py/get_summoners_by_name