www/sogo3: py-MySQLdb-Fehlermeldung

Columbo0815

Kaffeemann
Teammitglied
Moin,

ich spiele gerade ein wenig mit sogo3 rum, da ich eine Exchange-Alternative testen will. Die Installation an sich verlief mit einigen Hürden (die Größte "Hürde" war, dass openchange in den Ports "libmapi" heißt) jedoch erfolgreich. Sogo3 läut an sich. Lediglich beim "nativen Microsoft Outlook Connector" scheitere ich an dem Punkt, an dem ich laut Doku (https://sogo.nu/files/docs/SOGoNativeOutlookConfigurationGuide.html) die openchange-Datenbank anlegen muss. Führe ich den Befehl laut Doku aus, erhalte ich folgende Fehlermeldung
Code:
#openchange_provision --openchangedb --openchangedb-uri 'mysql://openchange-user:openchange$123@localhost/openchange'
Setting up openchange db
Traceback (most recent call last):
  File "/usr/local/sbin/openchange_provision", line 119, in <module>
  openchange.openchangedb_provision(provisionnames, lp, opts.openchangedb_uri)
  File "/usr/local/lib/python2.7/site-packages/openchange/provision.py", line 1211, in openchangedb_provision
  openchangedb.setup(names)
  File "/usr/local/lib/python2.7/site-packages/openchange/mailbox.py", line 400, in setup
  return self.migrate()
  File "/usr/local/lib/python2.7/site-packages/openchange/mailbox.py", line 343, in migrate
  migration_manager = MigrationManager(self.db, self.db_name)
  File "/usr/local/lib/python2.7/site-packages/openchange/migration/__init__.py", line 62, in __init__
  self._setup()
  File "/usr/local/lib/python2.7/site-packages/openchange/migration/__init__.py", line 68, in _setup
  cur.execute("""SHOW TABLES LIKE %s""", self.table_name)
  File "/usr/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 187, in execute
  query = query % tuple([db.literal(item) for item in args])
TypeError: not all arguments converted during string formatting
Ich habe versucht mir den Grund des Fehler zu ergoogeln, scheitere daran aber. Leider habe ich keine Python-Kentnisse, weshalb mir natürlich auch ein sinnvoller Suchansatz fehlt.

Könnt ihr evtl. mit der Fehlermeldung etwas anfangen?
 
Der erste Treffer bei Google meint, dass das zweite Argument zu MySQLdb cursor.execute() eine Liste (Tupel) sein muss.
Da self.table_name nur ein Wert ist, muss er in eine Liste umgewandelt werden, richtig sollte es also heißen:

cur.execute("SHOW TABLES LIKE %s", [self.table_name]);

Ich habe übrigens auch keine Python-Kenntnisse :-)

Rob
 
Zurück
Oben