PluginProjectPyramid.py

Tue, 10 Dec 2024 15:49:00 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 10 Dec 2024 15:49:00 +0100
branch
eric7
changeset 171
4a8bf0845603
parent 169
0405f4f83719
permissions
-rw-r--r--

Updated copyright for 2025.

2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
1 # -*- coding: utf-8 -*-
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
2
171
4a8bf0845603 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3 # Copyright (c) 2012 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
4 #
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
5
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
6 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
7 Module implementing the Pyramid project plugin.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
8 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
9
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
10 import fnmatch
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
11 import glob
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
12 import os
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
13
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
14 from PyQt6.QtCore import QCoreApplication, QObject, QTranslator
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
15
160
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
16 from eric7 import Preferences
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
17 from eric7.EricWidgets.EricApplication import ericApp
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
18
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
19 try:
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
20 from eric7.SystemUtilities.OSUtilities import isMacPlatform, isWindowsPlatform
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
21 except ImportError:
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
22 # imports for eric < 23.1
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
23 from eric7.Globals import isWindowsPlatform, isMacPlatform
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
24
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
25 from ProjectPyramid.Project import Project
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
26
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
27 # Start-of-Header
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
28 __header__ = {
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
29 "name": "Pyramid Project Plugin",
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
30 "author": "Detlev Offenbach <detlev@die-offenbachs.de>",
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
31 "autoactivate": True,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
32 "deactivateable": True,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
33 "version": "10.4.0",
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
34 "className": "ProjectPyramidPlugin",
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
35 "packageName": "ProjectPyramid",
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
36 "shortDescription": "Project support for Pyramid projects.",
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
37 "longDescription": "This plugin implements project support for Pyramid projects.",
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
38 "needsRestart": False,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
39 "hasCompiledForms": True,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
40 "pyqtApi": 2,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
41 }
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
42 # End-of-Header
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
43
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
44 error = ""
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
45
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
46 pyramidPluginObject = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
47
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
48
168
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
49 def createPyramidPage(configDlg): # noqa: U100
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
50 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
51 Module function to create the Pyramid configuration page.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
52
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
53 @param configDlg reference to the configuration dialog
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
54 @type ConfigurationWidget
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
55 @return reference to the configuration page
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
56 @rtype PyramidPage
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
57 """
168
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
58 from ProjectPyramid.ConfigurationPage.PyramidPage import PyramidPage
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
59
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
60 global pyramidPluginObject
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
61
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
62 return PyramidPage(pyramidPluginObject)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
63
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
64
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
65 def getConfigData():
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
66 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
67 Module function returning data as required by the configuration dialog.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
68
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
69 @return dictionary containing the relevant data
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
70 @rtype dict
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
71 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
72 usesDarkPalette = ericApp().usesDarkPalette()
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
73 iconSuffix = "dark" if usesDarkPalette else "light"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
74
110
15cfc3c1dd1b Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
75 return {
15cfc3c1dd1b Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
76 "pyramidPage": [
15cfc3c1dd1b Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
77 QCoreApplication.translate("ProjectPyramidPlugin", "Pyramid"),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
78 os.path.join("ProjectPyramid", "icons", "pyramid-{0}".format(iconSuffix)),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
79 createPyramidPage,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
80 None,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
81 None,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
82 ],
110
15cfc3c1dd1b Removed the outdated check for the correct eric version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
83 }
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
84
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
85
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
86 def apiFiles(language):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
87 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
88 Module function to return the API files made available by this plugin.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
89
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
90 @param language language to get APIs for
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
91 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
92 @return list of API filenames
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
93 @rtype list of str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
94 """
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
95 if language == "Python3":
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
96 apisDir = os.path.join(os.path.dirname(__file__), "ProjectPyramid", "APIs")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
97 return glob.glob(os.path.join(apisDir, "*.api"))
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
98 else:
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
99 return []
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
100
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
101
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
102 def prepareUninstall():
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
103 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
104 Module function to prepare for an uninstallation.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
105 """
162
c044d1dd8116 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
106 try:
c044d1dd8116 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
107 Preferences.removeProjectBrowsers(ProjectPyramidPlugin.PreferencesKey)
c044d1dd8116 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
108 except AttributeError:
c044d1dd8116 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
109 # backward compatibility for eric7 < 22.12
c044d1dd8116 Adapted to the project browser changes as of eric 22.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
110 Preferences.removeProjectBrowserFlags(ProjectPyramidPlugin.PreferencesKey)
25
2dd3d1cf573a Fixed a bug related to uninstalling the plug-in via the external plug-in uninstaller.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 22
diff changeset
111 Preferences.Prefs.settings.remove(ProjectPyramidPlugin.PreferencesKey)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
112
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
113
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
114 class ProjectPyramidPlugin(QObject):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
115 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
116 Class implementing the Pyramid project plugin.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
117 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
118
25
2dd3d1cf573a Fixed a bug related to uninstalling the plug-in via the external plug-in uninstaller.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 22
diff changeset
119 PreferencesKey = "Pyramid"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
120
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
121 lexerAssociations = {
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
122 "*.mako": "Pygments|HTML+Mako",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
123 "*.pt": "Pygments|HTML+Genshi",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
124 "*.txt": "Pygments|Genshi",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
125 "*.html": "Pygments|HTML+Genshi",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
126 "*.htm": "Pygments|HTML+Genshi",
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
127 }
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
128
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
129 def __init__(self, ui):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
130 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
131 Constructor
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
132
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
133 @param ui reference to the user interface object
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
134 @type UserInterface
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
135 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
136 QObject.__init__(self, ui)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
137 self.__ui = ui
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
138 self.__initialize()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
139
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
140 self.__defaults = {
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
141 "VirtualEnvironmentNamePy3": "",
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
142 "Python3ConsoleType": "python",
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
143 "PyramidDocUrl": "http://docs.pylonsproject.org/projects/"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
144 "pyramid/en/latest/index.html",
48
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
145 "TranslationsEditor": "",
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
146 "UseExternalBrowser": False,
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
147 }
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
148 if isWindowsPlatform():
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
149 self.__defaults["ConsoleCommand"] = "cmd.exe /c"
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
150 elif isMacPlatform():
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
151 self.__defaults["ConsoleCommand"] = "xterm -e"
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
152 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
153 self.__defaults["ConsoleCommand"] = "konsole -e"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
154
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
155 self.__translator = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
156 self.__loadTranslator()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
157
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
158 def __initialize(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
159 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
160 Private slot to (re)initialize the plugin.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
161 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
162 self.__object = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
163
127
5e8519ee5565 PluginProjectPyramid: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 126
diff changeset
164 self.__mainMenu = None
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
165 self.__mainAct = None
127
5e8519ee5565 PluginProjectPyramid: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 126
diff changeset
166 self.__separatorAct = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
167
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
168 self.__ericProject = ericApp().getObject("Project")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
169
44
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
170 self.__supportedVariants = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
171
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
172 def activate(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
173 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
174 Public method to activate this plugin.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
175
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
176 @return tuple of None and activation status
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
177 @rtype (None, bool)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
178 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
179 global pyramidPluginObject
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
180 pyramidPluginObject = self
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
181
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
182 usesDarkPalette = ericApp().usesDarkPalette()
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
183 iconSuffix = "dark" if usesDarkPalette else "light"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
184
136
5673d6bb4c2a Fixed a severe oversight.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
185 self.__object = Project(self, iconSuffix, self.__ui)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
186 self.__object.initActions()
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
187 ericApp().registerPluginObject("ProjectPyramid", self.__object)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
188
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
189 self.__mainMenu = self.__object.initMenu()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
190
44
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
191 self.__supportedVariants = self.__object.supportedPythonVariants()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
192
44
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
193 if self.__supportedVariants:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
194 self.__ericProject.registerProjectType(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
195 "Pyramid",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
196 self.tr("Pyramid"),
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
197 self.fileTypesCallback,
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
198 lexerAssociationCallback=self.lexerAssociationCallback,
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
199 binaryTranslationsCallback=self.binaryTranslationsCallback,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
200 progLanguages=self.__supportedVariants[:],
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
201 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
202
168
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
203 Preferences.setProjectBrowsersDefault(
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
204 "Pyramid",
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
205 ("sources", "forms", "translations", "others"),
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
206 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
207
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
208 if self.__ericProject.isOpen():
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
209 self.__projectOpened()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
210 self.__object.projectOpenedHooks()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
211
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
212 ericApp().getObject("Project").projectOpened.connect(self.__projectOpened)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
213 ericApp().getObject("Project").projectClosed.connect(self.__projectClosed)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
214 ericApp().getObject("Project").newProject.connect(self.__projectOpened)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
215
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
216 ericApp().getObject("Project").projectOpenedHooks.connect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
217 self.__object.projectOpenedHooks
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
218 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
219 ericApp().getObject("Project").projectClosedHooks.connect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
220 self.__object.projectClosedHooks
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
221 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
222 ericApp().getObject("Project").newProjectHooks.connect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
223 self.__object.projectOpenedHooks
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
224 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
225
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
226 return None, True
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
227
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
228 def deactivate(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
229 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
230 Public method to deactivate this plugin.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
231 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
232 ericApp().unregisterPluginObject("ProjectPyramid")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
233
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
234 ericApp().getObject("Project").projectOpened.disconnect(self.__projectOpened)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
235 ericApp().getObject("Project").projectClosed.disconnect(self.__projectClosed)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
236 ericApp().getObject("Project").newProject.disconnect(self.__projectOpened)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
237
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
238 ericApp().getObject("Project").projectOpenedHooks.disconnect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
239 self.__object.projectOpenedHooks
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
240 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
241 ericApp().getObject("Project").projectClosedHooks.disconnect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
242 self.__object.projectClosedHooks
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
243 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
244 ericApp().getObject("Project").newProjectHooks.disconnect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
245 self.__object.projectOpenedHooks
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
246 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
247
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
248 self.__ericProject.unregisterProjectType("Pyramid")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
249
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
250 self.__object.projectClosedHooks()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
251 self.__projectClosed()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
252
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
253 self.__initialize()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
254
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
255 def __loadTranslator(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
256 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
257 Private method to load the translation file.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
258 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
259 if self.__ui is not None:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
260 loc = self.__ui.getLocale()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
261 if loc and loc != "C":
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
262 locale_dir = os.path.join(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
263 os.path.dirname(__file__), "ProjectPyramid", "i18n"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
264 )
91
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
265 translation = "pyramid_{0}".format(loc)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
266 translator = QTranslator(None)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
267 loaded = translator.load(translation, locale_dir)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
268 if loaded:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
269 self.__translator = translator
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
270 ericApp().installTranslator(self.__translator)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
271 else:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
272 print( # __IGNORE_WARNING__
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
273 "Warning: translation file '{0}' could not be loaded.".format(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
274 translation
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
275 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
276 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
277 print("Using default.") # __IGNORE_WARNING__
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
278
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
279 def __projectOpened(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
280 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
281 Private slot to handle the projectOpened signal.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
282 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
283 if self.__ericProject.getProjectType() == "Pyramid":
127
5e8519ee5565 PluginProjectPyramid: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 126
diff changeset
284 projectToolsMenu = self.__ui.getMenu("project_tools")
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
285 insertBeforeAct = projectToolsMenu.actions()[0]
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
286 self.__mainAct = projectToolsMenu.insertMenu(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
287 insertBeforeAct, self.__mainMenu
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
288 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
289 self.__separatorAct = projectToolsMenu.insertSeparator(insertBeforeAct)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
290
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
291 def __projectClosed(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
292 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
293 Private slot to handle the projectClosed signal.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
294 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
295 if self.__mainAct is not None:
127
5e8519ee5565 PluginProjectPyramid: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 126
diff changeset
296 projectToolsMenu = self.__ui.getMenu("project_tools")
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
297 projectToolsMenu.removeAction(self.__separatorAct)
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
298 projectToolsMenu.removeAction(self.__mainAct)
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
299 self.__mainAct = None
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
300 self.__separatorAct = None
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
301 self.__object.projectClosed()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
302
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
303 def fileTypesCallback(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
304 """
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
305 Public method get the filetype associations of the Pyramid project
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
306 type.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
307
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
308 @return dictionary with file type associations
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
309 @rtype dict
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
310 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
311 if self.__ericProject.getProjectType() == "Pyramid":
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
312 return {
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
313 "*.mako": "FORMS",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
314 "*.mak": "FORMS",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
315 "*.pt": "FORMS",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
316 "*.html": "FORMS",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
317 "*.htm": "FORMS",
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
318 "*.js": "SOURCES",
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
319 "*.pot": "TRANSLATIONS",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
320 "*.po": "TRANSLATIONS",
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
321 "*.mo": "TRANSLATIONS",
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
322 }
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
323 else:
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
324 return {}
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
325
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
326 def lexerAssociationCallback(self, filename):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
327 """
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
328 Public method to get the lexer association of the Pyramid project type
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
329 for a file.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
330
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
331 @param filename name of the file
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
332 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
333 @return name of the lexer (Pygments lexers are prefixed with
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
334 'Pygments|')
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
335 @rtype str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
336 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
337 for pattern, language in self.lexerAssociations.items():
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
338 if fnmatch.fnmatch(filename, pattern):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
339 return language
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
340
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
341 return ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
342
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
343 def binaryTranslationsCallback(self, filename):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
344 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
345 Public method to determine the filename of a compiled translation file
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
346 given the translation source file.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
347
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
348 @param filename name of the translation source file
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
349 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
350 @return name of the binary translation file
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
351 @rtype str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
352 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
353 if filename.endswith(".po"):
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
354 return filename.replace(".po", ".mo")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
355
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
356 return filename
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
357
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
358 def getDefaultPreference(self, key):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
359 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
360 Public method to get the default value for a setting.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
361
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
362 @param key key of the value to get
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
363 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
364 @return value of the requested setting
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
365 @rtype Any
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
366 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
367 return self.__defaults[key]
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
368
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
369 def getPreferences(self, key):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
370 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
371 Public method to retrieve the various settings.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
372
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
373 @param key key of the value to get
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
374 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
375 @return value of the requested setting
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
376 @rtype Any
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
377 """
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
378 if key in ["UseExternalBrowser"]:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
379 return Preferences.toBool(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
380 Preferences.Prefs.settings.value(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
381 self.PreferencesKey + "/" + key, self.__defaults[key]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
382 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
383 )
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
384 else:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 93
diff changeset
385 return Preferences.Prefs.settings.value(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
386 self.PreferencesKey + "/" + key, self.__defaults[key]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
387 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
388
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
389 def setPreferences(self, key, value):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
390 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
391 Public method to store the various settings.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
392
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
393 @param key key of the setting to be set
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
394 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
395 @param value value to be set
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
396 @type Any
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
397 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
398 Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
399
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 136
diff changeset
400 if key in ["VirtualEnvironmentNamePy3"]:
44
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
401 self.__reregisterProjectType()
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
402 elif key == "TranslationsEditor" and self.__object:
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
403 self.__object.registerOpenHook()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
404
44
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
405 def __reregisterProjectType(self):
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
406 """
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
407 Private method to re-register the project type.
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
408 """
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
409 supportedVariants = self.__object.supportedPythonVariants()
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
410 if supportedVariants != self.__supportedVariants:
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
411 # step 1: unregister
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
412 self.__ericProject.unregisterProjectType("Pyramid")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
413
44
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
414 # step 2: register again with new language settings
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
415 self.__supportedVariants = supportedVariants
989c961c33ab Extended the Python variant detection to only offer the Pyramid project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 39
diff changeset
416 if self.__supportedVariants:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
417 self.__ericProject.registerProjectType(
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
418 "Pyramid",
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
419 self.tr("Pyramid"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
420 self.fileTypesCallback,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
421 lexerAssociationCallback=self.lexerAssociationCallback,
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
422 binaryTranslationsCallback=self.binaryTranslationsCallback,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
423 progLanguages=self.__supportedVariants[:],
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
424 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
425
64
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
426 def getMenu(self, name):
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
427 """
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
428 Public method to get a reference to the requested menu.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
429
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
430 @param name name of the menu
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
431 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
432 @return reference to the menu or None, if no menu with the given
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
433 name exists
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
434 @rtype QMenu
64
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
435 """
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
436 if self.__object is not None:
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
437 return self.__object.getMenu(name)
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
438 else:
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
439 return None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
440
64
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
441 def getMenuNames(self):
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
442 """
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
443 Public method to get the names of all menus.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
444
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
445 @return menu names
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
446 @rtype list of str
64
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
447 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
448 if self.__object is not None:
64
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
449 return list(self.__menus.keys())
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
450 else:
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
451 return []
148
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
452
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
453
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
454 def installDependencies(pipInstall):
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
455 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
456 Function to install dependencies of this plug-in.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
457
148
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
458 @param pipInstall function to be called with a list of package names.
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
459 @type function
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
460 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
461 try:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 157
diff changeset
462 import cookiecutter # __IGNORE_WARNING__
148
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
463 except ImportError:
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
464 pipInstall(["cookiecutter"])
168
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
465
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
466
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
467 #
fee59283137b Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
468 # eflag: noqa = U200

eric ide

mercurial