Attempt to fix bug #1154467 by retrying the commit if it fails

This commit is contained in:
Raoul Snyman 2013-12-22 00:45:33 +02:00
parent 6d86abaa37
commit 3a2686be24

View File

@ -35,6 +35,7 @@ import sqlite3
from PyQt4 import QtCore
from sqlalchemy import Column, ForeignKey, or_, Table, types, func
from sqlalchemy.exc import OperationalError
from sqlalchemy.orm import class_mapper, mapper, relation
from sqlalchemy.orm.exc import UnmappedClassError
@ -48,6 +49,7 @@ log = logging.getLogger(__name__)
RESERVED_CHARACTERS = u'\\.^$*+?{}[]()'
class BibleMeta(BaseModel):
"""
Bible Meta Data
@ -257,7 +259,11 @@ class BibleDB(QtCore.QObject, Manager):
text=verse_text
)
self.session.add(verse)
self.session.commit()
try:
self.session.commit()
except OperationalError:
# Try again. If it fails again, let the exception happen
self.session.commit()
def create_verse(self, book_id, chapter, verse, text):
"""
@ -363,7 +369,7 @@ class BibleDB(QtCore.QObject, Manager):
``book``
The name of the book, according to the selected language.
``language_selection``
The language selection the user has chosen in the settings
section of the Bible.