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

Fixes https://github.com/ansible/ansible/issues/9796
This commit is contained in:
Toshio Kuratomi 2014-12-12 12:08:03 -08:00 committed by Matt Clay
parent d2d0ffd83a
commit e359f7cfcf

View file

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