--- a/ProjectFlask/Project.py Tue Nov 24 18:03:40 2020 +0100 +++ b/ProjectFlask/Project.py Tue Nov 24 19:23:28 2020 +0100 @@ -23,12 +23,10 @@ import UI.PixmapCache import Utilities -from .FlaskCommandDialog import FlaskCommandDialog - from .FlaskBabelExtension.PyBabelProjectExtension import PyBabelProject +from .FlaskMigrateExtension.MigrateProjectExtension import MigrateProject -# TODO: move database related code to a separate package (FlaskMigrateExtension) class Project(QObject): """ Class implementing the Flask project support. @@ -76,6 +74,7 @@ self.__capabilities = {} self.__pybabelProject = PyBabelProject(self.__plugin, self, self) + self.__migrateProject = MigrateProject(self.__plugin, self, self) def initActions(self): """ @@ -168,26 +167,6 @@ self.actions.append(self.showRoutesAct) ################################## - ## database action below ## - ################################## - - # TODO: replace this with 'flask-migrate' - self.initDatabaseAct = E5Action( - self.tr('Initialize Database'), - self.tr('&Initialize Database'), - 0, 0, - self, 'flask_init_database') - self.initDatabaseAct.setStatusTip(self.tr( - 'Shows a dialog with the result of the database creation')) - self.initDatabaseAct.setWhatsThis(self.tr( - """<b>Initialize Database</b>""" - """<p>Shows a dialog with the result of the database""" - """ creation.</p>""" - )) - self.initDatabaseAct.triggered.connect(self.__initDatabase) - self.actions.append(self.initDatabaseAct) - - ################################## ## documentation action below ## ################################## @@ -224,6 +203,7 @@ self.actions.append(self.aboutFlaskAct) self.__pybabelProject.initActions() + self.__migrateProject.initActions() def initMenu(self): """ @@ -235,6 +215,7 @@ self.__menus = {} # clear menus references self.__menus["pybabel"] = self.__pybabelProject.initMenu() + self.__menus["migrate"] = self.__migrateProject.initMenu() menu = QMenu(self.tr('&Flask'), self.__ui) menu.setTearOffEnabled(True) @@ -247,7 +228,7 @@ menu.addSeparator() menu.addAction(self.showRoutesAct) menu.addSeparator() - menu.addAction(self.initDatabaseAct) + menu.addMenu(self.__menus["migrate"]) menu.addSeparator() menu.addMenu(self.__menus["pybabel"]) menu.addSeparator() @@ -659,7 +640,7 @@ self.__pybabelProject.determineCapability() # 2. support for flask-migrate - # TODO: add support for flask-migrate + self.__migrateProject.determineCapability() def hasCapability(self, key): """ @@ -808,13 +789,3 @@ if dlg.showRoutes(): dlg.show() self.__routesDialog = dlg - - # TODO: replace this by commands made by flask-migrate (flask db ...) - @pyqtSlot() - def __initDatabase(self): - """ - Private slot showing the result of the database creation. - """ - dlg = FlaskCommandDialog(self) - if dlg.startCommand("init-db"): - dlg.exec()