def _dataset(self, kw):
        h = self._history(kw['h_name'])
        ds = self._datasets(h)
        (d_name, d_id) = parse_name_with_id(kw['ds_name'])
        d = filter(lambda x: x['name']==d_name, ds)

        if len(d)==0:
            raise FuseOSError(ENOENT)
        if len(d)>1:
            d = filter(lambda x: x['name']==d_name and x['id'] == d_id, ds)
            if len(d)==0:
                raise FuseOSError(ENOENT)
            if len(d)>1:
                print "Too many datasets with that name and ID"
            return d[0]
        # Some versions of the Galaxy API use file_path and some file_name
        if 'file_path' not in d[0] and 'file_name' not in d[0]:
            print "Unable to find file of dataset.  Have you set : expose_dataset_path = True"
            raise FuseOSError(ENOENT)
        return d[0]

    # read directory contents
dataset/ETHPy150Open gvlproject/gvl_commandline_utilities/roles/gvl.commandline-utilities/files/galaxy-fuse.py/Context._dataset/original