Module: check_mk
Branch: master
Commit: 680b75b4a2bf08c44d98ad7e44b5e0c647279b51
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=680b75b4a2bf08…
Author: Sven Panne <sp(a)mathias-kettner.de>
Date: Fri May 18 12:05:40 2018 +0200
Moved filter_row to QueryGET class.
See
http://wiki.c2.com/?FeatureEnvySmell
Change-Id: I72826bd40fe607ccb48378456ae358768efdd0d9
---
cmk/ec/history.py | 2 +-
cmk/ec/main.py | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/cmk/ec/history.py b/cmk/ec/history.py
index 58869dd..78e322e 100644
--- a/cmk/ec/history.py
+++ b/cmk/ec/history.py
@@ -517,7 +517,7 @@ def _parse_history_file(table_history, path, query, greptexts, limit,
logger):
parts =
line.decode('utf-8').rstrip('\n').split('\t')
_convert_history_line(table_history, parts)
values = [line_no] + parts
- if table_history.filter_row(query, values):
+ if query.filter_row(values):
entries.append(values)
except Exception as e:
logger.exception("Invalid line '%s' in history file %s: %s"
% (line, path, e))
diff --git a/cmk/ec/main.py b/cmk/ec/main.py
index 033acf5..9c8fe1e 100644
--- a/cmk/ec/main.py
+++ b/cmk/ec/main.py
@@ -2571,6 +2571,12 @@ class QueryGET(Query):
return indexes
+ def filter_row(self, row):
+ for column_name, _operator_name, predicate, _argument in self.filters:
+ if not predicate(row[self.table.column_indices[column_name]]):
+ return None
+ return row
+
class QueryREPLICATE(Query):
pass
@@ -2650,7 +2656,7 @@ class StatusTable(object):
# Apply filters
# TODO: History filtering is done in history load code. Check for
improvements
if query.filters and query.table_name != "history":
- match = self.filter_row(query, row)
+ match = query.filter_row(row)
if not match:
continue
@@ -2671,12 +2677,6 @@ class StatusTable(object):
result_row.append(row[index])
return result_row
- def filter_row(self, query, row):
- for column_name, _operator_name, predicate, _argument in query.filters:
- if not predicate(row[query.table.column_indices[column_name]]):
- return None
- return row
-
class StatusTableEvents(StatusTable):
prefix = "event"