def METHOD_NAME(channels, start_time, end_time):
    """Read channels from GWOSC data.
    Parameters
    ----------
    channels: str or list
        The channel name to read or list of channel names.
    start_time: int
        The start time in GPS seconds.
    end_time: int
        The end time in GPS seconds.
    Returns
    -------
    ts: TimeSeries
        Returns a timeseries or list of timeseries with the requested data.
    """
    if not isinstance(channels, list):
        channels = [channels]
    ifos = [c[0:2] for c in channels]
    urls = {}
    for ifo in ifos:
        urls[ifo] = gwosc_frame_urls(ifo, start_time, end_time)
        if len(urls[ifo]) == 0:
            raise ValueError("No data found for %s so we "
                             "can't produce a time series" % ifo)
    fnames = {ifo: [] for ifo in ifos}
    for ifo in ifos:
        for url in urls[ifo]:
            fname = get_file(url, cache=True)
            fnames[ifo].append(fname)
    ts_list = [read_frame(fnames[channel[0:2]], channel,
                          start_time=start_time, end_time=end_time)
               for channel in channels]
    if len(ts_list) == 1:
        return ts_list[0]
    return ts_list