Don't traceback if a gid is specified instead of a group name

Fixes https://github.com/ansible/ansible/issues/9796
pull/18777/head
Toshio Kuratomi 10 years ago committed by Matt Clay
parent d2d0ffd83a
commit e359f7cfcf

@ -447,11 +447,12 @@ class User(object):
def group_exists(self,group): def group_exists(self,group):
try: try:
if group.isdigit(): # Try group as a gid first
if grp.getgrgid(int(group)): grp.getgrgid(int(group))
return True return True
else: except (ValueError, KeyError):
if grp.getgrnam(group): try:
grp.getgrnam(group)
return True return True
except KeyError: except KeyError:
return False return False
@ -459,9 +460,10 @@ class User(object):
def group_info(self, group): def group_info(self, group):
if not self.group_exists(group): if not self.group_exists(group):
return False return False
if group.isdigit(): try:
return list(grp.getgrgid(group)) # Try group as a gid first
else: return list(grp.getgrgid(int(group)))
except (ValueError, KeyError):
return list(grp.getgrnam(group)) return list(grp.getgrnam(group))
def get_groups_set(self, remove_existing=True): def get_groups_set(self, remove_existing=True):

Loading…
Cancel
Save