From 299b80734583bc9c0c23b62a255cd2666ca95e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Wed, 29 Feb 2012 13:00:05 +0100 Subject: [PATCH 1/6] add language auto detection for osis bible files --- openlp/plugins/bibles/lib/osis.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index 3fac48f19..400aaff7c 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -53,6 +53,7 @@ class OSISBible(BibleDB): self.filename = kwargs[u'filename'] fbibles = None self.books = {} + self.language_regex = re.compile(r'(.*?)') self.verse_regex = re.compile( r'(.*?)') self.note_regex = re.compile(r'(.*?)') @@ -107,14 +108,25 @@ class OSISBible(BibleDB): finally: if detect_file: detect_file.close() - # Set meta language_id - language_id = self.get_language(bible_name) - if not language_id: - log.exception(u'Importing books from "%s" failed' % self.filename) - return False try: osis = codecs.open(self.filename, u'r', details['encoding']) repl = replacement + # Set meta language_id + for file_record in osis: + if self.stop_import_flag: + break + match = self.language_regex.search(file_record) + if match: + language = BiblesResourcesDB.get_language(match.group(1)) + if language: + self.create_meta(u'language_id', language[u'id']) + else: + language_id = self.get_language(bible_name) + if not language_id: + log.exception(u'Importing books from "%s" failed' + % self.filename) + return False + break for file_record in osis: if self.stop_import_flag: break From 16d1125e84a22d70d6dc819a6b73f50a870abc52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Wed, 29 Feb 2012 13:05:27 +0100 Subject: [PATCH 2/6] small fix --- openlp/plugins/bibles/lib/osis.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index 400aaff7c..defaca85c 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -119,7 +119,8 @@ class OSISBible(BibleDB): if match: language = BiblesResourcesDB.get_language(match.group(1)) if language: - self.create_meta(u'language_id', language[u'id']) + language_id = language[u'id'] + self.create_meta(u'language_id', language_id) else: language_id = self.get_language(bible_name) if not language_id: From 45e0d83600c65228f43b5fd96e7acc010bea41b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Thu, 1 Mar 2012 19:09:47 +0100 Subject: [PATCH 3/6] fix and improve auto detecting language in osis bible files --- openlp/plugins/bibles/lib/osis.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index defaca85c..4afee912d 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -111,28 +111,29 @@ class OSISBible(BibleDB): try: osis = codecs.open(self.filename, u'r', details['encoding']) repl = replacement - # Set meta language_id + language_id = False for file_record in osis: if self.stop_import_flag: break - match = self.language_regex.search(file_record) + # Try to find the bible language + if not language_id: + language_match = self.language_regex.search(file_record) + if language_match: + language = BiblesResourcesDB.get_language( + language_match.group(1)) + if language: + language_id = language[u'id'] + self.create_meta(u'language_id', language_id) + continue + match = self.verse_regex.search(file_record) if match: - language = BiblesResourcesDB.get_language(match.group(1)) - if language: - language_id = language[u'id'] - self.create_meta(u'language_id', language_id) - else: + # Set meta language_id if not detected till now + if not language_id: language_id = self.get_language(bible_name) if not language_id: log.exception(u'Importing books from "%s" failed' % self.filename) return False - break - for file_record in osis: - if self.stop_import_flag: - break - match = self.verse_regex.search(file_record) - if match: match_count += 1 book = match.group(1) chapter = int(match.group(2)) From 87e70fa2dcb953ad6db2fa91f83841cee15d5cbf Mon Sep 17 00:00:00 2001 From: rimach Date: Sat, 3 Mar 2012 00:08:24 +0100 Subject: [PATCH 4/6] fix --- openlp/core/ui/media/mediacontroller.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/media/mediacontroller.py b/openlp/core/ui/media/mediacontroller.py index 9c44f1693..6ef7185bc 100644 --- a/openlp/core/ui/media/mediacontroller.py +++ b/openlp/core/ui/media/mediacontroller.py @@ -100,8 +100,7 @@ class MediaController(object): Register each media Player controller (Webkit, Phonon, etc) and store for later use """ - if controller.check_available(): - self.mediaPlayers[controller.name] = controller + self.mediaPlayers[controller.name] = controller def check_available_media_players(self): """ @@ -134,7 +133,8 @@ class MediaController(object): QtCore.QVariant(u'webkit')).toString()) savedPlayers = playerSettings.split(u',') invalidMediaPlayers = [mediaPlayer for mediaPlayer in savedPlayers \ - if not mediaPlayer in self.mediaPlayers] + if not mediaPlayer in self.mediaPlayers or \ + self.mediaPlayers[mediaPlayer].check_available() == False] if len(invalidMediaPlayers) > 0: for invalidPlayer in invalidMediaPlayers: savedPlayers.remove(invalidPlayer) From 0b15238245d19fb5dbebd11c786e1e3a556d00ac Mon Sep 17 00:00:00 2001 From: Samuel Findlay Date: Sat, 3 Mar 2012 16:13:48 +1100 Subject: [PATCH 5/6] fixed bug #944510 'web remote doesn't scale to screen' Fixes: https://launchpad.net/bugs/944510 --- openlp/plugins/remotes/html/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/openlp/plugins/remotes/html/index.html b/openlp/plugins/remotes/html/index.html index fb88ee0dc..7a2da3bea 100644 --- a/openlp/plugins/remotes/html/index.html +++ b/openlp/plugins/remotes/html/index.html @@ -27,6 +27,7 @@ --> + ${app_title} From 5d6db957e166c3aa4d5f1e3b27b302efb1c0853e Mon Sep 17 00:00:00 2001 From: rimach Date: Sat, 3 Mar 2012 23:36:46 +0100 Subject: [PATCH 6/6] fix --- openlp/core/ui/media/mediacontroller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/media/mediacontroller.py b/openlp/core/ui/media/mediacontroller.py index 6ef7185bc..3beffbf36 100644 --- a/openlp/core/ui/media/mediacontroller.py +++ b/openlp/core/ui/media/mediacontroller.py @@ -134,7 +134,7 @@ class MediaController(object): savedPlayers = playerSettings.split(u',') invalidMediaPlayers = [mediaPlayer for mediaPlayer in savedPlayers \ if not mediaPlayer in self.mediaPlayers or \ - self.mediaPlayers[mediaPlayer].check_available() == False] + not self.mediaPlayers[mediaPlayer].check_available()] if len(invalidMediaPlayers) > 0: for invalidPlayer in invalidMediaPlayers: savedPlayers.remove(invalidPlayer)