Module: check_mk
Branch: master
Commit: 940427655e05e0636cb398f5640f0703066d1d4e
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=940427655e05e0…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Apr 13 10:27:27 2012 +0200
Added simple regexp valuespec\
---
web/htdocs/valuespec.py | 14 +++++++++++++-
web/plugins/wato/check_parameters.py | 5 +----
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/web/htdocs/valuespec.py b/web/htdocs/valuespec.py
index e43bc0d..dba3c36 100644
--- a/web/htdocs/valuespec.py
+++ b/web/htdocs/valuespec.py
@@ -24,7 +24,7 @@
# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA.
-import math, os, time, re, urlparse
+import math, os, time, re, sre_constants, urlparse
from lib import *
# Abstract base class of all value declaration classes.
@@ -319,6 +319,18 @@ class TextAscii(ValueSpec):
if not self._regex.match(value):
raise MKUserError(varprefix, self._regex_error)
+class RegExp(TextAscii):
+ def __init__(self, **kwargs):
+ TextAscii.__init__(self, **kwargs)
+
+ def validate_value(self, value, varprefix):
+ TextAscii.validate_value(self, value, varprefix)
+
+ # Check if the string is a valid regex
+ try:
+ re.compile(value)
+ except sre_constants.error, e:
+ raise MKUserError(varprefix, _('Invalid regex: %s') % e)
class EmailAddress(TextAscii):
def __init__(self, **kwargs):
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index 4a06bd0..4950f13 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -129,15 +129,12 @@ checkgroups.append((
('I', _('IGNORE')),
],
),
- # FIXME: Own object type (optional hidden text field for regex validation)
- TextAscii(
+ RegExp(
title = _("Pattern (Regex)"),
size = 20,
- #help = _("The regular expression to match the log lines."),
),
TextAscii(
title = _("Comment"),
- #help = _("You can insert a log line or a part of a log line to
test the pattern stated left."),
),
]
),