ProjectFlask/Project.py

changeset 6
d491ccab7343
parent 4
e164b9ad3819
child 7
a140b2a8ba93
--- a/ProjectFlask/Project.py	Tue Nov 10 19:38:00 2020 +0100
+++ b/ProjectFlask/Project.py	Wed Nov 11 20:03:21 2020 +0100
@@ -85,6 +85,20 @@
         self.runServerAct.triggered.connect(self.__runServer)
         self.actions.append(self.runServerAct)
         
+        self.runDevServerAct = E5Action(
+            self.tr('Run Development Server'),
+            self.tr('Run &Development Server'),
+            0, 0,
+            self, 'flask_run_dev_server')
+        self.runDevServerAct.setStatusTip(self.tr(
+            'Starts the Flask Web server in development mode'))
+        self.runDevServerAct.setWhatsThis(self.tr(
+            """<b>Run Development Server</b>"""
+            """<p>Starts the Flask Web server in development mode.</p>"""
+        ))
+        self.runDevServerAct.triggered.connect(self.__runDevelopmentServer)
+        self.actions.append(self.runDevServerAct)
+        
         ##################################
         ## documentation action below   ##
         ##################################
@@ -134,6 +148,7 @@
         menu.setTearOffEnabled(True)
         
         menu.addAction(self.runServerAct)
+        menu.addAction(self.runDevServerAct)
         menu.addSeparator()
         menu.addAction(self.documentationAct)
         menu.addSeparator()
@@ -175,6 +190,8 @@
         """
         Public method to handle the closing of a project.
         """
+        if self.__serverDialog is not None:
+            self.__serverDialog.close()
 ##        if self.__serverProc is not None:
 ##            self.__serverProcFinished()
     
@@ -384,32 +401,30 @@
     ## slots below implement run functions
     ##################################################################
     
-    # TODO: does the flask server support logging?
-    def __runServer(self, logging=False):
+    @pyqtSlot()
+    def __runServer(self, development=False):
         """
         Private slot to start the Flask Web server.
         
-        @param logging flag indicating to enable logging
+        @param development flag indicating development mode
         @type bool
         """
-        # TODO: implement this (flask run)
-        workdir, env = self.prepareRuntimeEnvironment()
-        if env is not None:
-            cmd = self.getFlaskCommand()
-            
-            dlg = RunServerDialog()
-            if dlg.startServer(cmd, workdir, env):
-                dlg.show()
-                self.__serverDialog = dlg
+        if self.__serverDialog is not None:
+            self.__serverDialog.close()
+        
+        dlg = RunServerDialog(self.__plugin)
+        if dlg.startServer(self, development=development):
+            dlg.show()
+            self.__serverDialog = dlg
     
-    def __runDevelopmentServer(self, logging=False):
+    @pyqtSlot()
+    def __runDevelopmentServer(self):
         """
         Private slot to start the Flask Web server in development mode.
-        
-        @param logging flag indicating to enable logging
-        @type bool
         """
-        # TODO: implement this (flask run with FLASK_ENV=development)
+        self.__runServer(development=True)
+    
+    # TODO: add method to start a server with parameters
     
 ##    def __serverProcFinished(self):
 ##        """

eric ide

mercurial