simplified get_hosts code to have 1 retrun point

This commit is contained in:
Brian Coca 2015-12-05 10:10:25 -05:00
parent 895fc48700
commit 8a733d990f

View file

@ -178,24 +178,24 @@ class Inventory(object):
if self._restriction: if self._restriction:
pattern_hash += u":%s" % to_unicode(self._restriction) pattern_hash += u":%s" % to_unicode(self._restriction)
if pattern_hash in HOSTS_PATTERNS_CACHE: if pattern_hash not in HOSTS_PATTERNS_CACHE:
return HOSTS_PATTERNS_CACHE[pattern_hash][:]
patterns = Inventory.split_host_pattern(pattern) patterns = Inventory.split_host_pattern(pattern)
hosts = self._evaluate_patterns(patterns) hosts = self._evaluate_patterns(patterns)
# mainly useful for hostvars[host] access # mainly useful for hostvars[host] access
if not ignore_limits_and_restrictions: if not ignore_limits_and_restrictions:
# exclude hosts not in a subset, if defined # exclude hosts not in a subset, if defined
if self._subset: if self._subset:
subset = self._evaluate_patterns(self._subset) subset = self._evaluate_patterns(self._subset)
hosts = [ h for h in hosts if h in subset ] hosts = [ h for h in hosts if h in subset ]
# exclude hosts mentioned in any restriction (ex: failed hosts) # exclude hosts mentioned in any restriction (ex: failed hosts)
if self._restriction is not None: if self._restriction is not None:
hosts = [ h for h in hosts if h in self._restriction ] hosts = [ h for h in hosts if h in self._restriction ]
HOSTS_PATTERNS_CACHE[pattern_hash] = list(set(hosts))
HOSTS_PATTERNS_CACHE[pattern_hash] = list(set(hosts))
return HOSTS_PATTERNS_CACHE[pattern_hash][:] return HOSTS_PATTERNS_CACHE[pattern_hash][:]
@classmethod @classmethod