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