From 4c502dba9c100a26249ff1f1d4b69177459f8ade Mon Sep 17 00:00:00 2001 From: Erik Lundin Date: Sat, 10 Nov 2012 21:09:09 +0100 Subject: [PATCH 1/2] Fixed the spelling of "Erik Lundin" --- openlp/core/ui/aboutdialog.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 3d6c9fabd..b3e188f86 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -109,7 +109,7 @@ class Ui_AboutDialog(object): contributors = [u'Gerald "jerryb" Britton', u'Samuel "MrGamgee" Findlay', u'Scott "sguerrieri" Guerrieri', u'Matthias "matthub" Hub', u'Meinert "m2j" Jordan', - u'Armin "orangeshirt" K\xf6hler', u'Eric "luen" Ludin', + u'Armin "orangeshirt" K\xf6hler', u'Erik "luen" Lundin', u'Edwin "edwinlunando" Lunando', u'Brian "brianmeyer" Meyer', u'Joshua "milleja46" Miller', u'Stevan "ElderP" Pettit', u'Mattias "mahfiaz" P\xf5ldaru', u'Christian "crichter" Richter', @@ -149,7 +149,7 @@ class Ui_AboutDialog(object): u'Gustavo Bim', u'Rog\xeanio Bel\xe9m', u'Samuel' u'Simon "samscudder" Scudder', u'Van Der Fran'], u'ru': [u'Sergey "ratz" Ratz'], - u'sv': [u'Eric "luen" Ludin'] + u'sv': [u'Erik "luen" Lundin'] } documentors = [u'Wesley "wrst" Stout', u'John "jseagull1" Cegalis (lead)'] From b76be3d6b8e52a170ea9e407bd184aeb711b3e8c Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Sun, 11 Nov 2012 18:09:23 +0200 Subject: [PATCH 2/2] Fixed bug #1077654 where there were more classes in the CSS, but we were specifically looking for only one class. Made the code less brittle. Fixes: https://launchpad.net/bugs/1077654 --- openlp/core/lib/db.py | 13 ++++++++----- openlp/plugins/bibles/lib/http.py | 13 ++++--------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index eae6ef4a1..ea262bf42 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -85,11 +85,13 @@ def upgrade_db(url, upgrade): Provides a class for the metadata table. """ pass - load_changes = True + load_changes = False + tables = [] try: tables = upgrade.upgrade_setup(metadata) + load_changes = True except (SQLAlchemyError, DBAPIError): - load_changes = False + pass metadata_table = Table(u'metadata', metadata, Column(u'key', types.Unicode(64), primary_key=True), Column(u'value', types.UnicodeText(), default=None) @@ -99,6 +101,7 @@ def upgrade_db(url, upgrade): version_meta = session.query(Metadata).get(u'version') if version_meta is None: version_meta = Metadata.populate(key=u'version', value=u'0') + session.add(version_meta) version = 0 else: version = int(version_meta.value) @@ -111,17 +114,17 @@ def upgrade_db(url, upgrade): try: getattr(upgrade, u'upgrade_%d' % version) \ (session, metadata, tables) - version_meta.value = unicode(version) except (SQLAlchemyError, DBAPIError): log.exception(u'Could not run database upgrade script ' '"upgrade_%s", upgrade process has been halted.', version) break + version_meta.value = unicode(version) + session.commit() version += 1 else: version_meta = Metadata.populate(key=u'version', value=int(upgrade.__version__)) - session.add(version_meta) - session.commit() + session.commit() return int(version_meta.value), upgrade.__version__ diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 28968372b..d33152e78 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -279,14 +279,8 @@ class BGExtract(object): page_source = unicode(page_source, u'utf8') except UnicodeDecodeError: page_source = unicode(page_source, u'cp1251') - page_source_temp = re.search(u'.*?'\ - u'
', page_source, re.DOTALL) - if page_source_temp: - soup = page_source_temp.group(0) - else: - soup = None try: - soup = BeautifulSoup(soup) + soup = BeautifulSoup(page_source) except HTMLParseError: log.error(u'BeautifulSoup could not parse the Bible page.') send_error_message(u'parse') @@ -295,8 +289,9 @@ class BGExtract(object): send_error_message(u'parse') return None Receiver.send_message(u'openlp_process_events') - content = soup.find(u'table', {u'class': u'infotable'}) - content = content.findAll(u'tr') + content = soup.find(u'table', u'infotable') + if content: + content = content.findAll(u'tr') if not content: log.error(u'No books found in the Biblegateway response.') send_error_message(u'parse')