Module: check_mk
Branch: master
Commit: a7a5444502652a90aa4ec4aa208ed62a2d2a7b6f
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=a7a5444502652a…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Tue Oct 30 22:29:58 2018 +0100
Reduced duplicate code
Change-Id: I6d36353bf5faa824e83472002e92ddd9af01bffa
---
cmk/utils.py | 20 ++++++++++++++++++++
cmk_base/config.py | 19 ++-----------------
2 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/cmk/utils.py b/cmk/utils.py
index a6ee467..4d4477a 100644
--- a/cmk/utils.py
+++ b/cmk/utils.py
@@ -48,3 +48,23 @@ def pnp_cleanup(s):
.replace(':', '_') \
.replace('/', '_') \
.replace('\\', '_')
+
+
+def cmp_config_paths(a, b):
+ """Compare function for Check_MK configuration file paths
+
+ Helper functions that determines the sort order of the
+ configuration files. The following two rules are implemented:
+
+ 1. *.mk files in the same directory will be read
+ according to their lexical order.
+ 2. subdirectories in the same directory will be
+ scanned according to their lexical order.
+ 3. subdirectories of a directory will always be read *after*
+ the *.mk files in that directory.
+ """
+ pa = a.split('/')
+ pb = b.split('/')
+ return cmp(pa[:-1], pb[:-1]) or \
+ cmp(len(pa), len(pb)) or \
+ cmp(pa, pb)
diff --git a/cmk_base/config.py b/cmk_base/config.py
index 96233f5..2c2d402 100644
--- a/cmk_base/config.py
+++ b/cmk_base/config.py
@@ -47,6 +47,7 @@ import cmk.paths
from cmk.regex import regex, is_regex
import cmk.translations
import cmk.store as store
+import cmk.utils
from cmk.exceptions import MKGeneralException, MKTerminate
import cmk_base
@@ -271,7 +272,7 @@ def _get_config_file_paths(with_conf_d):
for f in fs
if f.endswith(".mk")]
for d, _unused_sb, fs in os.walk(cmk.paths.check_mk_config_dir)],
[]),
- cmp=_cmp_config_paths)
+ cmp=cmk.utils.cmp_config_paths)
list_of_files = [cmk.paths.main_config_file] + list_of_files
else:
list_of_files = [cmk.paths.main_config_file]
@@ -420,22 +421,6 @@ def all_nonfunction_vars():
])
-# Helper functions that determines the sort order of the
-# configuration files. The following two rules are implemented:
-# 1. *.mk files in the same directory will be read
-# according to their lexical order.
-# 2. subdirectories in the same directory will be
-# scanned according to their lexical order.
-# 3. subdirectories of a directory will always be read *after*
-# the *.mk files in that directory.
-def _cmp_config_paths(a, b):
- pa = a.split('/')
- pb = b.split('/')
- return cmp(pa[:-1], pb[:-1]) or \
- cmp(len(pa), len(pb)) or \
- cmp(pa, pb)
-
-
class PackedConfig(object):
"""The precompiled host checks and the CMC Check_MK helpers use a
"precompiled" part of the Check_MK configuration during runtime.