Module: check_mk
Branch: master
Commit: 8bdc15e0ea79ab45a18cbb9989b09c5aa6ab9766
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8bdc15e0ea79ab…
Author: Andreas Boesl <ab(a)mathias-kettner.de>
Date: Tue Jun 25 13:56:51 2013 +0200
Multisite sorter Host IP address: fixed sorting
---
ChangeLog | 1 +
web/htdocs/views.py | 10 ++++++++++
web/plugins/views/sorters.py | 2 +-
3 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 628034f..25abe3d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -55,6 +55,7 @@
* Inventory screen: Host inventory also displays its clustered services
* Rules: Renamed "Ignored services" to "Disabled services"
Renamed "Ignored checks" to "Disabled checks"
+ * Sorter Host IP address: fixed sorting, no longer uses str compare on ip
WATO:
* Allow to configure check-/retry_interval in second precision
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index bcbac05..2b634c6 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -2528,6 +2528,16 @@ def cmp_insensitive_string(v1, v2):
return c
# Sorting
+def cmp_ip_address(column, r1, r2):
+ def split_ip(ip):
+ try:
+ return tuple(int(part) for part in ip.split('.'))
+ except:
+ return ip
+ v1, v2 = split_ip(r1.get(column, '')), split_ip(r2.get(column, ''))
+ return cmp(v1, v2)
+
+
def cmp_simple_string(column, r1, r2):
v1, v2 = r1.get(column, ''), r2.get(column, '')
return cmp_insensitive_string(v1, v2)
diff --git a/web/plugins/views/sorters.py b/web/plugins/views/sorters.py
index df10b81..66b0be4 100644
--- a/web/plugins/views/sorters.py
+++ b/web/plugins/views/sorters.py
@@ -213,7 +213,7 @@ multisite_sorters['svc_perf_val10'] = {
# Host
declare_1to1_sorter("alias", cmp_simple_string)
-declare_1to1_sorter("host_address", cmp_simple_string)
+declare_1to1_sorter("host_address", cmp_ip_address)
declare_1to1_sorter("host_plugin_output", cmp_simple_string)
declare_1to1_sorter("host_perf_data", cmp_simple_string)
declare_1to1_sorter("host_check_command", cmp_simple_string)