def eval(self, tasks, obj=None):
    tasks = ensure_list(tasks)
    return_values = {}
    for (store, ds) in self.piter(return_values):
        store.result = []
        for task in tasks:
            try:
                style = inspect.getargspec(task.eval)[0][1]
                if (style == 'ds'):
                    arg = ds
                elif (style == 'data_object'):
                    if (obj is None):
                        obj = DatasetSeriesObject(self, 'all_data')
                    arg = obj.get(ds)
                rv = task.eval(arg)
            except YTException:
                pass
            store.result.append(rv)
    return [v for (k, v) in sorted(return_values.items())]
def eval(self, tasks, obj=None):
    tasks = ensure_list(tasks)
    return_values = {}
    for (store, ds) in self.piter(return_values):
        store.result = []
        for task in tasks:
            try:
                style = inspect.getargspec(task.eval)[0][1]
                if (style == 'ds'):
                    arg = ds
                elif (style == 'data_object'):
                    if (obj is None):
                        obj = DatasetSeriesObject(self, 'all_data')
                    arg = obj.get(ds)
                rv = task.eval(arg)
            except YTException:
                pass
            store.result.append(rv)
    return [v for (k, v) in sorted(return_values.items())]