Module: check_mk
Branch: master
Commit: 77d3f6853016d76edfe9f3f65906cda9f1d6f054
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=77d3f6853016d7…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Dec 16 18:34:08 2016 +0100
Cleaned up some OO related issues
Change-Id: Id61f1bed84ad7d59abd802d0780443266e004899
---
checks/elphase.include | 2 +-
checks/supermicro | 2 +-
doc/treasures/active_checks/check_cpu_peaks | 3 +++
doc/treasures/active_checks/check_form_submit | 1 +
modules/automation.py | 2 +-
tests/pylint/pylintrc | 4 ++--
web/htdocs/backup.py | 1 +
web/htdocs/config.py | 18 +++++++++---------
web/htdocs/valuespec.py | 11 ++++++-----
web/htdocs/watolib.py | 13 +++++--------
10 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/checks/elphase.include b/checks/elphase.include
index fa0e32d..3edcbf4 100644
--- a/checks/elphase.include
+++ b/checks/elphase.include
@@ -47,7 +47,7 @@ def check_elphase(item, params, parsed):
else:
return "%.1f" % value
- class Bounds:
+ class Bounds(object):
Lower, Upper, Both = range(3)
if params is None:
diff --git a/checks/supermicro b/checks/supermicro
index 1fd699e..1de0dc6 100644
--- a/checks/supermicro
+++ b/checks/supermicro
@@ -118,7 +118,7 @@ def inventory_supermicro_sensors(info):
yield name, None
def check_supermicro_sensors(item, _no_params, info):
- class Type:
+ class Type(object):
Fan, Voltage, Temperature, Status = ('0', '1', '2',
'3')
def worst_status(*args):
diff --git a/doc/treasures/active_checks/check_cpu_peaks
b/doc/treasures/active_checks/check_cpu_peaks
index 6a68549..30d90ab 100755
--- a/doc/treasures/active_checks/check_cpu_peaks
+++ b/doc/treasures/active_checks/check_cpu_peaks
@@ -28,7 +28,10 @@ import sys, os, time, getopt
class MKGeneralException(Exception):
def __init__(self, reason):
+ super(MKGeneralException, self).__init__()
self.reason = reason
+
+
def __str__(self):
return self.reason
diff --git a/doc/treasures/active_checks/check_form_submit
b/doc/treasures/active_checks/check_form_submit
index 835bb94..3b27a73 100755
--- a/doc/treasures/active_checks/check_form_submit
+++ b/doc/treasures/active_checks/check_form_submit
@@ -146,6 +146,7 @@ def debug(s):
class HostResult(Exception):
def __init__(self, result):
+ super(HostResult, self).__init__()
self.result = result
def new_state(rc, s):
diff --git a/modules/automation.py b/modules/automation.py
index f370722..e18c2e1 100644
--- a/modules/automation.py
+++ b/modules/automation.py
@@ -461,7 +461,7 @@ def automation_restart(job = "restart"):
# os.closerange(3, 256) --> not available in older Python versions
- class null_file:
+ class null_file(object):
def write(self, stuff):
pass
def flush(self):
diff --git a/tests/pylint/pylintrc b/tests/pylint/pylintrc
index 04aee49..4e28da5 100644
--- a/tests/pylint/pylintrc
+++ b/tests/pylint/pylintrc
@@ -18,9 +18,9 @@ errors-only=yes
disable=C0111,bad-whitespace,unsubscriptable-object,unsupported-membership-test,unpacking-non-sequence,assignment-from-none
# W0612: Unused variable
# TODO: enable this and prepare code for it!
-#enable=W0612
+#enable=unused-variable
#
https://pylint.readthedocs.io/en/latest/reference_guide/features.html
-enable=unreachable,dangerous-default-value,duplicate-key,using-constant-test,duplicate-except,binary-op-exception,overlapping-except
+enable=unreachable,dangerous-default-value,duplicate-key,using-constant-test,duplicate-except,binary-op-exception,overlapping-except,non-parent-init-called,super-init-not-called,no-init
[TYPECHECK]
# rrdtool
diff --git a/web/htdocs/backup.py b/web/htdocs/backup.py
index 8f3ed5c..e000f5a 100644
--- a/web/htdocs/backup.py
+++ b/web/htdocs/backup.py
@@ -1820,5 +1820,6 @@ class PageBackupRestore(object):
class PageBackupRestoreState(PageBackupJobState):
def __init__(self):
+ super(PageBackupRestoreState, self).__init__()
self._job = RestoreJob(None, None) # TODO: target_ident and backup_ident needed?
self._ident = "restore"
diff --git a/web/htdocs/config.py b/web/htdocs/config.py
index 41dfd0c..3976ca5 100644
--- a/web/htdocs/config.py
+++ b/web/htdocs/config.py
@@ -63,15 +63,15 @@ permission_declaration_functions = []
ALL_HOSTS = '(.*)'
HOST_STATE = ('__HOST_STATE__',)
HIDDEN = ('__HIDDEN__',)
-class FOREACH_HOST: pass
-class FOREACH_CHILD: pass
-class FOREACH_CHILD_WITH: pass
-class FOREACH_PARENT: pass
-class FOREACH_SERVICE: pass
-class REMAINING: pass
-class DISABLED: pass
-class HARD_STATES: pass
-class DT_AGGR_WARN: pass
+class FOREACH_HOST(object): pass
+class FOREACH_CHILD(object): pass
+class FOREACH_CHILD_WITH(object): pass
+class FOREACH_PARENT(object): pass
+class FOREACH_SERVICE(object): pass
+class REMAINING(object): pass
+class DISABLED(object): pass
+class HARD_STATES(object): pass
+class DT_AGGR_WARN(object): pass
# Has to be declared here once since the functions can be assigned in
# bi.py and also in multisite.mk. "Double" declarations are no problem
diff --git a/web/htdocs/valuespec.py b/web/htdocs/valuespec.py
index d6386a4..f260c4e 100644
--- a/web/htdocs/valuespec.py
+++ b/web/htdocs/valuespec.py
@@ -25,6 +25,7 @@
# Boston, MA 02110-1301 USA.
# FIXME: Cleanups
+# - Change all class to be "new style" classes
# - Consolidate ListChoice and DualListChoice to use the same class
# and rename to better name
# - Consolidate RadioChoice and DropdownChoice to use same class
@@ -503,7 +504,7 @@ class ID(TextAscii):
# Same as the ID class, but allowing unicode objects
class UnicodeID(TextUnicode):
def __init__(self, **kwargs):
- TextAscii.__init__(self, **kwargs)
+ TextUnicode.__init__(self, **kwargs)
self._regex = re.compile(r'^[\w][-\w0-9_]*$', re.UNICODE)
self._regex_error = _("An identifier must only consist of letters, digits,
dash and "
"underscore and it must start with a letter or
underscore.")
@@ -511,7 +512,7 @@ class UnicodeID(TextUnicode):
class UserID(TextUnicode):
def __init__(self, **kwargs):
- TextAscii.__init__(self, **kwargs)
+ TextUnicode.__init__(self, **kwargs)
self._regex = re.compile(r'^[\w][-\w0-9_\.@]*$', re.UNICODE)
self._regex_error = _("An identifier must only consist of letters, digits,
dash, dot, "
"at and underscore. But it must start with a letter or
underscore.")
@@ -2608,7 +2609,7 @@ month_names = [
]
-class TimeHelper:
+class TimeHelper(object):
@staticmethod
def round(timestamp, unit):
time_s = list(time.localtime(timestamp))
@@ -3554,7 +3555,7 @@ class ElementSelection(ValueSpec):
class AutoTimestamp(FixedValue):
def __init__(self, **kwargs):
- ValueSpec.__init__(self, **kwargs)
+ FixedValue.__init__(self, **kwargs)
def canonical_value(self):
return time.time()
@@ -3685,7 +3686,7 @@ class Transform(ValueSpec):
class LDAPDistinguishedName(TextUnicode):
def __init__(self, **kwargs):
- TextAscii.__init__(self, **kwargs)
+ TextUnicode.__init__(self, **kwargs)
self.enforce_suffix = kwargs.get('enforce_suffix')
def validate_value(self, value, varprefix):
diff --git a/web/htdocs/watolib.py b/web/htdocs/watolib.py
index bb1dbe7..e0304f9 100644
--- a/web/htdocs/watolib.py
+++ b/web/htdocs/watolib.py
@@ -397,7 +397,7 @@ class ConfigDomainEventConsole(ConfigDomain):
class WithPermissions(object):
def __init__(self):
- object.__init__(self)
+ super(WithPermissions, self).__init__()
def may(self, how): # how is "read" or "write"
return self.user_may(config.user.id, how)
@@ -436,7 +436,7 @@ class WithPermissions(object):
# for Host and Folder
class WithPermissionsAndAttributes(WithPermissions):
def __init__(self):
- WithPermissions.__init__(self)
+ super(WithPermissionsAndAttributes, self).__init__()
self._attributes = {}
# .--------------------------------------------------------------------.
@@ -483,10 +483,6 @@ class WithPermissionsAndAttributes(WithPermissions):
# | Base class of SearchFolder and Folder. Implements common methods. |
# '----------------------------------------------------------------------'
class BaseFolder(WithPermissionsAndAttributes):
- def __init__(self):
- WithPermissions.__init__(self)
-
-
def hosts(self):
raise NotImplementedError()
@@ -799,7 +795,7 @@ class Folder(BaseFolder):
def __init__(self, name, folder_path=None, parent_folder=None, title=None,
attributes=None):
- WithPermissionsAndAttributes.__init__(self)
+ super(Folder, self).__init__()
self._name = name
self._parent = parent_folder
self._subfolders = {}
@@ -1890,6 +1886,7 @@ class SearchFolder(BaseFolder):
# '--------------------------------------------------------------------'
def __init__(self, base_folder, criteria):
+ super(SearchFolder, self).__init__()
self._criteria = criteria
self._base_folder = base_folder
self._found_hosts = None
@@ -2094,7 +2091,7 @@ class Host(WithPermissionsAndAttributes):
# '--------------------------------------------------------------------'
def __init__(self, folder, host_name, attributes, cluster_nodes):
- WithPermissionsAndAttributes.__init__(self)
+ super(Host, self).__init__()
self._folder = folder
self._name = host_name
self._attributes = attributes