Use packaging version checking.

This commit is contained in:
Jorge-Rodriguez 2023-01-22 08:46:08 +02:00
commit 14380349db
No known key found for this signature in database
GPG key ID: 43153D1EFD8F7D90

View file

@ -10,7 +10,7 @@
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
from functools import reduce from packaging import version
__metaclass__ = type __metaclass__ = type
import os import os
@ -92,8 +92,7 @@ def mysql_connect(module, login_user=None, login_password=None, config_file='',
config['connect_timeout'] = connect_timeout config['connect_timeout'] = connect_timeout
if check_hostname is not None: if check_hostname is not None:
if mysql_driver.__name__ == "pymysql": if mysql_driver.__name__ == "pymysql":
version_tuple = (n for n in mysql_driver.__version__.split('.') if n != 'None') if version.parse(mysql_driver.__version__) >= "0.7.11":
if reduce(lambda x, y: int(x) * 100 + int(y), version_tuple) >= 711:
config['ssl']['check_hostname'] = check_hostname config['ssl']['check_hostname'] = check_hostname
else: else:
module.fail_json(msg='To use check_hostname, pymysql >= 0.7.11 is required on the target host') module.fail_json(msg='To use check_hostname, pymysql >= 0.7.11 is required on the target host')