Refactor and enhance type hints across multiple modules

- Updated the `from_tuple` method in `Prof` class to specify return type.
- Added type hints for various methods in `LehmannsClient`, `OpenAI`, `WebRequest`, and `ZoteroController` classes to improve code clarity and type safety.
- Modified `pdf_to_csv` function to return a string instead of a DataFrame.
- Enhanced error handling and type hints in `wordparser` and `xmlparser` modules.
- Removed unused UI file `Ui_medianadder.ts`.
- Improved the layout and structure of the `semesterapparat_ui` to enhance user experience.
- Updated file picker to support `.doc` files in addition to `.docx`.
- Added unique item handling in `Ui` class to prevent duplicates in apparat list.
- General code cleanup and consistency improvements across various files.
This commit is contained in:
2025-10-21 09:09:54 +02:00
parent 560d8285b5
commit 0406fe4f6f
26 changed files with 437 additions and 396 deletions

View File

@@ -1,3 +1,5 @@
from typing import List
import regex
import requests
from bs4 import BeautifulSoup
@@ -33,13 +35,13 @@ class Catalogue:
response = requests.get(link, timeout=self.timeout)
return response.text
def get_book_links(self, searchterm: str):
def get_book_links(self, searchterm: str) -> List[str]:
response = self.search_book(searchterm)
soup = BeautifulSoup(response, "html.parser")
links = soup.find_all("a", class_="title getFull")
res = []
res: List[str] = []
for link in links:
res.append(BASE + link["href"])
res.append(BASE + link["href"]) # type: ignore
return res
def get_book(self, searchterm: str):

View File

@@ -144,7 +144,7 @@ class Database:
self.create_tables()
self.insertSubjects()
def getElsaMediaID(self, work_author, signature, pages):
def getElsaMediaID(self, work_author: str, signature: str, pages: str):
query = (
"SELECT id FROM elsa_media WHERE work_author=? AND signature=? AND pages=?"
)
@@ -160,7 +160,7 @@ class Database:
query = "SELECT type FROM elsa_media WHERE id=?"
return self.query_db(query, (id,), one=True)[0]
def get_db_contents(self) -> Union[List[Tuple], None]:
def get_db_contents(self) -> Union[List[Tuple[Any]], None]:
"""
Get the contents of the