eric7/Project/ProjectFile.py

Wed, 13 Apr 2022 15:13:59 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Apr 2022 15:13:59 +0200
branch
eric7
changeset 9023
5c6e160faa32
parent 8881
54e42bc2437a
permissions
-rw-r--r--

Changed project file writer to sort the file lists.

8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8358
diff changeset
3 # Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a class representing the project JSON file.
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9023
5c6e160faa32 Changed project file writer to sort the file lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
10 import contextlib
5c6e160faa32 Changed project file writer to sort the file lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
11 import copy
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import json
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 import time
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 import typing
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
16 from PyQt6.QtCore import QObject
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
8358
144a6b854f70 Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8356
diff changeset
18 from EricWidgets import EricMessageBox
144a6b854f70 Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8356
diff changeset
19 from EricGui.EricOverrideCursor import EricOverridenCursor
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 import Preferences
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
22 import Utilities
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
8015
09b24828d787 Cprrected the use of the typing module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8012
diff changeset
24 Project = typing.TypeVar("Project")
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 class ProjectFile(QObject):
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 Class representing the project JSON file.
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 def __init__(self, project: Project, parent: QObject = None):
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Constructor
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 @param project reference to the project object
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @type Project
8016
e484fc67677e Corrected some code documentation strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8015
diff changeset
37 @param parent reference to the parent object (defaults to None)
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 @type QObject (optional)
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8125
diff changeset
40 super().__init__(parent)
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.__project = project
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 def writeFile(self, filename: str) -> bool:
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 Public method to write the project data to a project JSON file.
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 @param filename name of the project file
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 @type str
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @return flag indicating a successful write
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @rtype bool
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 projectDict = {}
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 projectDict["header"] = {
8012
ecf45f723038 Several corrections to the JSON file handlers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8006
diff changeset
54 "comment": "eric project file for project {0}".format(
ecf45f723038 Several corrections to the JSON file handlers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8006
diff changeset
55 self.__project.getProjectName()),
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 "copyright": "Copyright (C) {0} {1}, {2}".format(
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 time.strftime('%Y'),
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.__project.pdata["AUTHOR"],
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.__project.pdata["EMAIL"])
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 }
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
8031
ce5858a237d2 Changed the Project and MultiProject configuration option "XMLTimestamp" to "TimestampFile". A configuration check is suggested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8016
diff changeset
62 if Preferences.getProject("TimestampFile"):
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 projectDict["header"]["saved"] = (
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 time.strftime('%Y-%m-%d, %H:%M:%S')
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 )
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66
9023
5c6e160faa32 Changed project file writer to sort the file lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
67 projectDict["project"] = copy.deepcopy(self.__project.pdata)
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
69 # modify paths to contain universal separators
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
70 for key in (
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
71 "SOURCES", "FORMS", "TRANSLATIONS", "TRANSLATIONEXCEPTIONS",
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
72 "RESOURCES", "INTERFACES", "PROTOCOLS", "OTHERS"
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
73 ):
8240
93b8a353c4bf Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
74 with contextlib.suppress(KeyError):
9023
5c6e160faa32 Changed project file writer to sort the file lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
75 projectDict["project"][key] = sorted([
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
76 Utilities.fromNativeSeparators(f)
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
77 for f in projectDict["project"][key]
9023
5c6e160faa32 Changed project file writer to sort the file lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
78 ])
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
79 for key in (
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
80 "SPELLWORDS", "SPELLEXCLUDES", "TRANSLATIONPATTERN",
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
81 "TRANSLATIONSBINPATH", "MAINSCRIPT"
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
82 ):
8240
93b8a353c4bf Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
83 with contextlib.suppress(KeyError):
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
84 projectDict["project"][key] = Utilities.fromNativeSeparators(
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
85 projectDict["project"][key])
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
86
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 try:
8125
9e789fa8f38e Saving the project file with sorted dictionary keys to get more stability into it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8107
diff changeset
88 jsonString = json.dumps(projectDict, indent=2, sort_keys=True)
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
89 with open(filename, "w", newline="") as f:
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 f.write(jsonString)
8240
93b8a353c4bf Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
91 except (TypeError, OSError) as err:
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
92 with EricOverridenCursor():
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
93 EricMessageBox.critical(
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 None,
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 self.tr("Save Project File"),
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 self.tr(
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 "<p>The project file <b>{0}</b> could not be "
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 "written.</p><p>Reason: {1}</p>"
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 ).format(filename, str(err))
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 )
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 return False
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 return True
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 def readFile(self, filename: str) -> bool:
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 Public method to read the project data from a project JSON file.
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 @param filename name of the project file
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 @type str
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 @return flag indicating a successful read
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 @rtype bool
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 """
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 try:
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 with open(filename, "r") as f:
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 jsonString = f.read()
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 projectDict = json.loads(jsonString)
8240
93b8a353c4bf Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
118 except (OSError, json.JSONDecodeError) as err:
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
119 EricMessageBox.critical(
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 None,
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 self.tr("Read Project File"),
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.tr(
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 "<p>The project file <b>{0}</b> could not be "
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 "read.</p><p>Reason: {1}</p>"
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 ).format(filename, str(err))
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 )
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 return False
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
129 # modify paths to contain native separators
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
130 for key in (
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
131 "SOURCES", "FORMS", "TRANSLATIONS", "TRANSLATIONEXCEPTIONS",
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
132 "RESOURCES", "INTERFACES", "PROTOCOLS", "OTHERS"
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
133 ):
8240
93b8a353c4bf Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
134 with contextlib.suppress(KeyError):
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
135 projectDict["project"][key] = [
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
136 Utilities.toNativeSeparators(f)
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
137 for f in projectDict["project"][key]
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
138 ]
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
139 for key in (
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
140 "SPELLWORDS", "SPELLEXCLUDES", "TRANSLATIONPATTERN",
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
141 "TRANSLATIONSBINPATH", "MAINSCRIPT"
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
142 ):
8240
93b8a353c4bf Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
143 with contextlib.suppress(KeyError):
8107
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
144 projectDict["project"][key] = Utilities.toNativeSeparators(
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
145 projectDict["project"][key])
7d3932bde11b ProjectFile: changed paths handling to work with different platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8031
diff changeset
146
8006
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 self.__project.pdata = projectDict["project"]
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148
c4110b8b5931 Started converting the various file generators to JSON format (from XML).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 return True

eric ide

mercurial