diff --git a/config/settings.yaml b/config/settings.yaml index 63a192e..3998a38 100644 --- a/config/settings.yaml +++ b/config/settings.yaml @@ -1,14 +1,13 @@ institution_name: HB Testbibliothek Psychologie default_loan_duration: 7 database: - path: C:/newestdb_mew - name: libraries.db + path: C:/testdatabase_1 + name: libr.db backupLocation: V:/backup do_backup: false report: generate_report: false email: None - debug: false log_debug: false catalogue: True diff --git a/icons/calendar_event.svg b/icons/calendar_event.svg new file mode 100644 index 0000000..87dd2e3 --- /dev/null +++ b/icons/calendar_event.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/duplicate.svg b/icons/duplicate.svg new file mode 100644 index 0000000..4d5cc44 --- /dev/null +++ b/icons/duplicate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/icons.yaml b/icons/icons.yaml index 68e6968..10ed483 100644 --- a/icons/icons.yaml +++ b/icons/icons.yaml @@ -10,4 +10,6 @@ icons: borrow: book.svg backup: db_backup.svg addBook: add_book.svg - report: report.svg \ No newline at end of file + report: report.svg + duplicate: duplicate.svg + loan_extend: calendar_event.svg \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py index 0fc8435..9a407eb 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1,2 +1,13 @@ import omegaconf -config = omegaconf.OmegaConf.load("config/settings.yaml") \ No newline at end of file +import sys + +__version__ = "0.0.1" +__author__ = "Alexander Kirchner" + +config = omegaconf.OmegaConf.load("config/settings.yaml") + +# if programm launched with argument --debug, set debug to True +if "--debug" in sys.argv: + config.debug = True +if "--log" in sys.argv: + config.log_debug = True \ No newline at end of file diff --git a/src/logic/catalogue.py b/src/logic/catalogue.py index a29756b..895a772 100644 --- a/src/logic/catalogue.py +++ b/src/logic/catalogue.py @@ -2,15 +2,28 @@ import requests from bs4 import BeautifulSoup from src import config from src.schemas import Book - +from src.utils import Log URL = 'https://rds.ibs-bw.de/phfreiburg/opac/RDSIndex/Search?lookfor="{}"+&type=AllFields&limit=10&sort=py+desc%2C+title' BASE = "https://rds.ibs-bw.de" +log = Log("Catalogue") class Catalogue: def __init__(self, timeout=5): self.timeout = timeout + reachable = self.check_connection() + if reachable: + config.catalogue = True + else: + config.catalogue = False + def check_connection(self): + try: + response = requests.get("https://www.google.com", timeout=self.timeout) + if response.status_code == 200: + return True + except requests.exceptions.RequestException as e: + log.error(f"Could not connect to google.com: {e}") def search_book(self, searchterm: str): response = requests.get(URL.format(searchterm), timeout=self.timeout) return response.text @@ -29,6 +42,8 @@ class Catalogue: return res def get_book(self, searchterm: str): + log.info(f"Searching for term: {searchterm}") + links = self.get_book_links(searchterm) for link in links: result = self.search(link) diff --git a/src/ui/newentry.py b/src/ui/newentry.py index 2c6a2e6..3a7b437 100644 --- a/src/ui/newentry.py +++ b/src/ui/newentry.py @@ -40,7 +40,7 @@ class NewEntry(QtWidgets.QDialog, Ui_Dialog): ) def populateTable(self): for title in self.titles: - print(title) + # print(title) entries = self.db.getMediaSimilarSignatureByID(title) # sort by signature entries.sort(key=lambda x: x.signature, reverse=True) @@ -66,7 +66,7 @@ class NewEntry(QtWidgets.QDialog, Ui_Dialog): signature=signature, ppn=eval(ppn), ) - print(book) + # print(book) if not self.db.checkMediaExists(book): newBookId = self.db.insertMedia(book) self.newIds.append(newBookId) diff --git a/src/utils/__init__.py b/src/utils/__init__.py index afc91ca..ea00422 100644 --- a/src/utils/__init__.py +++ b/src/utils/__init__.py @@ -1,2 +1,4 @@ -from .stringtodate import stringToDate +from .log import Log from .icon import Icon +from .debug import debugMessage +from .stringtodate import stringToDate \ No newline at end of file