Changed some code to no longer access the project pdata structure directly. eric7

Wed, 16 Nov 2022 09:37:57 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 16 Nov 2022 09:37:57 +0100
branch
eric7
changeset 74
5dacf5caf3a3
parent 73
a4ba4554e100
child 75
7a30d96ea9f6

Changed some code to no longer access the project pdata structure directly.

PluginProjectFlask.py file | annotate | diff | comparison | revisions
ProjectFlask/Project.py file | annotate | diff | comparison | revisions
--- a/PluginProjectFlask.py	Tue Oct 25 10:07:41 2022 +0200
+++ b/PluginProjectFlask.py	Wed Nov 16 09:37:57 2022 +0100
@@ -25,7 +25,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "10.1.0"
+version = "10.2.0"
 className = "ProjectFlaskPlugin"
 packageName = "ProjectFlask"
 shortDescription = "Project support for Flask projects."
--- a/ProjectFlask/Project.py	Tue Oct 25 10:07:41 2022 +0200
+++ b/ProjectFlask/Project.py	Wed Nov 16 09:37:57 2022 +0100
@@ -799,9 +799,18 @@
                 relVirtenvPath = self.__ericProject.getRelativeUniversalPath(
                     virtenvPath
                 )
-                if relVirtenvPath not in self.__ericProject.pdata["FILETYPES"]:
-                    self.__ericProject.pdata["FILETYPES"][relVirtenvPath] = "__IGNORE__"
-                    self.__ericProject.setDirty(True)
+                try:
+                    # code path for eric 22.12 and above
+                    fileTypes = self.__ericProject.getProjectData(dataKey="FILETYPES")
+                    fileTypes[relVirtenvPath] = "__IGNORE__"
+                    self.__ericProject.setProjectData(fileTypes, dataKey="FILETYPES")
+                except AttributeError:
+                    # older versions access pdata directly
+                    if relVirtenvPath not in self.__ericProject.pdata["FILETYPES"]:
+                        self.__ericProject.pdata["FILETYPES"][
+                            relVirtenvPath
+                        ] = "__IGNORE__"
+                        self.__ericProject.setDirty(True)
 
     def __setDebugEnvironment(self):
         """

eric ide

mercurial