src/eric7/VirtualEnv/VirtualenvAddEditDialog.py

branch
eric7
changeset 10931
56f41b1e163a
parent 10765
b0632e55ec9a
child 10933
95a15b70f7bb
diff -r 5a883e68aa35 -r 56f41b1e163a src/eric7/VirtualEnv/VirtualenvAddEditDialog.py
--- a/src/eric7/VirtualEnv/VirtualenvAddEditDialog.py	Fri Sep 27 10:28:32 2024 +0200
+++ b/src/eric7/VirtualEnv/VirtualenvAddEditDialog.py	Fri Sep 27 10:59:59 2024 +0200
@@ -51,8 +51,12 @@
         self.__venvName = "" if metadata is None else metadata.name
         self.__manager = manager
         self.__editMode = bool(self.__venvName)
-        self.__serverInterface = ericApp().getObject("EricServer")
-        self.__fsInterface = self.__serverInterface.getServiceInterface("FileSystem")
+        try:
+            self.__serverInterface = ericApp().getObject("EricServer")
+            self.__fsInterface = self.__serverInterface.getServiceInterface("FileSystem")
+        except KeyError:
+            self.__serverInterface = None
+            self.__fsInterface = None
 
         if self.__editMode:
             self.setWindowTitle(self.tr("Edit Virtual Environment"))
@@ -63,13 +67,19 @@
         if not self.__envBaseDir:
             self.__envBaseDir = OSUtilities.getHomeDir()
 
-        self.serverRadioButton.setEnabled(self.__serverInterface.isServerConnected())
+        self.serverRadioButton.setEnabled(
+            self.__serverInterface is not None
+            and self.__serverInterface.isServerConnected()
+        )
 
         self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
         self.targetDirectoryPicker.setWindowTitle(
             self.tr("Virtualenv Target Directory")
         )
-        if self.__serverInterface.isServerConnected():
+        if (
+            self.__serverInterface is not None
+            and self.__serverInterface.isServerConnected()
+        ):
             self.targetDirectoryPicker.setRemote(
                 metadata.is_eric_server if metadata else False
             )
@@ -78,7 +88,10 @@
 
         self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
         self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter"))
-        if self.__serverInterface.isServerConnected():
+        if (
+            self.__serverInterface is not None
+            and self.__serverInterface.isServerConnected()
+        ):
             self.pythonExecPicker.setRemote(
                 metadata.is_eric_server if metadata else False
             )
@@ -163,6 +176,7 @@
                 and (
                     (
                         self.serverRadioButton.isChecked()
+                        and self.__fsInterface is not None
                         and self.__fsInterface.exists(self.targetDirectoryPicker.text())
                     )
                     or (
@@ -177,6 +191,7 @@
             and (
                 (
                     self.serverRadioButton.isChecked()
+                    and self.__fsInterface is not None
                     and self.__fsInterface.access(
                         self.pythonExecPicker.text(), "execute"
                     )
@@ -283,7 +298,10 @@
         @param checked state of the radio button
         @type bool
         """
-        if self.__serverInterface.isServerConnected():
+        if (
+            self.__serverInterface is not None
+            and self.__serverInterface.isServerConnected()
+        ):
             self.targetDirectoryPicker.setRemote(checked)
             self.pythonExecPicker.setRemote(checked)
             self.serverLineEdit.setText(

eric ide

mercurial