ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py

changeset 48
14d8d24e24da
parent 47
144b67fd111a
child 60
02243723ac17
diff -r 144b67fd111a -r 14d8d24e24da ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py
--- a/ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py	Tue Dec 01 20:22:23 2020 +0100
+++ b/ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py	Wed Dec 02 19:54:18 2020 +0100
@@ -242,13 +242,21 @@
         """
         Public method to determine the availability of flask-migrate.
         """
-        available = self.__flaskMigrateAvailable()
+        if self.__project.getData("flask", "flask_migrate_override"):
+            available = self.__project.getData("flask",
+                                               "flask_migrate_available")
+        else:
+            available = self.__flaskMigrateAvailable()
         self.__project.setCapability("flask-migrate", available)
         
-        self.migrateConfigAct.setEnabled(available)
         self.migrateInstallAct.setEnabled(not available)
         
-        self.migrateInitAct.setEnabled(available)
+        for act in (self.migrateConfigAct, self.migrateInitAct,
+                    self.migrateCreateAct,
+                    self.upgradeDatabaseAct, self.downgradeDatabaseAct,
+                    self.migrationSummaryAct, self.migrationHistoryAct,
+        ):
+            act.setEnabled(available)
     
     def __flaskMigrateAvailable(self):
         """
@@ -342,13 +350,7 @@
         Private slot to install the flask-migrate extension into the configured
         environment.
         """
-        # TODO: get interpreter from self.__project
-        language = e5App().getObject("Project").getProjectLanguage()
-        if language == "Python3":
-            venvName = self.__plugin.getPreferences(
-                "VirtualEnvironmentNamePy3")
-        else:
-            venvName = ""
+        venvName = self.__project.getVirtualEnvironment()
         if venvName:
             interpreter = self.__project.getFullCommand("python")
             pip = e5App().getObject("Pip")

eric ide

mercurial