remove db_lock

This commit is contained in:
WorldTeacher
2024-01-31 15:42:29 +01:00
parent 45fdf8e1b4
commit bf1a3de8c2

View File

@@ -29,7 +29,6 @@ class BookGrabber(QThread):
self.mode = mode self.mode = mode
self.data = data self.data = data
self.book_id = None self.book_id = None
self.db_lock = threading.Lock()
def run(self): def run(self):
self.db = Database() self.db = Database()
@@ -45,12 +44,11 @@ class BookGrabber(QThread):
transformer = BibTextTransformer("RDS") transformer = BibTextTransformer("RDS")
rds = transformer.get_data(webdata).return_data("rds_availability") rds = transformer.get_data(webdata).return_data("rds_availability")
bd.signature = entry bd.signature = entry
with self.db_lock:
#confirm lock is acquired #confirm lock is acquired
print("lock acquired, adding book to database") print("lock acquired, adding book to database")
self.db.add_medium(bd, self.app_id, self.prof_id) self.db.addBookToDatabase(bd, self.app_id, self.prof_id)
# get latest book id # get latest book id
self.book_id = self.db.get_latest_book_id() self.book_id = self.db.getLastBookId()
self.logger.log_info("Added book to database") self.logger.log_info("Added book to database")
state = 0 state = 0
for rds_item in rds.items: for rds_item in rds.items:
@@ -65,7 +63,6 @@ class BookGrabber(QThread):
# book_id = book["id"] # book_id = book["id"]
# break # break
self.logger.log_info(f"State of {signature}: {state}") self.logger.log_info(f"State of {signature}: {state}")
with self.db_lock:
print( print(
"lock acquired, updating availability of " "lock acquired, updating availability of "
+ str(book_id) + str(book_id)
@@ -73,7 +70,7 @@ class BookGrabber(QThread):
+ str(state) + str(state)
) )
try: try:
self.db.set_availability(self.book_id, state) self.db.setAvailability(self.book_id, state)
except sqlite3.OperationalError as e: except sqlite3.OperationalError as e:
self.logger.log_error(f"Failed to update availability: {e}") self.logger.log_error(f"Failed to update availability: {e}")
break break
@@ -108,7 +105,6 @@ class AvailChecker(QThread):
self.links = links self.links = links
self.appnumber = appnumber self.appnumber = appnumber
self.books = books self.books = books
self.db_lock = threading.Lock()
def run(self): def run(self):
self.db = Database() self.db = Database()
@@ -132,14 +128,13 @@ class AvailChecker(QThread):
book_id = book["id"] book_id = book["id"]
break break
self.logger.log_info(f"State of {link}: " + str(state)) self.logger.log_info(f"State of {link}: " + str(state))
with self.db_lock:
print( print(
"lock acquired, updating availability of " "lock acquired, updating availability of "
+ str(book_id) + str(book_id)
+ " to " + " to "
+ str(state) + str(state)
) )
self.db.set_availability(book_id, state) self.db.setAvailability(book_id, state)
break break
self.updateSignal.emit(item.callnumber, state) self.updateSignal.emit(item.callnumber, state)