summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/plugins')
-rw-r--r--ipalib/plugins/batch.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/ipalib/plugins/batch.py b/ipalib/plugins/batch.py
index 8abad5e1e..db9c08f10 100644
--- a/ipalib/plugins/batch.py
+++ b/ipalib/plugins/batch.py
@@ -102,8 +102,6 @@ class batch(Command):
)
result['error']=None
except Exception, e:
- result = dict()
- result['error'] = unicode(e)
if isinstance(e, errors.RequirementError) or \
isinstance(e, errors.CommandError):
self.info(
@@ -113,6 +111,15 @@ class batch(Command):
self.info(
'%s: batch: %s(%s): %s', context.principal, name, ', '.join(api.Command[name]._repr_iter(**params)), e.__class__.__name__
)
+ if isinstance(e, errors.PublicError):
+ reported_error = e
+ else:
+ reported_error = errors.InternalError()
+ result = dict(
+ error=reported_error.strerror,
+ error_code=reported_error.errno,
+ error_name=unicode(type(reported_error).__name__),
+ )
results.append(result)
return dict(count=len(results) , results=results)