mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
switched host patterns to use sets, simplified logic which now uses buitins
This commit is contained in:
parent
883f451158
commit
8e2f0b3f2c
2 changed files with 5 additions and 6 deletions
|
@ -252,7 +252,7 @@ class Inventory(object):
|
|||
"""
|
||||
|
||||
patterns = Inventory.order_patterns(patterns)
|
||||
hosts = []
|
||||
hosts = set()
|
||||
|
||||
for p in patterns:
|
||||
# avoid resolving a pattern that is a plain host
|
||||
|
@ -261,12 +261,11 @@ class Inventory(object):
|
|||
else:
|
||||
that = self._match_one_pattern(p)
|
||||
if p.startswith("!"):
|
||||
hosts = [ h for h in hosts if h not in that ]
|
||||
hosts = hosts.difference_update(that)
|
||||
elif p.startswith("&"):
|
||||
hosts = [ h for h in hosts if h in that ]
|
||||
hosts = hosts.intersection_update(that)
|
||||
else:
|
||||
to_append = [ h for h in that if h.name not in [ y.name for y in hosts ] ]
|
||||
hosts.extend(to_append)
|
||||
hosts.update(that)
|
||||
return hosts
|
||||
|
||||
def _match_one_pattern(self, pattern):
|
||||
|
|
|
@ -56,7 +56,7 @@ class HostVars(collections.Mapping):
|
|||
new_host.set_variable("ansible_python_interpreter", sys.executable)
|
||||
new_host.set_variable("ansible_connection", "local")
|
||||
new_host.address = '127.0.0.1'
|
||||
hosts.append(new_host)
|
||||
hosts.add(new_host)
|
||||
|
||||
for host in hosts:
|
||||
self._lookup[host.name] = host
|
||||
|
|
Loading…
Reference in a new issue