Attempt to fix bug #1154467 by waiting 10ms and retrying the commit

bzr-revno: 2184
Fixes: https://launchpad.net/bugs/1154467
This commit is contained in:
Raoul Snyman 2013-12-29 23:55:54 +02:00
commit e4a95be2b8

View File

@ -32,9 +32,11 @@ import logging
import os import os
import re import re
import sqlite3 import sqlite3
import time
from PyQt4 import QtCore from PyQt4 import QtCore
from sqlalchemy import Column, ForeignKey, or_, Table, types, func 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 import class_mapper, mapper, relation
from sqlalchemy.orm.exc import UnmappedClassError from sqlalchemy.orm.exc import UnmappedClassError
@ -48,6 +50,7 @@ log = logging.getLogger(__name__)
RESERVED_CHARACTERS = u'\\.^$*+?{}[]()' RESERVED_CHARACTERS = u'\\.^$*+?{}[]()'
class BibleMeta(BaseModel): class BibleMeta(BaseModel):
""" """
Bible Meta Data Bible Meta Data
@ -257,7 +260,12 @@ class BibleDB(QtCore.QObject, Manager):
text=verse_text text=verse_text
) )
self.session.add(verse) self.session.add(verse)
self.session.commit() try:
self.session.commit()
except OperationalError:
# Wait 10ms and try again.
time.sleep(0.01)
self.session.commit()
def create_verse(self, book_id, chapter, verse, text): def create_verse(self, book_id, chapter, verse, text):
""" """
@ -363,7 +371,7 @@ class BibleDB(QtCore.QObject, Manager):
``book`` ``book``
The name of the book, according to the selected language. The name of the book, according to the selected language.
``language_selection`` ``language_selection``
The language selection the user has chosen in the settings The language selection the user has chosen in the settings
section of the Bible. section of the Bible.