connection arguments: use 'passwd' instead of 'password' with older drivers

This commit is contained in:
Felix Hamme 2023-05-17 10:35:17 +02:00
commit 2e0dbef296

View file

@ -144,18 +144,24 @@ def mysql_connect(module, login_user=None, login_password=None, config_file='',
if _mysql_cursor_param == 'cursor': if _mysql_cursor_param == 'cursor':
# In case of PyMySQL driver: # In case of PyMySQL driver:
if mysql_driver.version_info[0] < 1: if mysql_driver.version_info[0] < 1:
# for PyMySQL < 1.0.0, use 'db' instead of 'database' # for PyMySQL < 1.0.0, use 'db' instead of 'database' and 'passwd' instead of 'password'
if 'database' in config: if 'database' in config:
config['db'] = config['database'] config['db'] = config['database']
del config['database'] del config['database']
if 'password' in config:
config['passwd'] = config['password']
del config['password']
db_connection = mysql_driver.connect(autocommit=autocommit, **config) db_connection = mysql_driver.connect(autocommit=autocommit, **config)
else: else:
# In case of MySQLdb driver # In case of MySQLdb driver
if mysql_driver.version_info[0] < 2 and mysql_driver.version_info[1] < 1: if mysql_driver.version_info[0] < 2 and mysql_driver.version_info[1] < 1:
# for MySQLdb < 2.1.0, use 'db' instead of 'database' # for MySQLdb < 2.1.0, use 'db' instead of 'database' and 'passwd' instead of 'password'
if 'database' in config: if 'database' in config:
config['db'] = config['database'] config['db'] = config['database']
del config['database'] del config['database']
if 'password' in config:
config['passwd'] = config['password']
del config['password']
db_connection = mysql_driver.connect(**config) db_connection = mysql_driver.connect(**config)
if autocommit: if autocommit:
db_connection.autocommit(True) db_connection.autocommit(True)