Module: check_mk
Branch: master
Commit: 485765d8c338d60af0662ce85a9683006236bb83
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=485765d8c338d6…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Jul 8 14:15:21 2016 +0200
3667 Search expressions in host search can now be given as regexes
The host search in WATO is normally performing a case insensitive infix search on the
set text attributes (e.g. name, alias, IP addresses). Now you can specify regular
expressions
by prefixing the search term with a <tt>~</tt>. The regex searches are also
performed as
case insensitive infix searches.
---
.werks/3667 | 12 ++++++++++++
ChangeLog | 1 +
web/htdocs/watolib.py | 8 +++++++-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/.werks/3667 b/.werks/3667
new file mode 100644
index 0000000..585687e
--- /dev/null
+++ b/.werks/3667
@@ -0,0 +1,12 @@
+Title: Search expressions in host search can now be given as regexes
+Level: 1
+Component: wato
+Compatible: compat
+Version: 1.4.0i1
+Date: 1467979934
+Class: feature
+
+The host search in WATO is normally performing a case insensitive infix search on the
+set text attributes (e.g. name, alias, IP addresses). Now you can specify regular
expressions
+by prefixing the search term with a <tt>~</tt>. The regex searches are also
performed as
+case insensitive infix searches.
diff --git a/ChangeLog b/ChangeLog
index b78be88..9922844 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -405,6 +405,7 @@
* 3657 Custom host attributes can now be configured...
* 3658 LDAP: Connections can now be enabled/disabled per site...
* 3553 SNMPv3 noAuthNoPriv: Fixed diagnostic page
+ * 3667 Search expressions in host search can now be given as regexes...
* 3060 FIX: Folder properties: Fixed exception when a user has no alias set...
* 3062 FIX: Git integration: Fixed not adding files in WATO folders to git control
* 3203 FIX: Distributed WATO: Fixed exception in remote host service discovery...
diff --git a/web/htdocs/watolib.py b/web/htdocs/watolib.py
index 9e72fd5..730d1ce 100644
--- a/web/htdocs/watolib.py
+++ b/web/htdocs/watolib.py
@@ -2466,7 +2466,13 @@ class TextAttribute(Attribute):
def filter_matches(self, crit, value, hostname):
if value == None: # Host does not have this attribute
value = ""
- return crit.lower() in value.lower()
+
+ if crit[0] == "~":
+ # insensitive infix regex match
+ return re.search(crit[1:], value, re.IGNORECASE) != None
+ else:
+ # insensitive infix search
+ return crit.lower() in value.lower()
# A simple text attribute that is not editable by the user.
# It can be used to store context information from other