From 6e405c71d858f87b5e5be59aaab52e01f64b489e Mon Sep 17 00:00:00 2001 From: Spencer Bliven Date: Thu, 31 Jan 2019 14:21:35 +0100 Subject: [PATCH] Default to recursive mode. Switch flag to -R to disable recursive (if you want to see subgroups) Examples: ``` ldapuserdir-ctl -n -v -R org-4800 ldapuserdir-ctl -n -R -g bliven_s ``` --- bin/ldapuserdir-ctl | 11 ++++++----- ldapuserdir/ldapuserdir.py | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bin/ldapuserdir-ctl b/bin/ldapuserdir-ctl index bb8d2e8..8fedc2a 100755 --- a/bin/ldapuserdir-ctl +++ b/bin/ldapuserdir-ctl @@ -227,11 +227,11 @@ parser.add_option('-V', default = False ) -parser.add_option('-r', - action = 'store_true', +parser.add_option('-R', + action = 'store_false', dest = 'recursive', - help = 'Recursively resolve groups', - default = False + help = "Don't recursively resolve groups", + default = True ) (options, args) = parser.parse_args() @@ -367,7 +367,8 @@ try: sys.stdout.write("\n".join(ldapdir.get_groups_for_user(user_to_group, gfilter=sfilter, mssfu=flag_mssfu, - returndn=flag_showdn)) + returndn=flag_showdn, + recursive=options.recursive)) + '\n') #sys.stdout.write("\n".join(ldapdir.get_groups_for_user(user_to_group)) # + "\n") diff --git a/ldapuserdir/ldapuserdir.py b/ldapuserdir/ldapuserdir.py index 3130c47..ee0e996 100755 --- a/ldapuserdir/ldapuserdir.py +++ b/ldapuserdir/ldapuserdir.py @@ -481,7 +481,7 @@ class LdapUserDir(object): return grplist def get_groups_for_user(self, user, gfilter=None, returndn=False, - mssfu=False): + mssfu=False, recursive=True): """Get groups for a particular user from LDAP. The function will try to determine whether it receives a DN or @@ -512,7 +512,7 @@ class LdapUserDir(object): else: dnname = user - reslist = self.get_memberof(dnname, recursive=True, mssfu=mssfu) + reslist = self.get_memberof(dnname, recursive=recursive, mssfu=mssfu) if not returndn: try: