Skip to content

Commit a2cd6b9

Browse files
committed
fix: remove deprecated distutils imports
1 parent 63c2887 commit a2cd6b9

File tree

6 files changed

+33
-33
lines changed

6 files changed

+33
-33
lines changed

mamonsu/plugins/pgsql/driver/pg8000/core.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from collections import defaultdict, deque
33
from datetime import datetime as Datetime
44
from decimal import Decimal
5-
from distutils.version import LooseVersion
5+
from pkg_resources import packaging
66
from hashlib import md5
77
from itertools import count, islice
88
from struct import Struct
@@ -1416,11 +1416,11 @@ def handle_PARAMETER_STATUS(self, data, ps):
14161416
pass
14171417

14181418
elif key == b"server_version":
1419-
self._server_version = LooseVersion(value.decode('ascii'))
1420-
if self._server_version < LooseVersion('8.2.0'):
1419+
self._server_version = packaging.version.parse(value.decode('ascii'))
1420+
if self._server_version < packaging.version.parse('8.2.0'):
14211421
self._commands_with_count = (
14221422
b"INSERT", b"DELETE", b"UPDATE", b"MOVE")
1423-
elif self._server_version < LooseVersion('9.0.0'):
1423+
elif self._server_version < packaging.version.parse('9.0.0'):
14241424
self._commands_with_count = (
14251425
b"INSERT", b"DELETE", b"UPDATE", b"MOVE", b"FETCH",
14261426
b"COPY")

mamonsu/plugins/pgsql/driver/pool.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from distutils.version import LooseVersion
1+
from pkg_resources import packaging
22
from .connection import Connection, ConnectionInfo
33

44

@@ -132,19 +132,19 @@ def server_version(self, db=None):
132132

133133
def server_version_greater(self, version, db=None):
134134
db = self._normalize_db(db)
135-
return self.server_version(db) >= LooseVersion(version)
135+
return packaging.version.parse(self.server_version(db)) >= packaging.version.parse(version)
136136

137137
def server_version_less(self, version, db=None):
138138
db = self._normalize_db(db)
139-
return self.server_version(db) <= LooseVersion(version)
139+
return packaging.version.parse(self.server_version(db)) <= packaging.version.parse(version)
140140

141141
def bootstrap_version_greater(self, version):
142-
return str(
143-
self._cache["bootstrap"]["version"]) >= LooseVersion(version)
142+
return packaging.version.parse(
143+
str(self._cache["bootstrap"]["version"])) >= packaging.version.parse(version)
144144

145145
def bootstrap_version_less(self, version):
146-
return str(
147-
self._cache["bootstrap"]["version"]) <= LooseVersion(version)
146+
return packaging.version.parse(
147+
str(self._cache["bootstrap"]["version"])) <= packaging.version.parse(version)
148148

149149
def in_recovery(self, db=None):
150150
db = self._normalize_db(db)
@@ -166,16 +166,16 @@ def is_bootstraped(self, db=None):
166166
self._cache["bootstrap"]["counter"] = 0
167167
# TODO: изменить на нормальное название, 'config' слишком общее
168168
sql = """
169-
SELECT count(*)
170-
FROM pg_catalog.pg_class
169+
SELECT count(*)
170+
FROM pg_catalog.pg_class
171171
WHERE relname = 'config';
172172
"""
173173
result = int(self.query(sql, db)[0][0])
174174
self._cache["bootstrap"]["storage"][db] = (result == 1)
175175
if self._cache["bootstrap"]["storage"][db]:
176176
self._connections[db].log.info("Found mamonsu bootstrap")
177177
sql = """
178-
SELECT max(version)
178+
SELECT max(version)
179179
FROM mamonsu.config;
180180
"""
181181
self._cache["bootstrap"]["version"] = self.query(sql, db)[0][0]
@@ -227,8 +227,8 @@ def is_pgpro_ee(self, db=None):
227227
def extension_installed(self, ext, db=None):
228228
db = self._normalize_db(db)
229229
result = self.query("""
230-
SELECT count(*)
231-
FROM pg_catalog.pg_extension
230+
SELECT count(*)
231+
FROM pg_catalog.pg_extension
232232
WHERE lower(extname) = lower('{0}');
233233
""".format(ext), db)
234234
return (int(result[0][0])) == 1
@@ -239,9 +239,9 @@ def extension_schema(self, extension, db=None):
239239
return self._cache["extension_schema"][extension][db]
240240
try:
241241
self._cache["extension_schema"][extension][db] = self.query("""
242-
SELECT n.nspname
243-
FROM pg_extension e
244-
JOIN pg_namespace n ON e.extnamespace = n.oid
242+
SELECT n.nspname
243+
FROM pg_extension e
244+
JOIN pg_namespace n ON e.extnamespace = n.oid
245245
WHERE e.extname = '{0}'
246246
""".format(extension), db)[0][0]
247247
return self._cache["extension_schema"][extension][db]
@@ -250,7 +250,7 @@ def extension_schema(self, extension, db=None):
250250

251251
def databases(self):
252252
result, databases = self.query("""
253-
SELECT datname
253+
SELECT datname
254254
FROM pg_catalog.pg_database;
255255
"""), []
256256
for row in result:
@@ -309,13 +309,13 @@ def get_sys_param(self, param, db=None):
309309
db = self._normalize_db(db)
310310
if self.is_bootstraped() and self.bootstrap_version_greater("2.3.4"):
311311
result = self.query("""
312-
SELECT *
312+
SELECT *
313313
FROM mamonsu.get_sys_param('{0}');
314314
""".format(param))[0][0]
315315
else:
316316
result = self.query("""
317-
SELECT setting
318-
FROM pg_catalog.pg_settings
317+
SELECT setting
318+
FROM pg_catalog.pg_settings
319319
WHERE name = '{0}';
320320
""".format(param), db)[0][0]
321321
return result

mamonsu/plugins/pgsql/memory_leak_diagnostic.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import os
55
from .pool import Pooler
66
import re
7-
from distutils.version import LooseVersion
7+
from pkg_resources import packaging
88
import mamonsu.lib.platform as platform
99
import posix
1010

@@ -91,7 +91,7 @@ def run(self, zbx):
9191
for row in Pooler.query(query=self.query):
9292
pids.append(row[0])
9393

94-
if (LooseVersion(self.os_release) < LooseVersion("4.5")
94+
if (packaging.version.parse(self.os_release) < packaging.version.parse("4.5")
9595
and not (self.os_name == "centos" and self.os_version == "7")) \
9696
or (not self.os_name and not self.os_version):
9797
for pid in pids:

mamonsu/plugins/pgsql/replication.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
22

33
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
4-
from distutils.version import LooseVersion
4+
from pkg_resources import packaging
55
from .pool import Pooler
66
from mamonsu.lib.zbx_template import ZbxTemplate
77

@@ -201,7 +201,7 @@ def discovery_rules(self, template, dashboard=False):
201201

202202
def keys_and_queries(self, template_zabbix):
203203
result = []
204-
if LooseVersion(self.VersionPG) < LooseVersion("10"):
204+
if packaging.version.parse(self.VersionPG) < packaging.version.parse("10"):
205205
result.append("{0},$2 $1 -c \"{1}\"".format("pgsql.replication_lag.sec[*]",
206206
self.query_agent_replication_lag.format(
207207
self.plugin_config("interval"), "xlog_receive_location",

mamonsu/tools/zabbix_cli/operations.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import json
66
from mamonsu.tools.zabbix_cli.request import Request
77
from mamonsu.lib.parser import zabbix_msg
8-
from distutils.version import LooseVersion
8+
from pkg_resources import packaging
99
from mamonsu.tools.zabbix_cli.dashboard import generate_dashboard
1010

1111

@@ -171,10 +171,10 @@ def template(self, args):
171171
}
172172
},
173173
'source': open(file).read()}
174-
if LooseVersion(zabbix_version) < LooseVersion('5.4'):
174+
if packaging.version.parse(zabbix_version) < packaging.version.parse('5.4'):
175175
params['rules']['applications'] = {'createMissing': True,
176176
'deleteMissing': True}
177-
if LooseVersion(zabbix_version) < LooseVersion('5.2'):
177+
if packaging.version.parse(zabbix_version) < packaging.version.parse('5.2'):
178178
params['rules']['templateScreens'] = {'createMissing': True,
179179
'updateExisting': False,
180180
'deleteMissing': True}
@@ -329,7 +329,7 @@ def dashboard(self, args):
329329
if not len(args) == 2:
330330
return self._print_help()
331331
zabbix_version = str(self.req.post(method='apiinfo.version', params=[]))
332-
if LooseVersion(zabbix_version) < LooseVersion('6.0'):
332+
if packaging.version.parse(zabbix_version) < packaging.version.parse('6.0'):
333333
print("You can import Mamonsu dashboard only on Zabbix 6.0+.")
334334
return
335335
else:

mamonsu/tools/zabbix_cli/request.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from collections import OrderedDict
66

77

8-
from distutils.version import LooseVersion
8+
from pkg_resources import packaging
99
import urllib.request as urllib2
1010

1111

@@ -26,7 +26,7 @@ def _auth(self):
2626
if self._auth_tocken is None:
2727
if not self._user:
2828
return None
29-
user_field = 'user' if LooseVersion(self._api_version) < LooseVersion('6.4') else 'username'
29+
user_field = 'user' if packaging.version.parse(self._api_version) < packaging.version.parse('6.4') else 'username'
3030
self._auth_tocken = self.post(
3131
'user.login',
3232
{user_field: self._user, 'password': self._passwd})

0 commit comments

Comments
 (0)