eoptasks: add servername parts as keywords

This make it possible to have filters such as node1.dev or entrouvert.org
This commit is contained in:
Frédéric Péters 2018-12-14 18:48:48 +01:00
parent 8cff0bc39e
commit 5bc48833dd
1 changed files with 10 additions and 0 deletions

View File

@ -30,6 +30,16 @@ class Server:
self.name = servername
self.keywords = set(re.split(r'[-_ \.]', servername + ' ' + group))
# add all possible hostname parts as keywords,
# ex: node1.dev.entrouvert.org will add:
# node1.dev, node1.dev.entrouvert, node1.dev.entrouvert.org,
# dev.entrouvert, dev.entrouvert.org, entrouvert.org
parts = servername.split('.')
for i in range(len(parts)-1):
for j in range(i, len(parts)):
if i != j:
self.keywords.add('.'.join(parts[i:j+1]))
def __repr__(self):
return '<Server %s %r>' % (self.name, self.keywords)