summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/internal.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/plugins/internal.py')
-rw-r--r--ipalib/plugins/internal.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/ipalib/plugins/internal.py b/ipalib/plugins/internal.py
index 096da18d8..e950796b5 100644
--- a/ipalib/plugins/internal.py
+++ b/ipalib/plugins/internal.py
@@ -73,16 +73,23 @@ class json_metadata(Command):
)
def execute(self, objname):
+
if objname and objname in self.api.Object:
- return dict(
+
+ meta = dict(
result=dict(
((objname, json_serialize(self.api.Object[objname])), )
)
)
- result=dict(
- (o.name, json_serialize(o)) for o in self.api.Object()
- )
- retval= dict([("metadata",result),("messages",json_serialize(self.messages))])
+ retval= dict([("metadata",meta), ("messages",dict())])
+
+ else:
+ meta=dict(
+ (o.name, json_serialize(o)) for o in self.api.Object()
+ )
+
+ retval= dict([("metadata",meta),
+ ("messages",json_serialize(self.messages))])
return retval