diff -r fb0ef164f536 -r 698ae46f40a4 eric6/Project/CreateDialogCodeDialog.py --- a/eric6/Project/CreateDialogCodeDialog.py Fri Apr 02 11:59:41 2021 +0200 +++ b/eric6/Project/CreateDialogCodeDialog.py Sat May 01 14:27:20 2021 +0200 @@ -10,6 +10,7 @@ import sys import os import json +import contextlib from PyQt5.QtCore import ( pyqtSlot, Qt, QMetaObject, QRegularExpression, QSortFilterProxyModel, @@ -57,7 +58,7 @@ @param project reference to the project object @param parent parent widget if the dialog (QWidget) """ - super(CreateDialogCodeDialog, self).__init__(parent) + super().__init__(parent) self.setupUi(self) self.okButton = self.buttonBox.button( @@ -96,17 +97,12 @@ self.__initError = True return - try: + with contextlib.suppress(ImportError): splitExt = os.path.splitext(self.srcFile) - if len(splitExt) == 2: - exts = [splitExt[1]] - else: - exts = None + exts = [splitExt[1]] if len(splitExt) == 2 else None from Utilities import ModuleParser self.__module = ModuleParser.readModule( self.srcFile, extensions=exts, caching=False) - except ImportError: - pass if self.__module is not None: self.filenameEdit.setText(self.srcFile) @@ -339,19 +335,19 @@ itm2 = QStandardItem(methodDict["signature"]) itm.appendRow(itm2) - if self.__module is not None: - if ( - methodDict["methods"][0] in signatureList or - methodDict["methods"][1] in signatureList - ): - itm2.setFlags( - Qt.ItemFlags(Qt.ItemFlag.ItemIsEnabled)) - itm2.setCheckState(Qt.CheckState.Checked) - if e5App().usesDarkPalette(): - itm2.setForeground(QBrush(QColor("#75bfff"))) - else: - itm2.setForeground(QBrush(Qt.GlobalColor.blue)) - continue + if ( + self.__module is not None and + (methodDict["methods"][0] in signatureList or + methodDict["methods"][1] in signatureList) + ): + itm2.setFlags( + Qt.ItemFlags(Qt.ItemFlag.ItemIsEnabled)) + itm2.setCheckState(Qt.CheckState.Checked) + if e5App().usesDarkPalette(): + itm2.setForeground(QBrush(QColor("#75bfff"))) + else: + itm2.setForeground(QBrush(Qt.GlobalColor.blue)) + continue itm2.setData(methodDict["pyqt_signature"], pyqtSignatureRole) @@ -377,18 +373,11 @@ """ Private slot to generate the code as requested by the user. """ - # first decide on extension if ( - self.filenameEdit.text().endswith(".py") or - self.filenameEdit.text().endswith(".pyw") + self.filenameEdit.text().endswith(".rb") or + self.project.getProjectLanguage() == "Ruby" ): - self.__generatePythonCode() - elif self.filenameEdit.text().endswith(".rb"): - pass - # second decide on project language - elif self.project.getProjectLanguage() == "Python3": - self.__generatePythonCode() - elif self.project.getProjectLanguage() == "Ruby": + # Ruby code generation is not supported pass else: # assume Python (our global default) @@ -511,10 +500,11 @@ break # do the coding stuff - if self.project.getProjectType() in ("PySide2", "PySide6"): - pyqtSignatureFormat = '@Slot({0})' - else: - pyqtSignatureFormat = '@pyqtSlot({0})' + pyqtSignatureFormat = ( + '@Slot({0})' + if self.project.getProjectType() in ("PySide2", "PySide6") else + '@pyqtSlot({0})' + ) for row in range(self.slotsModel.rowCount()): topItem = self.slotsModel.item(row) for childRow in range(topItem.rowCount()): @@ -568,10 +558,8 @@ sourceImpl[appendAtIndex:appendAtIndex] = slotsCode # write the new code - if self.project.useSystemEol(): - newline = None - else: - newline = self.project.getEolString() + newline = (None if self.project.useSystemEol() + else self.project.getEolString()) fn = self.filenameEdit.text() try: with open(fn, 'w', encoding="utf-8", newline=newline) as srcFile: