Compare commits

..

3 Commits

Author SHA1 Message Date
bb81f921ff Fix Qt typing references to strings 2022-05-19 22:29:46 -07:00
1468b1932f Fix crash on startup
Add publishers.json to pip package
Add exception handling to prevent crash
2022-05-19 20:13:59 -07:00
74d95b6a50 Add typing_extensions 2022-05-19 18:17:22 -07:00
6 changed files with 17 additions and 8 deletions

View File

@ -275,4 +275,7 @@ publishers: dict[str, ImprintDict] = {}
def load_publishers() -> None:
update_publishers(json.loads((pathlib.Path(__file__).parent / "data" / "publishers.json").read_text("utf-8")))
try:
update_publishers(json.loads((pathlib.Path(__file__).parent / "data" / "publishers.json").read_text("utf-8")))
except Exception:
logger.exception("Failed to load publishers.json; The are no publishers or imprints loaded")

View File

@ -736,7 +736,7 @@ class ComicVineTalker:
self.nam.finished.connect(self.async_fetch_issue_cover_url_complete)
self.nam.get(QtNetwork.QNetworkRequest(QtCore.QUrl(issue_url)))
def async_fetch_issue_cover_url_complete(self, reply: QtNetwork.QNetworkReply) -> None:
def async_fetch_issue_cover_url_complete(self, reply: "QtNetwork.QNetworkReply") -> None:
# read in the response
data = reply.readAll()
@ -772,7 +772,7 @@ class ComicVineTalker:
self.nam.finished.connect(self.async_fetch_alternate_cover_urls_complete)
self.nam.get(QtNetwork.QNetworkRequest(QtCore.QUrl(str(issue_page_url))))
def async_fetch_alternate_cover_urls_complete(self, reply: QtNetwork.QNetworkReply) -> None:
def async_fetch_alternate_cover_urls_complete(self, reply: "QtNetwork.QNetworkReply") -> None:
# read in the response
html = str(reply.readAll())
alt_cover_url_list = self.parse_out_alt_cover_urls(html)

View File

@ -41,7 +41,7 @@ class ImageFetcherException(Exception):
pass
def fetch_complete(image_data: Union[bytes, QtCore.QByteArray]) -> None:
def fetch_complete(image_data: "Union[bytes, QtCore.QByteArray]") -> None:
...
@ -106,7 +106,7 @@ class ImageFetcher:
# we'll get called back when done...
return bytes()
def finish_request(self, reply: QtNetwork.QNetworkReply) -> None:
def finish_request(self, reply: "QtNetwork.QNetworkReply") -> None:
# read in the image data
logger.debug("request finished")
image_data = reply.readAll()
@ -134,7 +134,7 @@ class ImageFetcher:
cur.execute("CREATE TABLE Images(url TEXT,filename TEXT,timestamp TEXT,PRIMARY KEY (url))")
def add_image_to_cache(self, url: str, image_data: Union[bytes, QtCore.QByteArray]) -> None:
def add_image_to_cache(self, url: str, image_data: "Union[bytes, QtCore.QByteArray]") -> None:
con = lite.connect(self.db_file)

View File

@ -87,6 +87,10 @@ try:
qt_exception_hook = UncaughtHook()
from comictaggerlib.taggerwindow import TaggerWindow
except ImportError as e:
def show_exception_box(log_msg: str):
pass
logger.error(str(e))
qt_available = False
@ -101,8 +105,9 @@ def update_publishers() -> None:
if json_file.exists():
try:
utils.update_publishers(json.loads(json_file.read_text("utf-8")))
except Exception:
except Exception as e:
logger.exception("Failed to load publishers from %s", json_file)
show_exception_box(str(e))
def ctmain() -> None:

View File

@ -6,4 +6,5 @@ pathvalidate
pycountry
py7zr
text2digits
typing_extensions
wordninja

View File

@ -55,7 +55,7 @@ setup(
url="https://github.com/comictagger/comictagger",
packages=["comictaggerlib", "comicapi"],
package_data={
"comictaggerlib": ["ui/*", "graphics/*"],
"comictaggerlib": ["ui/*", "graphics/*", "data/*"],
},
entry_points=dict(console_scripts=["comictagger=comictaggerlib.main:ctmain"]),
classifiers=[