--- a/eric6/UI/Previewers/PreviewerHTML.py Fri Apr 02 11:59:41 2021 +0200 +++ b/eric6/UI/Previewers/PreviewerHTML.py Sat May 01 14:27:20 2021 +0200 @@ -14,6 +14,7 @@ import tempfile import sys import io +import contextlib from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QThread from PyQt5.QtGui import QCursor @@ -37,7 +38,7 @@ @param parent reference to the parent widget (QWidget) """ - super(PreviewerHTML, self).__init__(parent) + super().__init__(parent) self.__layout = QVBoxLayout(self) @@ -237,10 +238,11 @@ self.__restoreScrollBarPositions) if not filePath: filePath = "/" - if rootPath: - baseUrl = QUrl.fromLocalFile(rootPath + "/index.html") - else: - baseUrl = QUrl.fromLocalFile(filePath) + baseUrl = ( + QUrl.fromLocalFile(rootPath + "/index.html") + if rootPath else + QUrl.fromLocalFile(filePath) + ) self.previewView.setHtml(html, baseUrl=baseUrl) if self.__previewedEditor: self.__previewedEditor.setFocus() @@ -276,10 +278,7 @@ "return res;" "})()" ) - if pos is not None: - pos = QPoint(pos["x"], pos["y"]) - else: - pos = QPoint(0, 0) + pos = QPoint(0, 0) if pos is None else QPoint(pos["x"], pos["y"]) self.__scrollBarPositions[self.__previewedPath] = pos self.__hScrollBarAtEnd[self.__previewedPath] = False self.__vScrollBarAtEnd[self.__previewedPath] = False @@ -337,7 +336,7 @@ @param parent reference to the parent object (QObject) """ - super(PreviewProcessingThread, self).__init__() + super().__init__() self.__lock = threading.Lock() @@ -688,17 +687,19 @@ extensions = [] mermaidNeeded = False - if Preferences.getEditor("PreviewMarkdownMermaid"): - if MarkdownExtensions.MermaidRegexFullText.search(text): - extensions.append(MarkdownExtensions.MermaidExtension()) - mermaidNeeded = True + if ( + Preferences.getEditor("PreviewMarkdownMermaid") and + MarkdownExtensions.MermaidRegexFullText.search(text) + ): + extensions.append(MarkdownExtensions.MermaidExtension()) + mermaidNeeded = True if convertNewLineToBreak: extensions.append('nl2br') pyMdown = False if usePyMdownExtensions: - try: + with contextlib.suppress(ImportError): import pymdownx # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ # PyPI package is 'pymdown-extensions' @@ -709,8 +710,6 @@ 'pymdownx.tasklist', 'pymdownx.smartsymbols', ]) pyMdown = True - except ImportError: - pass if not pyMdown: extensions.extend(['extra', 'toc']) @@ -768,16 +767,13 @@ htmlFormat = Preferences.getEditor("PreviewMarkdownHTMLFormat").lower() body = markdown.markdown(text, extensions=extensions, output_format=htmlFormat.lower()) - if e5App().usesDarkPalette(): - style = ( - PreviewerHTMLStyles.css_markdown_dark + - PreviewerHTMLStyles.css_pygments_dark - ) - else: - style = ( - PreviewerHTMLStyles.css_markdown_light + - PreviewerHTMLStyles.css_pygments_light - ) + style = ( + (PreviewerHTMLStyles.css_markdown_dark + + PreviewerHTMLStyles.css_pygments_dark) + if e5App().usesDarkPalette() else + (PreviewerHTMLStyles.css_markdown_light + + PreviewerHTMLStyles.css_pygments_light) + ) if htmlFormat == "xhtml1": head = (