def fetch_files(self, exp_name=None, query=None, indices=None):
        """Return Dictionary of files for experiment name or query.

        Returns a list of one dictionary per matched experiment. The
        dictionary is of the following structure

            {
              'exp_name': 'scascasc',
              'exp_id': 'dqwdqdqwf',
              'date': datatime_object,
              'sources': [ {'filename': filehandle}, ..., ],
              'resources': [ {'filename': filehandle}, ..., ],
              'artifacts': [ {'filename': filehandle}, ..., ]
            }

        """
        entries = self.fetch_metadata(exp_name, query, indices)

        all_matched_entries = []
        for ent in entries:

            rec = dict(
                exp_name=ent["experiment"]["name"],
                exp_id=ent["_id"],
                date=ent["start_time"],
            )

            source_files = {x[0]: x[2] for x in ent["experiment"]["sources"]}
            resource_files = {x[0]: x[2] for x in ent["resources"]}
            artifact_files = {x[0]: x[3] for x in ent["artifacts"]}

            if source_files:
                rec["sources"] = source_files
            if resource_files:
                rec["resources"] = resource_files
            if artifact_files:
                rec["artifacts"] = artifact_files

            all_matched_entries.append(rec)

        return all_matched_entries
Return Dictionary of files for experiment name or query.

        Returns a list of one dictionary per matched experiment. The
        dictionary is of the following structure

            {
              'exp_name': 'scascasc',
              'exp_id': 'dqwdqdqwf',
              'date': datatime_object,
              'sources': [ {'filename': filehandle}, ..., ],
              'resources': [ {'filename': filehandle}, ..., ],
              'artifacts': [ {'filename': filehandle}, ..., ]
            }

        
sacred/observers/tinydb_hashfs/tinydb_hashfs.py