Merge branch 'master' of git://repo.or.cz/fpbd-bostik
This commit is contained in:
commit
425997d66a
|
@ -577,7 +577,7 @@ class FpdbSQLQueries:
|
||||||
self.query['addTourneyIndex'] = """ALTER TABLE Tourneys ADD INDEX siteTourneyNo(siteTourneyNo)"""
|
self.query['addTourneyIndex'] = """ALTER TABLE Tourneys ADD INDEX siteTourneyNo(siteTourneyNo)"""
|
||||||
elif(self.dbname == 'PostgreSQL'):
|
elif(self.dbname == 'PostgreSQL'):
|
||||||
# FIXME: This query has a different syntax
|
# FIXME: This query has a different syntax
|
||||||
self.query['addTourneyIndex'] = """ALTER TABLE Tourneys ADD INDEX siteTourneyNo(siteTourneyNo)"""
|
self.query['addTourneyIndex'] = """CREATE INDEX siteTourneyNo ON Tourneys (siteTourneyNo)"""
|
||||||
elif(self.dbname == 'SQLite'):
|
elif(self.dbname == 'SQLite'):
|
||||||
self.query['addHandsIndex'] = """ """
|
self.query['addHandsIndex'] = """ """
|
||||||
|
|
||||||
|
@ -585,7 +585,7 @@ class FpdbSQLQueries:
|
||||||
self.query['addHandsIndex'] = """ALTER TABLE Hands ADD INDEX siteHandNo(siteHandNo)"""
|
self.query['addHandsIndex'] = """ALTER TABLE Hands ADD INDEX siteHandNo(siteHandNo)"""
|
||||||
elif(self.dbname == 'PostgreSQL'):
|
elif(self.dbname == 'PostgreSQL'):
|
||||||
# FIXME: This query has a different syntax
|
# FIXME: This query has a different syntax
|
||||||
self.query['addHandsIndex'] = """ALTER TABLE Hands ADD INDEX siteHandNo(siteHandNo)"""
|
self.query['addHandsIndex'] = """CREATE INDEX siteHandNo ON Hands (siteHandNo)"""
|
||||||
elif(self.dbname == 'SQLite'):
|
elif(self.dbname == 'SQLite'):
|
||||||
self.query['addHandsIndex'] = """ """
|
self.query['addHandsIndex'] = """ """
|
||||||
|
|
||||||
|
@ -593,9 +593,9 @@ class FpdbSQLQueries:
|
||||||
self.query['addPlayersIndex'] = """ALTER TABLE Players ADD INDEX name(name)"""
|
self.query['addPlayersIndex'] = """ALTER TABLE Players ADD INDEX name(name)"""
|
||||||
elif(self.dbname == 'PostgreSQL'):
|
elif(self.dbname == 'PostgreSQL'):
|
||||||
# FIXME: This query has a different syntax
|
# FIXME: This query has a different syntax
|
||||||
self.query['addHandsIndex'] = """ALTER TABLE Hands ADD INDEX siteHandNo(siteHandNo)"""
|
self.query['addPlayersIndex'] = """CREATE INDEX name ON Players (name)"""
|
||||||
elif(self.dbname == 'SQLite'):
|
elif(self.dbname == 'SQLite'):
|
||||||
self.query['addHandsIndex'] = """ """
|
self.query['addPlayersIndex'] = """ """
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# Queries used in GuiGraphViewer
|
# Queries used in GuiGraphViewer
|
||||||
|
|
|
@ -118,12 +118,12 @@ class fpdb:
|
||||||
|
|
||||||
def dia_create_del_database(self, widget, data):
|
def dia_create_del_database(self, widget, data):
|
||||||
print "todo: implement dia_create_del_database"
|
print "todo: implement dia_create_del_database"
|
||||||
obtain_global_lock()
|
self.obtain_global_lock()
|
||||||
#end def dia_create_del_database
|
#end def dia_create_del_database
|
||||||
|
|
||||||
def dia_create_del_user(self, widget, data):
|
def dia_create_del_user(self, widget, data):
|
||||||
print "todo: implement dia_create_del_user"
|
print "todo: implement dia_create_del_user"
|
||||||
obtain_global_lock()
|
self.obtain_global_lock()
|
||||||
#end def dia_create_del_user
|
#end def dia_create_del_user
|
||||||
|
|
||||||
def dia_database_stats(self, widget, data):
|
def dia_database_stats(self, widget, data):
|
||||||
|
@ -133,17 +133,17 @@ class fpdb:
|
||||||
|
|
||||||
def dia_delete_db_parts(self, widget, data):
|
def dia_delete_db_parts(self, widget, data):
|
||||||
print "todo: implement dia_delete_db_parts"
|
print "todo: implement dia_delete_db_parts"
|
||||||
obtain_global_lock()
|
self.obtain_global_lock()
|
||||||
#end def dia_delete_db_parts
|
#end def dia_delete_db_parts
|
||||||
|
|
||||||
def dia_edit_profile(self, widget=None, data=None, create_default=False, path=None):
|
def dia_edit_profile(self, widget=None, data=None, create_default=False, path=None):
|
||||||
print "todo: implement dia_edit_profile"
|
print "todo: implement dia_edit_profile"
|
||||||
obtain_global_lock()
|
self.obtain_global_lock()
|
||||||
#end def dia_edit_profile
|
#end def dia_edit_profile
|
||||||
|
|
||||||
def dia_export_db(self, widget, data):
|
def dia_export_db(self, widget, data):
|
||||||
print "todo: implement dia_export_db"
|
print "todo: implement dia_export_db"
|
||||||
obtain_global_lock()
|
self.obtain_global_lock()
|
||||||
#end def dia_export_db
|
#end def dia_export_db
|
||||||
|
|
||||||
def dia_get_db_root_credentials(self):
|
def dia_get_db_root_credentials(self):
|
||||||
|
@ -168,7 +168,7 @@ class fpdb:
|
||||||
|
|
||||||
def dia_import_db(self, widget, data):
|
def dia_import_db(self, widget, data):
|
||||||
print "todo: implement dia_import_db"
|
print "todo: implement dia_import_db"
|
||||||
obtain_global_lock()
|
self.obtain_global_lock()
|
||||||
#end def dia_import_db
|
#end def dia_import_db
|
||||||
|
|
||||||
def dia_licensing(self, widget, data):
|
def dia_licensing(self, widget, data):
|
||||||
|
@ -264,7 +264,11 @@ class fpdb:
|
||||||
|
|
||||||
self.db = fpdb_db.fpdb_db()
|
self.db = fpdb_db.fpdb_db()
|
||||||
#print "end of fpdb.load_profile, databaseName:",self.settings['db-databaseName']
|
#print "end of fpdb.load_profile, databaseName:",self.settings['db-databaseName']
|
||||||
self.db.connect(self.settings['db-backend'], self.settings['db-host'], self.settings['db-databaseName'], self.settings['db-user'], self.settings['db-password'])
|
self.db.connect(self.settings['db-backend'],
|
||||||
|
self.settings['db-host'],
|
||||||
|
self.settings['db-databaseName'],
|
||||||
|
self.settings['db-user'],
|
||||||
|
self.settings['db-password'])
|
||||||
if self.db.wrongDbVersion:
|
if self.db.wrongDbVersion:
|
||||||
diaDbVersionWarning = gtk.Dialog(title="Strong Warning - Invalid database version", parent=None, flags=0, buttons=(gtk.STOCK_OK,gtk.RESPONSE_OK))
|
diaDbVersionWarning = gtk.Dialog(title="Strong Warning - Invalid database version", parent=None, flags=0, buttons=(gtk.STOCK_OK,gtk.RESPONSE_OK))
|
||||||
|
|
||||||
|
|
|
@ -31,19 +31,33 @@ class fpdb_db:
|
||||||
self.SQLITE=4
|
self.SQLITE=4
|
||||||
#end def __init__
|
#end def __init__
|
||||||
|
|
||||||
def connect(self, backend, host, database, user, password):
|
def connect(self, backend=None, host=None, database=None,
|
||||||
|
user=None, password=None):
|
||||||
"""Connects a database with the given parameters"""
|
"""Connects a database with the given parameters"""
|
||||||
|
if backend is None:
|
||||||
|
raise FpdbError('Database backend not defined')
|
||||||
self.backend=backend
|
self.backend=backend
|
||||||
self.host=host
|
self.host=host
|
||||||
self.database=database
|
|
||||||
self.user=user
|
self.user=user
|
||||||
self.password=password
|
self.password=password
|
||||||
|
self.database=database
|
||||||
if backend==self.MYSQL_INNODB:
|
if backend==self.MYSQL_INNODB:
|
||||||
import MySQLdb
|
import MySQLdb
|
||||||
self.db=MySQLdb.connect(host = host, user = user, passwd = password, db = database)
|
self.db=MySQLdb.connect(host = host, user = user, passwd = password, db = database)
|
||||||
elif backend==self.PGSQL:
|
elif backend==self.PGSQL:
|
||||||
import psycopg2
|
import psycopg2
|
||||||
self.db = psycopg2.connect(host = host, user = user, password = password, database = database)
|
# If DB connection is made over TCP, then the variables
|
||||||
|
# host, user and password are required
|
||||||
|
if self.host or self.user:
|
||||||
|
self.db = psycopg2.connect(host = host,
|
||||||
|
user = user,
|
||||||
|
password = password,
|
||||||
|
database = database)
|
||||||
|
# For local domain-socket connections, only DB name is
|
||||||
|
# needed, and everything else is in fact undefined and/or
|
||||||
|
# flat out wrong
|
||||||
|
else:
|
||||||
|
self.db = psycopg2.connect(database = database)
|
||||||
else:
|
else:
|
||||||
raise fpdb_simple.FpdbError("unrecognised database backend:"+backend)
|
raise fpdb_simple.FpdbError("unrecognised database backend:"+backend)
|
||||||
self.cursor=self.db.cursor()
|
self.cursor=self.db.cursor()
|
||||||
|
|
|
@ -62,6 +62,8 @@ class Importer:
|
||||||
self.settings['minPrint'] = 30
|
self.settings['minPrint'] = 30
|
||||||
self.dbConnect()
|
self.dbConnect()
|
||||||
|
|
||||||
|
# XXX: Why is this here, when fpdb_db.connect() already does the
|
||||||
|
# same?
|
||||||
def dbConnect(self):
|
def dbConnect(self):
|
||||||
#connect to DB
|
#connect to DB
|
||||||
if self.settings['db-backend'] == 2:
|
if self.settings['db-backend'] == 2:
|
||||||
|
@ -73,10 +75,15 @@ class Importer:
|
||||||
if not pgsqlLibFound:
|
if not pgsqlLibFound:
|
||||||
raise fpdb_simple.FpdbError("interface library psycopg2 not found but PostgreSQL selected as backend - please install the library or change the config file")
|
raise fpdb_simple.FpdbError("interface library psycopg2 not found but PostgreSQL selected as backend - please install the library or change the config file")
|
||||||
print self.settings
|
print self.settings
|
||||||
|
if not self.settings.has_key('db-host') or \
|
||||||
|
not self.settings.has_key('db-user'):
|
||||||
self.db = psycopg2.connect(host = self.settings['db-host'],
|
self.db = psycopg2.connect(host = self.settings['db-host'],
|
||||||
user = self.settings['db-user'],
|
user = self.settings['db-user'],
|
||||||
password = self.settings['db-password'],
|
password = self.settings['db-password'],
|
||||||
database = self.settings['db-databaseName'])
|
database = self.settings['db-databaseName'])
|
||||||
|
else:
|
||||||
|
dbname = self.settings['db-databaseName']
|
||||||
|
self.db = psycopg2.connect(database = dbname)
|
||||||
elif self.settings['db-backend'] == 4:
|
elif self.settings['db-backend'] == 4:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user