diff --git a/src/logic/threads.py b/src/logic/threads.py index 3c7c324..5553e65 100644 --- a/src/logic/threads.py +++ b/src/logic/threads.py @@ -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