diff options
-rwxr-xr-x | crowd-tool | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -48,7 +48,7 @@ def rest(uri, params): if __name__ == "__main__": logging.basicConfig() - optparser = optparse.OptionParser(usage="%prog user|alises|group|usergroups|ismember|groupusers|groupgroups|members") + optparser = optparse.OptionParser(usage="%prog users|groups|user|alises|group|usergroups|ismember|groupusers|groupgroups|members") optparser.add_option("-u", "--user", default="rest-test", help="Crowd username") optparser.add_option("-p", "--passwd", help="Crowd password") optparser.add_option("-P", "--ask-passwd", action="store_true", help="Ask Crowd password") @@ -72,6 +72,19 @@ if __name__ == "__main__": elif args[0] == "group": pprint(rest("/group.json", {"groupname": args[1], "expand": "attributes"})) + elif args[0] in ["users", "groups"]: + entity = args[0] + params = {"entity-type": entity[:-1]} + if len(args) > 1: + params["restriction"] = args[1] + data = rest("/search.json", params) + if options.raw: + pprint(data) + else: + names = sorted([x["name"] for x in data[entity]]) + for n in names: + print n + elif args[0] == "usergroups": url = "/user/group/nested.json" if options.nested else "/user/group/direct.json" data = rest(url, {"username": args[1]}) |