From dd19494bbfebe75eff528bd9dffb80b7a225c2f3 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Mon, 3 Nov 2008 20:42:36 +0000 Subject: [PATCH] bzr-revno: 75 --- openlp/plugins/biblemanager/BibleDBImpl.py | 15 +++++++++++++-- openlp/plugins/biblemanager/BibleManager.py | 3 ++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/biblemanager/BibleDBImpl.py b/openlp/plugins/biblemanager/BibleDBImpl.py index 19adb38c2..bb163cdbf 100644 --- a/openlp/plugins/biblemanager/BibleDBImpl.py +++ b/openlp/plugins/biblemanager/BibleDBImpl.py @@ -31,6 +31,11 @@ sys.path.insert(0,(os.path.join(mypath, '..', '..', '..'))) from openlp.utils import ConfigHelper logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s') +class BibleDBException(Exception): + pass +class BibleInvalidDatabaseError(Exception): + pass + metadata = MetaData() #Define the tables and indexes @@ -102,14 +107,20 @@ mapper(Book, book_table) mapper(Verse, verse_table) class BibleDBImpl: - def __init__(self, biblename): + def __init__(self, biblename, btype = 'sqlite'): # Connect to database path = ConfigHelper.getBiblePath() #print path #print biblename self.biblefile = os.path.join(path, biblename+".bible") #print self.biblefile - self.db = create_engine("sqlite:///"+self.biblefile) + #print btype + if btype == 'sqlite': + self.db = create_engine("sqlite:///"+self.biblefile) + elif btype == 'mysql': + self.db = create_engine("mysql://tim:@192.168.0.100:3306/openlp_rsv_bible") + else: + raise BibleInvalidDatabaseError("Database not mysql or sqlite") self.db.echo = False #self.metadata = metaData() metadata.bind = self.db diff --git a/openlp/plugins/biblemanager/BibleManager.py b/openlp/plugins/biblemanager/BibleManager.py index 3b4840f31..a08a4a7c8 100644 --- a/openlp/plugins/biblemanager/BibleManager.py +++ b/openlp/plugins/biblemanager/BibleManager.py @@ -24,8 +24,9 @@ sys.path.insert(0,(os.path.join(mypath, '..', '..', '..'))) from openlp.utils import ConfigHelper from openlp.plugins.biblemanager.BibleDBImpl import BibleDBImpl from openlp.plugins.biblemanager.BibleHTTPImpl import BibleHTTPImpl +from openlp.plugins.plugin import Plugin -class BibleManager: +class BibleManager(Plugin): def __init__(self): """ Finds all the bibles defined for the system