From c3327988b9f0af9a9c51028d0fca2f46be2d1b74 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 1 Nov 2008 19:50:14 +0000 Subject: [PATCH] Sort out start of bible translations (multi language) Chapter Names. Chapter counts Verse Counts bzr-revno: 66 --- openlp/plugins/biblemanager/BibleDBImpl.py | 2 - openlp/plugins/biblemanager/BibleManager.py | 41 +++++++++++++++++-- .../biblemanager/resources/bible_books.txt | 11 +++++ .../biblemanager/resources/bibles_en.txt | 11 +++++ 4 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 openlp/plugins/biblemanager/resources/bible_books.txt create mode 100644 openlp/plugins/biblemanager/resources/bibles_en.txt diff --git a/openlp/plugins/biblemanager/BibleDBImpl.py b/openlp/plugins/biblemanager/BibleDBImpl.py index 0277c7fea..19adb38c2 100644 --- a/openlp/plugins/biblemanager/BibleDBImpl.py +++ b/openlp/plugins/biblemanager/BibleDBImpl.py @@ -216,8 +216,6 @@ class BibleDBImpl: print "getBibleChapter ", bookname, chapter metadata.bind.echo = False s = text (""" select book.name FROM verse,book where verse.book_id == book.id AND verse.chapter == :c and book.name == :b """) - print s - print self.db.execute(s, c=chapter, b=bookname).fetchone() return self.db.execute(s, c=chapter, b=bookname).fetchone() def getBibleText(self, bookname, chapter, sverse, everse): diff --git a/openlp/plugins/biblemanager/BibleManager.py b/openlp/plugins/biblemanager/BibleManager.py index 7d29656e9..274a65481 100644 --- a/openlp/plugins/biblemanager/BibleManager.py +++ b/openlp/plugins/biblemanager/BibleManager.py @@ -36,9 +36,17 @@ class BibleManager: """ self.bibleDBCache = {} self.bibleHTTPCache = {} + self.booksOfBible = {} + self.listOfBooks = [] + self.booksChapters = {} + self.CWids = {} + self.verses = {} + self.verseData = {} self.biblePath = ConfigHelper.getBiblePath() #print self.biblePath files = os.listdir(self.biblePath) + fbibles=open("../resources/bibles_en.txt", 'r') + fbibledata=open("../resources/bible_books.txt", 'r') for f in files: b = f.split('.')[0] self.bibleDBCache[b] = BibleDBImpl(b) @@ -48,6 +56,20 @@ class BibleManager: nhttp.setBibleSource(biblesource) self.bibleHTTPCache[b] = nhttp # + for line in fbibles: + p = line.split(",") + self.booksOfBible[p[0]] = p[1].replace('\n', '') + self.listOfBooks.insert(int(p[1].replace('\n', '')), p[0]) + for line in fbibledata: + p = line.split(",") + self.booksChapters[p[0]]=p[1] + self.CWids[p[0]]=p[2].replace('\n', '') + v = p[3].replace('\n', '') + self.verseData[p[0]] = v + #print "\n", self.booksOfBible + #print "\n", self.booksChapters + #print "\n", self.CWids + #print "\n", self.verseData #print self.bibleDBCache #print self.bibleHTTPCache @@ -91,15 +113,28 @@ class BibleManager: def getBibleBooks(self,bible): """ Returns a list of the books of the bible + """ + return self.listOfBooks + + def getBookChapterCount(self, book): + print "getBookChapterCount ", book """ - return ["Gen","Exd","Matt","Mark"] + Returns all the number of Chapters for a given + book + """ + i = self.booksOfBible[book] + return self.booksChapters[i] - def getBookVerseCount(self, bible, book, chapter): + def getBookVerseCount(self, book, chapter): + print "getBookVerseCount ", book, chapter """ Returns all the number of verses for a given book and chapter """ - return 28 + i = self.booksOfBible[book] + v = self.verseData[i].split(":") + print v + return v[chapter-1] # sup 1 for zero indexing def getVerseText(self, bible, book, chapter, sverse, everse = 0 ): """ diff --git a/openlp/plugins/biblemanager/resources/bible_books.txt b/openlp/plugins/biblemanager/resources/bible_books.txt new file mode 100644 index 000000000..66ebe26c7 --- /dev/null +++ b/openlp/plugins/biblemanager/resources/bible_books.txt @@ -0,0 +1,11 @@ +1,50,ge,31:25:3:4 +2,40,ex,5:6:7:8 +3,27,le,9:10:11:13 +4,36,nu,1:35:6 +5,34,de,1:3:4 +23,150,ps,1:4:5 +47,28,mt,25:23:30 +48,15,mr,21:23:23 +49,24,lu,23:43:34 +50,21,joh,23:65:76 +73,22,re,20:23:24 diff --git a/openlp/plugins/biblemanager/resources/bibles_en.txt b/openlp/plugins/biblemanager/resources/bibles_en.txt new file mode 100644 index 000000000..ee3373f72 --- /dev/null +++ b/openlp/plugins/biblemanager/resources/bibles_en.txt @@ -0,0 +1,11 @@ +Genesis,1 +Exodus,2 +Leviticus,3 +Numbers,4 +Deutoronomy,5 +Psalms,23 +Matthew,47 +Mark,48 +Luke,49 +John,50 +Revelation,73