ProjectFlask/FlaskMigrateExtension/MigrateProjectExtension.py

changeset 48
14d8d24e24da
parent 47
144b67fd111a
child 60
02243723ac17
equal deleted inserted replaced
47:144b67fd111a 48:14d8d24e24da
240 240
241 def determineCapability(self): 241 def determineCapability(self):
242 """ 242 """
243 Public method to determine the availability of flask-migrate. 243 Public method to determine the availability of flask-migrate.
244 """ 244 """
245 available = self.__flaskMigrateAvailable() 245 if self.__project.getData("flask", "flask_migrate_override"):
246 available = self.__project.getData("flask",
247 "flask_migrate_available")
248 else:
249 available = self.__flaskMigrateAvailable()
246 self.__project.setCapability("flask-migrate", available) 250 self.__project.setCapability("flask-migrate", available)
247 251
248 self.migrateConfigAct.setEnabled(available)
249 self.migrateInstallAct.setEnabled(not available) 252 self.migrateInstallAct.setEnabled(not available)
250 253
251 self.migrateInitAct.setEnabled(available) 254 for act in (self.migrateConfigAct, self.migrateInitAct,
255 self.migrateCreateAct,
256 self.upgradeDatabaseAct, self.downgradeDatabaseAct,
257 self.migrationSummaryAct, self.migrationHistoryAct,
258 ):
259 act.setEnabled(available)
252 260
253 def __flaskMigrateAvailable(self): 261 def __flaskMigrateAvailable(self):
254 """ 262 """
255 Private method to check, if the 'flask-babel' package is available. 263 Private method to check, if the 'flask-babel' package is available.
256 264
340 def __installFlaskMigrate(self): 348 def __installFlaskMigrate(self):
341 """ 349 """
342 Private slot to install the flask-migrate extension into the configured 350 Private slot to install the flask-migrate extension into the configured
343 environment. 351 environment.
344 """ 352 """
345 # TODO: get interpreter from self.__project 353 venvName = self.__project.getVirtualEnvironment()
346 language = e5App().getObject("Project").getProjectLanguage()
347 if language == "Python3":
348 venvName = self.__plugin.getPreferences(
349 "VirtualEnvironmentNamePy3")
350 else:
351 venvName = ""
352 if venvName: 354 if venvName:
353 interpreter = self.__project.getFullCommand("python") 355 interpreter = self.__project.getFullCommand("python")
354 pip = e5App().getObject("Pip") 356 pip = e5App().getObject("Pip")
355 pip.installPackages(["flask-migrate"], interpreter=interpreter) 357 pip.installPackages(["flask-migrate"], interpreter=interpreter)
356 self.determineCapability() 358 self.determineCapability()

eric ide

mercurial