From 780a80c28d491a1b9c76bda1b43ff8eb7aa346b1 Mon Sep 17 00:00:00 2001 From: Rowland Penny Date: Wed, 28 Sep 2016 19:28:23 +0100 Subject: [PATCH] bug 12293: stop group.py throwing errors if group is unknown BUG: https://bugzilla.samba.org/show_bug.cgi?id=12293 Signed-off-by: Rowland Penny Reviewed-by: Alexander Bokovoy Autobuild-User(master): Alexander Bokovoy Autobuild-Date(master): Fri Sep 30 05:53:17 CEST 2016 on sn-devel-144 --- python/samba/netcmd/group.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/python/samba/netcmd/group.py b/python/samba/netcmd/group.py index 722bcc4887f..11f87732def 100644 --- a/python/samba/netcmd/group.py +++ b/python/samba/netcmd/group.py @@ -169,11 +169,23 @@ Example2 deletes group Group2 from the local server. The command is run under r lp = sambaopts.get_loadparm() creds = credopts.get_credentials(lp, fallback_machine=True) + samdb = SamDB(url=H, session_info=system_session(), + credentials=creds, lp=lp) + + filter = ("(&(sAMAccountName=%s)(objectClass=group))" % + groupname) try: - samdb = SamDB(url=H, session_info=system_session(), - credentials=creds, lp=lp) - samdb.deletegroup(groupname) + res = samdb.search(base=samdb.domain_dn(), + scope=ldb.SCOPE_SUBTREE, + expression=filter, + attrs=["dn"]) + group_dn = res[0].dn + except IndexError: + raise CommandError('Unable to find group "%s"' % (groupname)) + + try: + samdb.delete(group_dn) except Exception, e: # FIXME: catch more specific exception raise CommandError('Failed to remove group "%s"' % groupname, e) -- 2.11.4.GIT