'Load the blob and all persisted blob cache keys from disk.'

def load_blob(self, dbsubpath):

    log.debug("fs-read:    load    blob    `%s'", dbsubpath[(len(self.base_dir) + 1):])
    blob = ET.parse((dbsubpath + '.blob')).getroot()
    blob_files = glob((dbsubpath + '.*'))
    for blob_cache_file in blob_files:
        ext = splitext(blob_cache_file)[1]
        if (ext == '.blob'):
            continue
        cache_key = ext[1:]
        try:
            blob.cache[cache_key] = self.load_pickle(blob_cache_file)
        except (UnpicklingError, ImportError) as ex:
            log.warn("error    unpickling    `%s'    (skipping):    %s", blob_cache_file, ex)
    return blob
