diff --git a/src/forumparser.py b/src/forumparser.py index 4df2b62..675012c 100644 --- a/src/forumparser.py +++ b/src/forumparser.py @@ -36,13 +36,12 @@ def getHTMLdata(self, url, timeout=(3.05, 6)): try: response = get(url, timeout=timeout) response.raise_for_status() - if response.ok: - errMsg, htmlData = "", response.text - else: - errMsg, htmlData = f"Website access ERROR, response code: {response.raise_for_status()}", "" + errMsg, htmlData = "", response.text del response return errMsg, htmlData except exceptions.RequestException as errMsg: + errMsg = str(errMsg) + errMsg = errMsg[:errMsg.rfind(": ")] print(f"[{MODULE_NAME}] ERROR in class 'FparserHelper:getHTMLdata': {errMsg}") return errMsg, htmlData @@ -52,6 +51,10 @@ def createThreadUrl(self, threadId, startPage=0): def createPostUrl(self, postId): return f"{atvpglobals.BASEURL}viewtopic.php?p={postId}#p{postId}" if postId else "" + def checkServerErrors(self): + errMsg, htmlData = self.getHTMLdata(atvpglobals.BASEURL) + return errMsg + def parseLatest(self, startPage=0): def setPostKey(key, value, replacements=[]): if value: diff --git a/src/plugin.py b/src/plugin.py index 98c25c5..eda6c6d 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -619,25 +619,24 @@ def __init__(self, session, threadLinks=[], favlink="", favMenu=False): self.offline = LoadPixmap(cached=True, path=statusFile) if exists(statusFile) else None copy2(join(self.PLUGINPATH, "icons/user_stat.png"), self.AVATARPATH) copy2(join(self.PLUGINPATH, "icons/unknown.png"), self.AVATARPATH) - self.onLayoutFinish.append(self.onLayoutFinished) + self.onShown.append(self.onShownFinished) - def onLayoutFinished(self): + def onShownFinished(self): self.showPic(self["button_page"], join(self.PLUGINPATH, f"icons/key_updown_{self.RESOLUTION}.png"), show=False, scale=False) self.showPic(self["button_keypad"], join(self.PLUGINPATH, f"icons/keypad_{self.RESOLUTION}.png"), show=False, scale=False) self.updateYellowButton() + errMsg = fparser.checkServerErrors() + if errMsg: + self.checkHTMLerror(errMsg) + self.keyExit() if self.favlink or self.threadLink and self.threadLinks: - callInThread(self.makeThread, boundFunction(self.checkHTMLerror, firstCall=True)) + callInThread(self.makeThread, self.checkHTMLerror) else: - callInThread(self.makeLatest, boundFunction(self.checkHTMLerror, firstCall=True)) + callInThread(self.makeLatest, self.checkHTMLerror) - def checkHTMLerror(self, firstCall=False, errMsg=""): + def checkHTMLerror(self, errMsg=""): if errMsg: - if firstCall: - userMsg = f"Fehler beim Zugriff auf die Forumsseite:\n\n{errMsg}\n\nDas Plugin wird deswegen nun beendet." - self.session.open(MessageBox, userMsg, type=MessageBox.TYPE_ERROR, timeout=10, close_on_any_key=True) - self.keyExit() - else: - self.session.open(MessageBox, f"Fehler beim Zugriff auf die Forumsseite:\n\n{errMsg}\n\n", type=MessageBox.TYPE_ERROR, timeout=5, close_on_any_key=True) + self.session.open(MessageBox, f"Fehler beim Zugriff auf die Forumsseite:\n\n{errMsg}\n\n", type=MessageBox.TYPE_ERROR, timeout=5, close_on_any_key=True) def makeLatest(self, errorCallBack, index=None): self["menu"].style = "default"