feat: enhance BookGrabber to support any and exact book modes
This commit is contained in:
@@ -23,14 +23,18 @@ class BookGrabber(QThread):
|
|||||||
self.prof_id = None
|
self.prof_id = None
|
||||||
self.mode = None
|
self.mode = None
|
||||||
self.book_id = None
|
self.book_id = None
|
||||||
|
self.use_any = False
|
||||||
|
self.use_exact = False
|
||||||
self.appnr = appnr
|
self.appnr = appnr
|
||||||
self.tstate = (self.app_id, self.prof_id, self.mode, self.data)
|
self.tstate = (self.app_id, self.prof_id, self.mode, self.data)
|
||||||
|
|
||||||
def add_values(self, app_id, prof_id, mode, data):
|
def add_values(self, app_id, prof_id, mode, data, any_book=False, exact=False):
|
||||||
self.app_id = app_id
|
self.app_id = app_id
|
||||||
self.prof_id = prof_id
|
self.prof_id = prof_id
|
||||||
self.mode = mode
|
self.mode = mode
|
||||||
self.data = data
|
self.data = data
|
||||||
|
self.use_any = any_book
|
||||||
|
self.use_exact = exact
|
||||||
self.logger.log_info(f"Working on {len(self.data)} entries")
|
self.logger.log_info(f"Working on {len(self.data)} entries")
|
||||||
self.tstate = (self.app_id, self.prof_id, self.mode, self.data)
|
self.tstate = (self.app_id, self.prof_id, self.mode, self.data)
|
||||||
self.logger.log_debug("State: " + str(self.tstate))
|
self.logger.log_debug("State: " + str(self.tstate))
|
||||||
@@ -48,13 +52,18 @@ class BookGrabber(QThread):
|
|||||||
signature = str(entry)
|
signature = str(entry)
|
||||||
self.logger.log_info("Processing entry: " + signature)
|
self.logger.log_info("Processing entry: " + signature)
|
||||||
|
|
||||||
webdata = WebRequest().set_apparat(self.appnr).get_ppn(entry).use_any_book().get_data()
|
webdata = WebRequest().set_apparat(self.appnr).get_ppn(entry)
|
||||||
|
if self.use_any:
|
||||||
|
webdata = webdata.use_any_book
|
||||||
|
webdata = webdata.get_data()
|
||||||
|
|
||||||
if webdata == "error":
|
if webdata == "error":
|
||||||
continue
|
continue
|
||||||
|
|
||||||
bd = BibTextTransformer(self.mode).get_data(webdata).return_data()
|
bd = BibTextTransformer(self.mode)
|
||||||
|
if self.use_exact:
|
||||||
|
bd = bd.use_signature(entry)
|
||||||
|
bd = bd.get_data(webdata).return_data()
|
||||||
if bd is None:
|
if bd is None:
|
||||||
# bd = BookData
|
# bd = BookData
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user