def read(cls, source, *args, **kwargs):
<EOL>if io_cache.is_cache(source):<EOL><INDENT>from .cache import preformat_cache<EOL>source = preformat_cache(source, *args[<NUM_LIT:1>:],<EOL>start=kwargs.get('<STR_LIT:start>'),<EOL>end=kwargs.get('<STR_LIT:end>'))<EOL><DEDENT>pad = kwargs.pop('<STR_LIT>', None)<EOL>gap = kwargs.pop('<STR_LIT>', '<STR_LIT>' if pad is None else '<STR_LIT>')<EOL>joiner = _join_factory(cls, gap, pad)<EOL>return io_read_multi(joiner, cls, source, *args, **kwargs)<EOL>
Read data from a source into a `gwpy.timeseries` object.

    This method is just the internal worker for `TimeSeries.read`, and
    `TimeSeriesDict.read`, and isn't meant to be called directly.