<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(self, urlpath, output=None, **kwargs):
 """ Downloads data from a given url, generates a hashed filename, logs metadata, and caches it locally. Parameters urlpath: str, location of data May be a local path, or remote path if including a protocol specifier such as ``'s3://'``. May include glob wildcards. output: bool Whether to show progress bars; turn off for testing Returns ------- List of local cache_paths to be opened instead of the remote file(s). If caching is disable, the urlpath is returned. """

        if conf.get('cache_disabled', False):
            return [urlpath]
        self.output = output if output is not None else conf.get(
            'cache_download_progress', True)

        cache_paths = self._from_metadata(urlpath)
        if cache_paths is None:
            files_in, files_out = self._make_files(urlpath)
            self._load(files_in, files_out, urlpath)
        cache_paths = self._from_metadata(urlpath)
        return cache_paths