--- a/ProjectDjango/DjangoSquashMigrationSelectionDialog.py Fri Dec 31 13:17:55 2021 +0100 +++ b/ProjectDjango/DjangoSquashMigrationSelectionDialog.py Wed Sep 21 16:42:20 2022 +0200 @@ -14,19 +14,21 @@ from PyQt6.QtWidgets import QDialog, QDialogButtonBox from .Ui_DjangoSquashMigrationSelectionDialog import ( - Ui_DjangoSquashMigrationSelectionDialog + Ui_DjangoSquashMigrationSelectionDialog, ) class DjangoSquashMigrationSelectionDialog( - QDialog, Ui_DjangoSquashMigrationSelectionDialog): + QDialog, Ui_DjangoSquashMigrationSelectionDialog +): """ Class implementing a dialog to enter data needed to squash migrations. """ + def __init__(self, migrations, django, suffix, parent=None): """ Constructor - + @param migrations dictionary containing the available migrations @type dict @param django reference to the Django project object @@ -38,42 +40,41 @@ """ super().__init__(parent) self.setupUi(self) - - self.__appliedIcon = QIcon(os.path.join( - os.path.dirname(__file__), "icons", "applied-{0}".format(suffix) - )) - + + self.__appliedIcon = QIcon( + os.path.join( + os.path.dirname(__file__), "icons", "applied-{0}".format(suffix) + ) + ) + self.__migrations = migrations - self.applicationComboBox.addItems( - [""] + sorted(self.__migrations.keys())) + self.applicationComboBox.addItems([""] + sorted(self.__migrations.keys())) self.on_applicationComboBox_activated("") - + msh = self.minimumSizeHint() self.resize(max(self.width(), msh.width()), msh.height()) - + def __updateOkButton(self): """ Private slot to set the enabled state of the OK button. """ - enabled = ( - bool(self.applicationComboBox.currentText()) and - bool(self.endMigrationComboBox.currentText())) - self.buttonBox.button( - QDialogButtonBox.StandardButton.Ok).setEnabled(enabled) - + enabled = bool(self.applicationComboBox.currentText()) and bool( + self.endMigrationComboBox.currentText() + ) + self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enabled) + @pyqtSlot(str) def on_applicationComboBox_activated(self, app): """ Private slot to update the migrations combo boxes. - + @param app name of the selected application @type str """ self.startMigrationComboBox.clear() self.endMigrationComboBox.clear() if app: - for combo in [self.startMigrationComboBox, - self.endMigrationComboBox]: + for combo in [self.startMigrationComboBox, self.endMigrationComboBox]: combo.addItem("") for applied, migration in self.__migrations[app]: if applied: @@ -81,36 +82,36 @@ else: combo.addItem(migration) self.__updateOkButton() - + @pyqtSlot(str) def on_endMigrationComboBox_activated(self, migration): """ Private slot handling the selection of a migration. - + @param migration name of the selected migration @type str """ self.__updateOkButton() - + def getData(self): """ Public method to retrieve the data entered by the user. - + @return tuple containing the selected app, the start migration, the end migration and a flag indicating no optimization is wanted @rtype tuple of three str and a bool """ startMigration = ( self.startMigrationComboBox.currentText() - if self.startMigrationComboBox.isEnabled() else - "" + if self.startMigrationComboBox.isEnabled() + else "" ) name = self.nameEdit.text() if self.nameEdit.isEnabled() else "" - + return ( self.applicationComboBox.currentText(), startMigration, self.endMigrationComboBox.currentText(), self.noOptimizeCheckBox.isChecked(), - name + name, )