echapper caracteres speciaux avec mysqldb
Bonjour
J'ai le code suivant qui lit un fichier de configuration en vue de se connecter a une database :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
class ScriptorDatabase():
'''
Class which manages databases
'''
def __init__(self):
# read configuration file
CFG_PATH = os.path.dirname(__file__).strip('classes') + 'scriptor.cfg'
config = ConfigParser.RawConfigParser()
config.read(CFG_PATH)
if config.get('database', 'DB_USER'):
self.DB_USER = config.get('database', 'DB_USER')
if config.get('database', 'DB_PASSWD'):
self.DB_PASSWD = config.get('database', 'DB_PASSWD')
if config.get('database', 'DB_HOST'):
self.DB_HOST = config.get('database', 'DB_HOST')
if config.get('database', 'DB_NAME'):
self.DB_NAME = config.get('database', 'DB_NAME')
self.DB_CONNEX = builder()(user=self.DB_USER, passwd=self.DB_PASSWD, host=self.DB_HOST, db=self.DB_NAME) |
Mais recois le message d'erreur suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Traceback (most recent call last):
File "/home/moi/scriptor/classes/scriptorDatabase.py", line 61, in <module>
d = scriptorDatabase()
File "/home/moi/scriptor/classes/scriptorDatabase.py", line 33, in __init__
self.DB_CONNEX = builder()(user=self.DB_USER, passwd=self.DB_PASSWD, host=self.DB_HOST, db=self.DB_NAME)
File "/usr/lib/pymodules/python2.7/sqlobject/mysql/mysqlconnection.py", line 51, in __init__
DBAPI.__init__(self, **kw)
File "/usr/lib/pymodules/python2.7/sqlobject/dbconnection.py", line 256, in __init__
DBConnection.__init__(self, **kw)
TypeError: __init__() got an unexpected keyword argument 'passwd' |
Je precise que le password en question est Gr87^%j
Je suppose que l'erreur est due aux caracteres speciaux mais je ne vois pas comment
enpecher python de les interpreter, ni a quel niveau du code.
Merci