From 8cff0bc39e0e2d538fd7371bb86980fae18a980c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Wed, 12 Dec 2018 19:53:35 +0100 Subject: [PATCH] eoptasks: add option to exclude keywords eoptasks -k node1,node2,-database will give all node1/node2 servers except database.node1 and database.node2. --- eoptasks/eoptasks.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eoptasks/eoptasks.py b/eoptasks/eoptasks.py index 68ebd28..9366816 100755 --- a/eoptasks/eoptasks.py +++ b/eoptasks/eoptasks.py @@ -71,6 +71,9 @@ if args.keywords: selected_servers.extend([ x for x in servers if keywords.issubset(x.keywords) and not x in selected_servers]) + for keyword in args.keywords.split(','): + if keyword.startswith('!') or keyword.startswith('-'): + selected_servers = [x for x in selected_servers if keyword[1:] not in x.keywords] else: selected_servers = servers