ProjectPyramid/Project.py

Sat, 23 Dec 2023 17:16:21 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 17:16:21 +0100
branch
eric7
changeset 168
fee59283137b
parent 167
d0f4aa941afe
child 169
0405f4f83719
permissions
-rw-r--r--

Corrected some code style issues and converted some source code documentation to the new style.

2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
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:
diff changeset
2
167
d0f4aa941afe Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
3 # Copyright (c) 2012 - 2024 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:
diff changeset
4 #
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the Pyramid project support.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
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
10 import configparser
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
11 import contextlib
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
12 import glob
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 import os
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
14 import re
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
15 import subprocess # secok
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
16 import sys
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
18 from PyQt6.QtCore import (
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
19 QFileInfo,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
20 QIODeviceBase,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
21 QObject,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
22 QProcess as QProcessPyQt,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
23 QTimer,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
24 QUrl,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
25 pyqtSlot,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
26 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
27 from PyQt6.QtGui import QDesktopServices
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
28 from PyQt6.QtWidgets import QDialog, QInputDialog, QLineEdit, QMenu
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
160
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
30 from eric7 import Preferences, Utilities
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
31 from eric7.EricGui.EricAction import EricAction
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
32 from eric7.EricWidgets import EricFileDialog, EricMessageBox
160
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
33 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: 160
diff changeset
34
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
35 try:
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
36 from eric7.SystemUtilities.FileSystemUtilities import (
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
37 getExecutablePath,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
38 getExecutablePaths,
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
39 )
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
40 except ImportError:
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
41 # imports for eric < 23.1
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
42 from eric7.Utilities import getExecutablePath, getExecutablePaths
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
43 try:
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
44 from eric7.SystemUtilities.OSUtilities import isWindowsPlatform
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
45 except ImportError:
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
46 # imports for eric < 23.1
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
47 from eric7.Globals import isWindowsPlatform
160
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
48
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
49 try:
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
50 from eric7.EricGui import EricPixmapCache
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
51 except ImportError:
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
52 from UI import PixmapCache as EricPixmapCache
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 from .PyramidDialog import PyramidDialog
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
57 class PyramidNoProjectSelectedError(Exception):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 Exception thrown to signal, that there is no current Pyramid project.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
61
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 pass
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
65 class QProcess(QProcessPyQt):
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
66 """
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
67 Class transforming the call arguments in case of gnome-terminal.
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
68 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
69
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
70 def start(self, cmd, args=None, mode=QIODeviceBase.OpenModeFlag.ReadWrite):
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
71 """
58
6acbfbba1e9d Corrected some code and documentation style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 57
diff changeset
72 Public method to start the given program (cmd) in a new process, if
6acbfbba1e9d Corrected some code and documentation style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 57
diff changeset
73 none is already running, passing the command line arguments in args.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
74
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
75 @param cmd start the given program cmd
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
76 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
77 @param args list of parameters
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
78 @type list of str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
79 @param mode access mode
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
80 @type QIODeviceBase.OpenMode
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
81 """
106
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
82 if args is None:
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
83 args = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
84
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
85 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
86 cmd.endswith(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
87 ("gnome-terminal", "konsole", "xfce4-terminal", "mate-terminal")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
88 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
89 and "-e" in args
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
90 ):
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
91 index = args.index("-e") + 1
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
92 cargs = " ".join(args[index:])
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
93 args[index:] = [cargs]
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
94
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
95 super().start(cmd, args, mode)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
96
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
97 @staticmethod
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
98 def startDetached(cmd, args=None, path=""):
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
99 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
100 Public static method to start the given program (cmd) in a new process,
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
101 if none is already running, passing the command line arguments in args.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
102
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
103 @param cmd start the given program cmd
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
104 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
105 @param args list of parameters
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
106 @type list of str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
107 @param path new working directory
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
108 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
109 @return tuple of successful start and process id
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
110 @rtype tuple of (bool, int)
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
111 """
106
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
112 if args is None:
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
113 args = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
114
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
115 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
116 cmd.endswith(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
117 ("gnome-terminal", "konsole", "xfce4-terminal", "mate-terminal")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
118 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
119 and "-e" in args
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
120 ):
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
121 index = args.index("-e") + 1
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
122 cargs = " ".join(args[index:])
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
123 args[index:] = [cargs]
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
124
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
125 return QProcessPyQt.startDetached(cmd, args, path)
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
126
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
127
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 class Project(QObject):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 Class implementing the Pyramid project support.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
132
133
8f183975895d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 132
diff changeset
133 def __init__(self, plugin, iconSuffix, parent=None):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 Constructor
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
136
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 @param plugin reference to the plugin object
133
8f183975895d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 132
diff changeset
138 @type ProjectPyramidPlugin
8f183975895d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 132
diff changeset
139 @param iconSuffix suffix for the icons
8f183975895d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 132
diff changeset
140 @type str
8f183975895d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 132
diff changeset
141 @param parent parent
8f183975895d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 132
diff changeset
142 @type QObject
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 """
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
144 super().__init__(parent)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
145
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 self.__plugin = plugin
133
8f183975895d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 132
diff changeset
147 self.__iconSuffix = iconSuffix
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 self.__ui = parent
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
149 self.__ericProject = ericApp().getObject("Project")
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
150 self.__virtualEnvManager = ericApp().getObject("VirtualEnvManager")
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 self.__hooksInstalled = False
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
152
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
153 self.__menus = {} # dictionary with references to menus
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
154
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 self.__serverProc = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
156
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
157 self.__pyramidVersion = ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
158
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
159 self.__migrationSummaryDialog = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
160
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 def initActions(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 Public method to define the Pyramid actions.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.actions = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
166
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
167 self.selectProjectAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
168 self.tr("Current Pyramid Project"),
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
169 "",
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
170 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
171 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
172 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
173 "pyramid_current_project",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
174 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
175 self.selectProjectAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
176 self.tr("Selects the current Pyramid project")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
177 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
178 self.selectProjectAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
179 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
180 """<b>Current Pyramid Project</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
181 """<p>Selects the Pyramid project. Used for multi-project """
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
182 """Pyramid projects to switch between the projects.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
183 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
184 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
185 self.selectProjectAct.triggered.connect(self.__selectProject)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 self.actions.append(self.selectProjectAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
187
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 ###############################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 ## create actions below ##
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 ###############################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
191
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
192 self.createProjectAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
193 self.tr("Create Pyramid Project"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
194 self.tr("Create Pyramid &Project"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
195 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
196 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
197 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
198 "pyramid_create_project",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
199 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
200 self.createProjectAct.setStatusTip(self.tr("Creates a new Pyramid project"))
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
201 self.createProjectAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
202 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
203 """<b>Create Pyramid Project</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
204 """<p>Creates a new Pyramid project using "pcreate".</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
205 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
206 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
207 self.createProjectAct.triggered.connect(self.__createProject)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 self.actions.append(self.createProjectAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
209
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 ##############################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 ## run actions below ##
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 ##############################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
213
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
214 self.runServerAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
215 self.tr("Run Server"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
216 self.tr("Run &Server"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
217 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
218 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
219 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
220 "pyramid_run_server",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
221 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
222 self.runServerAct.setStatusTip(self.tr("Starts the Pyramid Web server"))
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
223 self.runServerAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
224 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
225 """<b>Run Server</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
226 """<p>Starts the Pyramid Web server using"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
227 """ "pserve --reload development.ini".</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
228 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
229 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
230 self.runServerAct.triggered.connect(self.__runServer)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 self.actions.append(self.runServerAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
232
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
233 self.runBrowserAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
234 self.tr("Run Web-Browser"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
235 self.tr("Run &Web-Browser"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
236 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
237 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
238 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
239 "pyramid_run_browser",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
240 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
241 self.runBrowserAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
242 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
243 "Starts the default Web-Browser with the URL of the Pyramid Web"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
244 " server"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
245 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
246 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
247 self.runBrowserAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
248 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
249 """<b>Run Web-Browser</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
250 """<p>Starts the default Web-Browser with the URL of the """
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
251 """Pyramid Web server.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
252 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
253 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
254 self.runBrowserAct.triggered.connect(self.__runBrowser)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 self.actions.append(self.runBrowserAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
256
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
257 self.runPythonShellAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
258 self.tr("Start Pyramid Python Console"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
259 self.tr("Start Pyramid &Python Console"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
260 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
261 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
262 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
263 "pyramid_python_console",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
264 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
265 self.runPythonShellAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
266 self.tr("Starts an interactive Python interpreter")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
267 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
268 self.runPythonShellAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
269 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
270 """<b>Start Pyramid Python Console</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
271 """<p>Starts an interactive Python interpreter.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
272 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
273 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
274 self.runPythonShellAct.triggered.connect(self.__runPythonShell)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 self.actions.append(self.runPythonShellAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
276
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
277 ###############################
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
278 ## show actions below ##
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
279 ###############################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
280
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
281 self.showViewsAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
282 self.tr("Show Matching Views"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
283 self.tr("Show Matching &Views"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
284 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
285 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
286 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
287 "pyramid_show_views",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
288 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
289 self.showViewsAct.setStatusTip(self.tr("Show views matching a given URL"))
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
290 self.showViewsAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
291 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
292 """<b>Show Matching Views</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
293 """<p>Show views matching a given URL.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
294 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
295 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
296 self.showViewsAct.triggered.connect(self.__showMatchingViews)
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
297 self.actions.append(self.showViewsAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
298
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
299 self.showRoutesAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
300 self.tr("Show Routes"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
301 self.tr("Show &Routes"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
302 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
303 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
304 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
305 "pyramid_show_routes",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
306 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
307 self.showRoutesAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
308 self.tr("Show all URL dispatch routes used by a Pyramid application")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
309 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
310 self.showRoutesAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
311 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
312 """<b>Show Routes</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
313 """<p>Show all URL dispatch routes used by a Pyramid application"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
314 """ in the order in which they are evaluated.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
315 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
316 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
317 self.showRoutesAct.triggered.connect(self.__showRoutes)
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
318 self.actions.append(self.showRoutesAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
319
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
320 self.showTweensAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
321 self.tr("Show Tween Objects"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
322 self.tr("Show &Tween Objects"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
323 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
324 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
325 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
326 "pyramid_show_routes",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
327 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
328 self.showTweensAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
329 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
330 "Show all implicit and explicit tween objects used by a Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
331 " application"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
332 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
333 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
334 self.showTweensAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
335 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
336 """<b>Show Tween Objects</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
337 """<p>Show all implicit and explicit tween objects used by a"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
338 """ Pyramid application.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
339 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
340 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
341 self.showTweensAct.triggered.connect(self.__showTweens)
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
342 self.actions.append(self.showTweensAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
343
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 ##################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 ## distribution actions below ##
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 ##################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
347
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
348 self.buildDistroAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
349 self.tr("Build Distribution"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
350 self.tr("Build &Distribution"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
351 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
352 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
353 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
354 "pyramid_build_distribution",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
355 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
356 self.buildDistroAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
357 self.tr("Builds a distribution file for the Pyramid project")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
358 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
359 self.buildDistroAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
360 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
361 """<b>Build Distribution</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
362 """<p>Builds a distribution file for the Pyramid project using"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
363 """ "python setup.py sdist".</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
364 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
365 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
366 self.buildDistroAct.triggered.connect(self.__buildDistribution)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 self.actions.append(self.buildDistroAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
368
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 ##################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 ## documentation action below ##
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 ##################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
372
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
373 self.documentationAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
374 self.tr("Documentation"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
375 self.tr("D&ocumentation"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
376 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
377 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
378 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
379 "pyramid_documentation",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
380 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
381 self.documentationAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
382 self.tr("Shows the help viewer with the Pyramid documentation")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
383 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
384 self.documentationAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
385 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
386 """<b>Documentation</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
387 """<p>Shows the help viewer with the Pyramid documentation.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
388 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
389 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
390 self.documentationAct.triggered.connect(self.__showDocumentation)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 self.actions.append(self.documentationAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
392
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 ##############################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 ## about action below ##
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 ##############################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
396
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
397 self.aboutPyramidAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
398 self.tr("About Pyramid"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
399 self.tr("About P&yramid"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
400 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
401 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
402 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
403 "pyramid_about",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
404 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
405 self.aboutPyramidAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
406 self.tr("Shows some information about Pyramid")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
407 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
408 self.aboutPyramidAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
409 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
410 """<b>About Pyramid</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
411 """<p>Shows some information about Pyramid.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
412 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
413 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
414 self.aboutPyramidAct.triggered.connect(self.__pyramidInfo)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 self.actions.append(self.aboutPyramidAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
416
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
417 self.__initDatabaseActions()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
418
5
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
419 self.__setCurrentProject(None)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
420
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
421 def __initDatabaseActions(self):
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
422 """
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
423 Private method to initialize the database related actions.
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
424 """
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
425 self.initializeDbAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
426 self.tr("Initialize Database"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
427 self.tr("Initialize &Database"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
428 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
429 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
430 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
431 "pyramid_initialize_database",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
432 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
433 self.initializeDbAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
434 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
435 "Initializes (or re-initializes) the database of the current"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
436 " Pyramid project"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
437 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
438 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
439 self.initializeDbAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
440 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
441 """<b>Initialize Database</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
442 """<p>Initializes (or re-initializes) the database of the"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
443 """ current Pyramid project.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
444 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
445 )
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
446 self.initializeDbAct.triggered.connect(self.__initializeDatabase)
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
447 self.actions.append(self.initializeDbAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
448
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
449 #########################################################
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
450 ## action to create a new database migration
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
451 #########################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
452
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
453 self.migrateCreateAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
454 self.tr("Create Migration"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
455 self.tr("&Create Migration"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
456 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
457 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
458 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
459 "flask_create_migration",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
460 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
461 self.migrateCreateAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
462 self.tr("Create a new migration for the current database")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
463 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
464 self.migrateCreateAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
465 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
466 """<b>Create Migration</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
467 """<p>Creates a new migration for the current database"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
468 """ and stores it in the configured migrations directory.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
469 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
470 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
471 self.migrateCreateAct.triggered.connect(self.__createMigration)
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
472 self.actions.append(self.migrateCreateAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
473
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
474 #########################################################
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
475 ## action to up- and downgrade a databse
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
476 #########################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
477
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
478 self.upgradeDatabaseAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
479 self.tr("Upgrade Database"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
480 self.tr("&Upgrade Database"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
481 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
482 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
483 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
484 "flask_upgrade_database",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
485 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
486 self.upgradeDatabaseAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
487 self.tr("Upgrade the database to the current migration")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
488 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
489 self.upgradeDatabaseAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
490 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
491 """<b>Upgrade Database</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
492 """<p>Upgrades the database to the current migration.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
493 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
494 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
495 self.upgradeDatabaseAct.triggered.connect(self.upgradeDatabase)
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
496 self.actions.append(self.upgradeDatabaseAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
497
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
498 self.downgradeDatabaseAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
499 self.tr("Downgrade Database"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
500 self.tr("&Downgrade Database"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
501 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
502 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
503 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
504 "flask_downgrade_database",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
505 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
506 self.downgradeDatabaseAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
507 self.tr("Downgrade the database to the previous version")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
508 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
509 self.downgradeDatabaseAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
510 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
511 """<b>Downgrade Database</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
512 """<p>Downgrades the database to the previous version.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
513 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
514 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
515 self.downgradeDatabaseAct.triggered.connect(self.downgradeDatabase)
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
516 self.actions.append(self.downgradeDatabaseAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
517
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
518 #########################################################
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
519 ## actions to show migrations history information
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
520 #########################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
521
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
522 self.migrationSummaryAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
523 self.tr("Show Migrations Summary"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
524 self.tr("Show Migrations &Summary"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
525 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
526 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
527 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
528 "flask_show_migrations_summary",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
529 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
530 self.migrationSummaryAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
531 self.tr("Show a summary of the created database migrations")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
532 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
533 self.migrationSummaryAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
534 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
535 """<b>Show Migrations Summary</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
536 """<p>Shows a summary list of the created database"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
537 """ migrations.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
538 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
539 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
540 self.migrationSummaryAct.triggered.connect(self.__showMigrationsSummary)
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
541 self.actions.append(self.migrationSummaryAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
542
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
543 self.migrationHistoryAct = EricAction(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
544 self.tr("Show Migrations History"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
545 self.tr("Show Migrations &History"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
546 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
547 0,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
548 self,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
549 "flask_show_migrations_history",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
550 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
551 self.migrationHistoryAct.setStatusTip(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
552 self.tr("Show the full history of the created database migrations")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
553 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
554 self.migrationHistoryAct.setWhatsThis(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
555 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
556 """<b>Show Migrations History</b>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
557 """<p>Shows the full history of the created database"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
558 """ migrations.</p>"""
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
559 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
560 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
561 self.migrationHistoryAct.triggered.connect(self.__showMigrationsHistory)
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
562 self.actions.append(self.migrationHistoryAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
563
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564 def initMenu(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 Public slot to initialize the Pyramid menu.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
567
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
568 @return the menu generated
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
569 @rtype QMenu
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
571 self.__menus = {} # clear menus references
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
572
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
573 # Database menu
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
574 dbMenu = QMenu(self.tr("Database"))
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
575 dbMenu.setTearOffEnabled(True)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
576
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
577 dbMenu.addAction(self.initializeDbAct)
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
578 dbMenu.addSeparator()
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
579 dbMenu.addAction(self.migrateCreateAct)
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
580 dbMenu.addSeparator()
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
581 dbMenu.addAction(self.upgradeDatabaseAct)
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
582 dbMenu.addAction(self.downgradeDatabaseAct)
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
583 dbMenu.addSeparator()
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
584 dbMenu.addAction(self.migrationSummaryAct)
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
585 dbMenu.addAction(self.migrationHistoryAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
586
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
587 # main Pyramid menu
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
588 menu = QMenu(self.tr("P&yramid"), self.__ui)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 menu.setTearOffEnabled(True)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
590
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591 menu.addAction(self.selectProjectAct)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 menu.addSeparator()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 menu.addAction(self.runServerAct)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 menu.addAction(self.runBrowserAct)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 menu.addSeparator()
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
596 menu.addAction(self.runPythonShellAct)
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
597 menu.addSeparator()
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 menu.addAction(self.createProjectAct)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 menu.addSeparator()
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
600 menu.addMenu(dbMenu)
5
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
601 menu.addSeparator()
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
602 menu.addAction(self.showViewsAct)
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
603 menu.addAction(self.showRoutesAct)
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
604 menu.addAction(self.showTweensAct)
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
605 menu.addSeparator()
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606 menu.addAction(self.buildDistroAct)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 menu.addSeparator()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608 menu.addAction(self.documentationAct)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 menu.addSeparator()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 menu.addAction(self.aboutPyramidAct)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
611
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
612 self.__menus["main"] = menu
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
613 self.__menus["database"] = dbMenu
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
614
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
615 self.__setCurrentProject(None)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
616
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
617 return menu
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
618
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
619 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
620 """
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
621 Public method to get a reference to the requested menu.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
622
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
623 @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
624 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
625 @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
626 name exists
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
627 @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
628 """
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
629 if name in self.__menus:
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
630 return self.__menus[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
631 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
632 return None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
633
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
634 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
635 """
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
636 Public method to get the names of all menus.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
637
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
638 @return menu names
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
639 @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
640 """
3b2da211e126 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 63
diff changeset
641 return list(self.__menus.keys())
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
642
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
643 def registerOpenHook(self):
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
644 """
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
645 Public method to register the open hook to open a translations file
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
646 in a translations editor.
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
647 """
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
648 if self.__hooksInstalled:
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
649 editor = self.__plugin.getPreferences("TranslationsEditor")
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
650 if editor:
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
651 self.__translationsBrowser.addHookMethodAndMenuEntry(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
652 "open",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
653 self.openPOEditor,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
654 self.tr("Open with {0}").format(os.path.basename(editor)),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
655 )
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
656 else:
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
657 self.__translationsBrowser.removeHookMethod("open")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
658
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659 def projectOpenedHooks(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
661 Public method to add our hook methods.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
662 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
663 if self.__ericProject.getProjectType() == "Pyramid":
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
664 self.__formsBrowser = (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
665 ericApp().getObject("ProjectBrowser").getProjectBrowser("forms")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
666 )
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
667 self.__formsBrowser.addHookMethodAndMenuEntry(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
668 "newForm", self.newForm, self.tr("New template...")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
669 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
670
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
671 self.__ericProject.projectLanguageAddedByCode.connect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
672 self.__projectLanguageAdded
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
673 )
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
674 self.__translationsBrowser = (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
675 ericApp().getObject("ProjectBrowser").getProjectBrowser("translations")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
676 )
81
3f9074ad9f94 Enabled translation support for Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
677 self.__translationsBrowser.addHookMethodAndMenuEntry(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
678 "extractMessages", self.extractMessages, self.tr("Extract Messages")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
679 )
81
3f9074ad9f94 Enabled translation support for Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
680 self.__translationsBrowser.addHookMethodAndMenuEntry(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
681 "releaseAll", self.compileCatalogs, self.tr("Compile All Catalogs")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
682 )
81
3f9074ad9f94 Enabled translation support for Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
683 self.__translationsBrowser.addHookMethodAndMenuEntry(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
684 "releaseSelected",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
685 self.compileSelectedCatalogs,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
686 self.tr("Compile Selected Catalogs"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
687 )
81
3f9074ad9f94 Enabled translation support for Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
688 self.__translationsBrowser.addHookMethodAndMenuEntry(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
689 "generateAll", self.updateCatalogs, self.tr("Update All Catalogs")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
690 )
81
3f9074ad9f94 Enabled translation support for Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
691 self.__translationsBrowser.addHookMethodAndMenuEntry(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
692 "generateSelected",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
693 self.updateSelectedCatalogs,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
694 self.tr("Update Selected Catalogs"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
695 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
696
81
3f9074ad9f94 Enabled translation support for Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
697 self.__hooksInstalled = True
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
698
81
3f9074ad9f94 Enabled translation support for Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
699 self.registerOpenHook()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
700
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 def projectClosedHooks(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 Public method to remove our hook methods.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 if self.__hooksInstalled:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 self.__formsBrowser.removeHookMethod("newForm")
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 self.__formsBrowser = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
708
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
709 self.__ericProject.projectLanguageAddedByCode.disconnect(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
710 self.__projectLanguageAdded
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
711 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
712 self.__translationsBrowser.removeHookMethod("extractMessages")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
713 self.__translationsBrowser.removeHookMethod("releaseAll")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
714 self.__translationsBrowser.removeHookMethod("releaseSelected")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
715 self.__translationsBrowser.removeHookMethod("generateAll")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
716 self.__translationsBrowser.removeHookMethod("generateSelected")
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
717 self.__translationsBrowser.removeHookMethod("open")
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
718 self.__translationsBrowser = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
719
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
720 self.__hooksInstalled = False
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
721
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 def newForm(self, path):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
724 Public method to create a new form.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
725
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
726 @param path full directory path for the new form file
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
727 @type str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 """
37
1b089e0fba1e Modified the code to do lazy import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
729 from .FormSelectionDialog import FormSelectionDialog
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
730
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731 dlg = FormSelectionDialog()
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
732 if dlg.exec() == QDialog.DialogCode.Accepted:
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733 template = dlg.getTemplateText()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
734
106
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
735 fileFilters = self.tr(
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
736 "Chameleon Templates (*.pt);;"
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
737 "Chameleon Text Templates (*.txt);;"
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738 "Mako Templates (*.mako);;"
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
739 "Mako Templates (*.mak);;"
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740 "HTML Files (*.html);;"
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741 "HTML Files (*.htm);;"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
742 "All Files (*)"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
743 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
744 fname, selectedFilter = EricFileDialog.getSaveFileNameAndFilter(
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
745 self.__ui,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
746 self.tr("New Form"),
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747 path,
106
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
748 fileFilters,
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749 None,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
750 EricFileDialog.DontConfirmOverwrite,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
751 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 if fname:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 ext = QFileInfo(fname).suffix()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 if not ext:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 ex = selectedFilter.split("(*")[1].split(")")[0]
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 if ex:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757 fname += ex
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
758
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759 if os.path.exists(fname):
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
760 res = EricMessageBox.yesNo(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
761 self.__ui,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
762 self.tr("New Form"),
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
763 self.tr("""The file already exists! Overwrite it?"""),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
764 icon=EricMessageBox.Warning,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
765 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 if not res:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767 # user selected to not overwrite
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
769
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 try:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
771 with open(fname, "w", encoding="utf-8") as f:
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
772 f.write(template)
142
77e872c9c300 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 140
diff changeset
773 except OSError as e:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
774 EricMessageBox.critical(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
775 self.__ui,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
776 self.tr("New Form"),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
777 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
778 "<p>The new form file <b>{0}</b> could"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
779 " not be created.<br/> Problem: {1}</p>"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
780 ).format(fname, e),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
781 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
783
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
784 self.__ericProject.appendFile(fname)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 self.__formsBrowser.sourceFile.emit(fname)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
786
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 ## methods below implement general functionality
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
790
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
791 def projectClosed(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
792 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
793 Public method to handle the closing of a project.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
795 if self.__serverProc is not None:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796 self.__serverProcFinished()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
797 self.__setCurrentProject(None)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
798
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
799 for dlg in (self.__migrationSummaryDialog,):
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
800 if dlg is not None:
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
801 dlg.close()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
802
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
803 def __getExecutablePaths(self, file):
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
804 """
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
805 Private method to build all full paths of an executable file from
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
806 the environment.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
807
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
808 @param file filename of the executable
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
809 @type str
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
810 @return list of full executable names, if the executable file is
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
811 accessible via the searchpath defined by the PATH environment
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
812 variable, or an empty list otherwise.
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
813 @rtype list of str
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
814 """
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
815 paths = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
816
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
817 if os.path.isabs(file):
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
818 if os.access(file, os.X_OK):
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
819 return [file]
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
820 else:
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
821 return []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
822
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
823 cur_path = os.path.join(os.curdir, file)
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
824 if os.path.exists(cur_path) and os.access(cur_path, os.X_OK):
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
825 paths.append(cur_path)
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
826
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
827 path = os.getenv("PATH")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
828
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
829 # environment variable not defined
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
830 if path is not None:
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
831 dirs = path.split(os.pathsep)
106
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
832 for directory in dirs:
2086bda4a893 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
833 exe = os.path.join(directory, file)
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
834 if os.access(exe, os.X_OK) and exe not in paths:
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
835 paths.append(exe)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
836
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
837 return paths
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
838
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
839 def supportedPythonVariants(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
840 """
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
841 Public method to get the supported Python variants.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
842
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
843 @return list of supported Python variants
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
844 @rtype list of str
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
845 """
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
846 variants = []
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
847 cmd = "cookiecutter"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
848
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
849 for variant in ["Python3"]:
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
850 virtEnv = self.__getVirtualEnvironment(variant)
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
851 if virtEnv:
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
852 fullCmd = self.getPyramidCommand(cmd, variant)
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
853 if fullCmd != cmd:
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
854 variants.append(variant)
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
855 else:
91
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
856 fullCmd = self.getPyramidCommand(cmd, variant)
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
857 if isWindowsPlatform():
91
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
858 if fullCmd != cmd:
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
859 variants.append(variant)
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
860 else:
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
861 if cmd:
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
862 try:
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
863 fullCmds = getExecutablePaths(cmd)
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
864 except AttributeError:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
865 fullCmds = self.__getExecutablePaths(cmd)
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
866 for fullCmd in fullCmds:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
867 try:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
868 with open(fullCmd, "r", encoding="utf-8") as f:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
869 l0 = f.readline()
142
77e872c9c300 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 140
diff changeset
870 except OSError:
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
871 l0 = ""
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
872 if self.__isSuitableForVariant(variant, l0):
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
873 variants.append(variant)
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
874 break
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
875
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
876 return variants
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
877
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
878 def __isSuitableForVariant(self, variant, line0):
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
879 """
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
880 Private method to test, if a detected command file is suitable for the
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
881 given Python variant.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
882
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
883 @param variant Python variant to test for
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
884 @type str
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
885 @param line0 first line of the executable
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
886 @type str
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
887 @return flag indicating a suitable command
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
888 @rtype bool
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
889 """
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
890 l0 = line0.lower()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
891 ok = variant.lower() in l0 or "{0}.".format(variant[-1]) in l0
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
892 ok |= "pypy3" in l0
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
893
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
894 return ok
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
895
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
896 def __getVirtualEnvironment(self, language=""):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
898 Private method to get the path of the virtual environment.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
899
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
900 @param language Python variant to get the virtual environment
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
901 for (one of '' or 'Python3')
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
902 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
903 @return path of the virtual environment
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
904 @rtype str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
905 """
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
906 if not language:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
907 language = self.__ericProject.getProjectLanguage()
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
908 if self.__virtualEnvManager:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
909 if language == "Python3":
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
910 venvName = self.__plugin.getPreferences("VirtualEnvironmentNamePy3")
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
911 else:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
912 venvName = ""
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
913 if venvName:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
914 virtEnv = self.__virtualEnvManager.getVirtualenvDirectory(venvName)
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
915 if not virtEnv:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
916 virtEnv = os.path.dirname(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
917 self.__virtualEnvManager.getVirtualenvInterpreter(venvName)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
918 )
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
919 if virtEnv.endswith(("Scripts", "bin")):
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
920 virtEnv = os.path.dirname(virtEnv)
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
921 else:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
922 virtEnv = ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
923
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
924 if virtEnv and not os.path.exists(virtEnv):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 virtEnv = ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
926 return virtEnv # __IGNORE_WARNING_M834__
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
927
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
928 def __getDebugEnvironment(self, language=""):
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
929 """
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
930 Private method to get the path of the debugger environment.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
931
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
932 @param language Python variant to get the debugger environment
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
933 for (one of '' or 'Python3')
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
934 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
935 @return path of the debugger environment
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
936 @rtype str
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
937 """
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
938 if not language:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
939 language = self.__ericProject.getProjectLanguage()
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
940 if self.__virtualEnvManager:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
941 debugEnv = self.__getVirtualEnvironment(language)
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
942 if not debugEnv:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
943 if language == "Python3":
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
944 venvName = Preferences.getDebugger("Python3VirtualEnv")
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
945 else:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
946 venvName = ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
947
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
948 if venvName:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
949 return self.__virtualEnvManager.getVirtualenvDirectory(venvName)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
950
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
951 return ""
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
952
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
953 def getProjectVirtualEnvironment(self):
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
954 """
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
955 Public method to generate the path of the project virtual environment.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
956
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
957 @return path of the Pyramid project virtual environment
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
958 @rtype str
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
959 """
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
960 return os.path.join(self.projectPath(), "env")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
961
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
962 def getPyramidCommand(self, cmd, language="", virtualEnv=""):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
963 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
964 Public method to build a Pyramid command.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
965
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
966 @param cmd command
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
967 @type str
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
968 @param language Python variant to get the virtual environment
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
969 for (one of '' or 'Python3')
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
970 @type str
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
971 @param virtualEnv path of the project's Python virtual environment
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
972 @type str
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
973 @return full pyramid command
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
974 @rtype str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
975 """
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
976 if not language:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
977 language = self.__ericProject.getProjectLanguage()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
978
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
979 if not virtualEnv:
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
980 virtualEnv = self.__getVirtualEnvironment(language)
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
981 if not virtualEnv:
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
982 virtualEnv = self.__getDebugEnvironment(language)
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
983 if isWindowsPlatform():
91
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
984 fullCmds = [
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
985 os.path.join(virtualEnv, "Scripts", cmd + ".exe"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
986 os.path.join(virtualEnv, "bin", cmd + ".exe"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
987 cmd, # fall back to just cmd
91
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
988 ]
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
989 for cmd in fullCmds:
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
990 if os.path.exists(cmd):
893e1f0baf23 Added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 88
diff changeset
991 break
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
992 else:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
993 fullCmds = [
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
994 os.path.join(virtualEnv, "bin", cmd),
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
995 os.path.join(virtualEnv, "local", "bin", cmd),
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
996 getExecutablePath(cmd),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
997 cmd, # fall back to just cmd
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
998 ]
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
999 for cmd in fullCmds:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1000 if os.path.exists(cmd):
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1001 break
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1002 return cmd
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1003
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
1004 def __assemblePyramidCommand(self, cmd, virtualEnv):
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
1005 """
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
1006 Private method to assemble the full pyramid command for a given virtual
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
1007 environment.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1008
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
1009 @param cmd command
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
1010 @type str
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
1011 @param virtualEnv path of the project's Python virtual environment
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
1012 @type str
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
1013 @return assembled pyramid command
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
1014 @rtype str
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
1015 """
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
1016 return (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1017 os.path.join(virtualEnv, "Scripts", cmd + ".exe")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1018 if isWindowsPlatform()
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1019 else os.path.join(virtualEnv, "bin", cmd)
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
1020 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1021
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1022 def getPythonCommand(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1023 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1024 Public method to build the Python command.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1025
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1026 @return python command
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1027 @rtype str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1028 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1029 language = self.__ericProject.getProjectLanguage()
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1030 if self.__virtualEnvManager:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1031 if language == "Python3":
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1032 venvName = self.__plugin.getPreferences("VirtualEnvironmentNamePy3")
114
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1033 if not venvName:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1034 # if none configured, use the global one
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1035 venvName = Preferences.getDebugger("Python3VirtualEnv")
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1036 else:
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1037 venvName = ""
4de6dbce4dd6 Changed to use the virtual environment manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
1038 if venvName:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1039 return self.__virtualEnvManager.getVirtualenvInterpreter(venvName)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1040
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1041 return ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1042
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1043 def __pyramidInfo(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1044 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1045 Private slot to show some info about Pyramid.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1046 """
150
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1047 try:
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1048 version = self.getPyramidVersionString()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1049 except PyramidNoProjectSelectedError:
150
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1050 version = self.tr("not available")
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1051 url = "http://www.pylonsproject.org/projects/pyramid/about"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1052
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1053 msgBox = EricMessageBox.EricMessageBox(
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1054 EricMessageBox.Question,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1055 self.tr("About Pyramid"),
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1056 self.tr(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1057 "<p>Pyramid is a high-level Python Web framework that"
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1058 " encourages rapid development and clean, pragmatic"
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1059 " design.</p>"
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
1060 "<p><table>"
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
1061 "<tr><td>Version:</td><td>{0}</td></tr>"
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1062 '<tr><td>URL:</td><td><a href="{1}">'
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
1063 "{1}</a></td></tr>"
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
1064 "</table></p>"
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
1065 ).format(version, url),
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1066 modal=True,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1067 buttons=EricMessageBox.Ok,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1068 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1069 msgBox.setIconPixmap(
160
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1070 EricPixmapCache.getPixmap(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1071 os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1072 "ProjectPyramid", "icons", "pyramid64-{0}".format(self.__iconSuffix)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1073 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1074 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1075 )
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1076 msgBox.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1077
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1078 def getPyramidVersionString(self):
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
1079 """
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1080 Public method to get the Pyramid version as a string.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1081
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1082 @return Pyramid version
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1083 @rtype str
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
1084 """
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
1085 if not self.__pyramidVersion:
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
1086 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1087 "pdistreport", virtualEnv=self.getProjectVirtualEnvironment()
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
1088 )
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
1089 try:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1090 output = subprocess.check_output([cmd]) # secok
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
1091 outputLines = output.decode().splitlines()
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
1092 for line in outputLines:
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
1093 if line.startswith("Pyramid version:"):
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
1094 self.__pyramidVersion = line.rsplit(None, 1)[1]
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
1095 break
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
1096 except (OSError, subprocess.CalledProcessError):
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
1097 self.__pyramidVersion = ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1098
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
1099 return self.__pyramidVersion
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1100
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1101 def getPyramidVersion(self):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1102 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1103 Public method to get the Pyramid version as a tuple.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1104
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1105 @return Pyramid version
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1106 @rtype tuple of int
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1107 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1108 pyramidVersionStr = self.getPyramidVersionString()
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1109 pyramidVersionList = []
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1110 if pyramidVersionStr:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1111 for part in pyramidVersionStr.split("."):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1112 try:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1113 pyramidVersionList.append(int(part))
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1114 except ValueError:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1115 pyramidVersionList.append(part)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1116
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1117 return tuple(pyramidVersionList)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1118
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1119 def isSpawningConsole(self, consoleCmd):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1120 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1121 Public method to check, if the given console is a spawning console.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1122
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1123 @param consoleCmd console command
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1124 @type str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1125 @return tuple of two entries giving an indication, if the console
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1126 is spawning (boolean) and the (possibly) cleaned console command
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1127 @rtype str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1128 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1129 if consoleCmd and consoleCmd[0] == "@":
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1130 return (True, consoleCmd[1:])
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1131 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1132 return (False, consoleCmd)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1133
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1134 def __adjustWorkingDirectory(self, args, wd):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1135 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1136 Private method to adjust the working directory in the arguments list.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1137
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1138 @param args list of arguments to be modified
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1139 @type list of str
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1140 @param wd working directory
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1141 @type str
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1142 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1143 if args[0].endswith("konsole") and "--workdir" in args:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1144 index = args.index("--workdir")
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1145 args[index + 1] = wd
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1146 elif args[0].endswith(("gnome-terminal", "mate-terminal")):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1147 for index in range(len(args)):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1148 if args[index].startswith("--working-directory="):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1149 args[index] = "--working-directory={0}".format(wd)
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1150 break
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1151
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1152 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1153 ## slots below implement creation functions
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1154 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1155
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1156 def __createProject(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1157 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1158 Private slot to create a new Pyramid project.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1159 """
37
1b089e0fba1e Modified the code to do lazy import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1160 from .CreateParametersDialog import CreateParametersDialog
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1161
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
1162 dlg = CreateParametersDialog(self.__ui)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1163 if dlg.exec() == QDialog.DialogCode.Accepted:
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
1164 template, version, overwrite, contextData = dlg.getData()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1165
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
1166 cmd = self.getPyramidCommand("cookiecutter")
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
1167 args = ["--no-input"]
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1168 if overwrite:
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
1169 args.append("--overwrite-if-exists")
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
1170 if version:
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
1171 args += ["--checkout", version]
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
1172 args.append(template)
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
1173 for context, data in contextData.items():
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
1174 args.append("{0}={1}".format(context, data))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1175 dlg = PyramidDialog(self.tr("Create Pyramid Project"), parent=self.__ui)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1176 if dlg.startProcess(cmd, args, self.__ericProject.getProjectPath()):
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1177 dlg.exec()
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
1178 if dlg.normalExit() and "repo_name" in contextData:
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
1179 # search for files created by cookiecutter and add them
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
1180 # to the project
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1181 projectPath = os.path.join(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1182 self.__ericProject.getProjectPath(), contextData["repo_name"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1183 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1184 for entry in os.walk(projectPath):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1185 for fileName in entry[2]:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1186 fullName = os.path.join(entry[0], fileName)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1187 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1188
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1189 # create the base directory for translations
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1190 i18nPath = os.path.join(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1191 projectPath, contextData["repo_name"].lower(), "i18n"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1192 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1193 if not os.path.exists(i18nPath):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1194 os.makedirs(i18nPath)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1195 self.__ericProject.setDirty(True)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1196
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
1197 combinedOutput = False
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
1198 argsLists = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1199
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
1200 # 1. create a Python virtual environment for the project
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
1201 argsLists.append([sys.executable, "-m", "venv", "env"])
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
1202 # 2. upgrade packaging tools
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
1203 python = self.__assemblePyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1204 "python", os.path.join(projectPath, "env")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1205 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1206 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1207 [
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1208 python,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1209 "-m",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1210 "pip",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1211 "install",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1212 "--upgrade",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1213 "pip",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1214 "setuptools",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1215 ]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1216 )
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
1217 # 3. install project in editable mode with testing
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1218 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1219 [python, "-m", "pip", "install", "-e", ".[testing]"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1220 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1221
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
1222 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1223 "backend" in contextData
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1224 and contextData["backend"] == "sqlalchemy"
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
1225 ):
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
1226 # only SQLAlchemy needs initialization of alembic
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
1227 combinedOutput = True
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1228
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
1229 # 4. initialize database
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
1230 alembic = self.__assemblePyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1231 "alembic", os.path.join(projectPath, "env")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1232 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1233 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1234 [
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1235 alembic,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1236 "-c",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1237 "development.ini",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1238 "revision",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1239 "--autogenerate",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1240 "--message",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1241 "initialized database",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1242 ]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1243 )
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
1244 # 5. upgrade database to initial version
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1245 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1246 [alembic, "-c", "development.ini", "upgrade", "head"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1247 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1248
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
1249 dlg = PyramidDialog(
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
1250 self.tr("Initializing Pyramid Project"),
150
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1251 combinedOutput=combinedOutput,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1252 parent=self.__ui,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1253 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1254 if dlg.startBatchProcesses(argsLists, workingDir=projectPath):
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
1255 dlg.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1256
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
1257 self.__setCurrentProject(contextData["repo_name"])
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1258
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
1259 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1260 "backend" in contextData
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1261 and contextData["backend"] == "sqlalchemy"
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
1262 ):
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
1263 # add the alembic files created above to the project
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
1264 migrationsPath = self.migrationsPath()
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
1265 for entry in os.walk(migrationsPath):
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
1266 for fileName in entry[2]:
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
1267 fullName = os.path.join(entry[0], fileName)
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
1268 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1269
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1270 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1271 ## methods below implement site related functions
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1272 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1273
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1274 def __findProjects(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1275 """
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 14
diff changeset
1276 Private method to determine the relative path of all Pyramid
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1277 projects (= top level dirs).
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1278
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1279 @return list of projects
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1280 @rtype list of str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1281 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1282 projects = []
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1283 ppath = self.__ericProject.getProjectPath()
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1284 for entry in os.listdir(ppath):
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1285 if entry[0] not in "._" and os.path.isdir(os.path.join(ppath, entry)):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1286 projects.append(entry)
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
1287 return sorted(projects)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1288
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1289 def __selectProject(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1290 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1291 Private method to select a Pyramid project to work with.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1292 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1293 projects = self.__findProjects()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1294 if len(projects) == 0:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1295 project = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1296 elif len(projects) == 1:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1297 project = projects[0]
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1298 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1299 if self.__currentProject is not None:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1300 try:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1301 cur = projects.index(self.__currentProject)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1302 except ValueError:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1303 cur = 0
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1304 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1305 cur = 0
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1306 project, ok = QInputDialog.getItem(
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1307 self.__ui,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1308 self.tr("Select Pyramid Project"),
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1309 self.tr("Select the Pyramid project to work with."),
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1310 projects,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1311 cur,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1312 False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1313 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1314 if not ok:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1315 projects = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1316 self.__setCurrentProject(project)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1317
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
1318 def projectPath(self):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1319 """
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
1320 Public method to calculate the full path of the Pyramid project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1321
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1322 @return path of the project
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1323 @rtype str
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1324 @exception PyramidNoProjectSelectedError raised, if no project is
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1325 selected
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1326 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1327 if self.__currentProject is None:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1328 self.__selectProject()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1329
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1330 if self.__currentProject is None:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1331 raise PyramidNoProjectSelectedError
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1332 else:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1333 return os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1334 self.__ericProject.getProjectPath(), self.__currentProject
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1335 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1336
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1337 def __setCurrentProject(self, project):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1338 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1339 Private slot to set the current project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1340
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1341 @param project name of the project
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1342 @type str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1343 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1344 if project is not None and len(project) == 0:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1345 self.__currentProject = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1346 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1347 self.__currentProject = project
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1348
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
1349 curProject = (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1350 self.tr("None") if self.__currentProject is None else self.__currentProject
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
1351 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1352 self.selectProjectAct.setText(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1353 self.tr("&Current Pyramid Project ({0})").format(curProject)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1354 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1355
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1356 if self.__currentProject is None:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1357 self.__ericProject.setTranslationPattern("")
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1358 else:
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1359 lowerProject = self.__project().lower()
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1360 config = configparser.ConfigParser()
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
1361 config.read(os.path.join(self.projectPath(), "setup.cfg"))
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1362 try:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1363 outputDir = config.get("init_catalog", "output_dir")
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1364 except (configparser.NoOptionError, configparser.NoSectionError):
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1365 outputDir = "{0}/locale".format(lowerProject)
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1366 try:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1367 domain = config.get("init_catalog", "domain")
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1368 except (configparser.NoOptionError, configparser.NoSectionError):
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1369 domain = lowerProject
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1370 self.__ericProject.setTranslationPattern(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1371 os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1372 project,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1373 outputDir,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1374 "%language%",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1375 "LC_MESSAGES",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1376 "{0}.po".format(domain),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1377 )
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
1378 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1379
5
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1380 if self.__currentProject is None:
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1381 self.initializeDbAct.setEnabled(False)
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
1382 with contextlib.suppress(KeyError):
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
1383 self.__menus["database"].setEnabled(False)
5
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1384 else:
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1385 initCmd = self.__getInitDbCommand()
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1386 self.initializeDbAct.setEnabled(os.path.exists(initCmd))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1387
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
1388 alembicDir = os.path.join(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1389 self.projectPath(), self.__currentProject, "alembic", "versions"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1390 )
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
1391 self.__menus["database"].setEnabled(os.path.exists(alembicDir))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1392
150
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1393 self.runServerAct.setEnabled(project is not None)
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1394 self.runBrowserAct.setEnabled(project is not None)
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1395 self.runPythonShellAct.setEnabled(project is not None)
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1396 self.showViewsAct.setEnabled(project is not None)
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1397 self.showRoutesAct.setEnabled(project is not None)
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1398 self.showTweensAct.setEnabled(project is not None)
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1399 self.buildDistroAct.setEnabled(project is not None)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1400
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1401 def __project(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1402 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1403 Private method to get the name of the current Pyramid project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1404
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1405 @return name of the project
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1406 @rtype str
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1407 @exception PyramidNoProjectSelectedError raised, if no project is
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1408 selected
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1409 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1410 if self.__currentProject is None:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1411 self.__selectProject()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1412
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1413 if self.__currentProject is None:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1414 raise PyramidNoProjectSelectedError
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1415 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1416 return self.__currentProject
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1417
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1418 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1419 ## slots below implement run functions
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1420 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1421
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
1422 def __runServer(self):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1423 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1424 Private slot to start the Pyramid Web server.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1425 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1426 consoleCmd = self.isSpawningConsole(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1427 self.__plugin.getPreferences("ConsoleCommand")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1428 )[1]
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1429 if consoleCmd:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1430 try:
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
1431 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1432 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1433 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1434 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1435 self.tr("Run Server"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1436 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1437 "No current Pyramid project selected or no"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1438 " Pyramid project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1439 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1440 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1441 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1442
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1443 args = Utilities.parseOptionString(consoleCmd)
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
1444 args[0] = getExecutablePath(args[0])
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1445 args.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1446 self.getPyramidCommand(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1447 "pserve", virtualEnv=self.getProjectVirtualEnvironment()
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1448 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1449 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1450 args.append("--reload")
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1451 args.append(os.path.join(projectPath, "development.ini"))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1452
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1453 if isWindowsPlatform():
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1454 serverProcStarted, pid = QProcess.startDetached(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1455 args[0], args[1:], projectPath
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1456 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1457 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1458 if self.__serverProc is not None:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1459 self.__serverProcFinished()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1460
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1461 self.__serverProc = QProcess()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1462 self.__serverProc.finished.connect(self.__serverProcFinished)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1463 self.__serverProc.setWorkingDirectory(projectPath)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1464 self.__serverProc.start(args[0], args[1:])
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1465 serverProcStarted = self.__serverProc.waitForStarted()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1466 if not serverProcStarted:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1467 EricMessageBox.critical(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1468 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1469 self.tr("Process Generation Error"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1470 self.tr("The Pyramid server could not be started."),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1471 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1472
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1473 def __serverProcFinished(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1474 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1475 Private slot connected to the finished signal.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1476 """
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1477 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1478 self.__serverProc is not None
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1479 and self.__serverProc.state() != QProcess.ProcessState.NotRunning
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1480 ):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1481 self.__serverProc.terminate()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1482 QTimer.singleShot(2000, self.__serverProc.kill)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1483 self.__serverProc.waitForFinished(3000)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1484 self.__serverProc = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1485
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1486 def __runBrowser(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1487 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1488 Private slot to start the default web browser with the server URL.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1489 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1490 try:
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
1491 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1492 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1493 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1494 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1495 self.tr("Run Web-Browser"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1496 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1497 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1498 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1499 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1500 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1501 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1502
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1503 config = configparser.ConfigParser()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1504 config.read(os.path.join(projectPath, "development.ini"))
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1505 try:
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
1506 listen = config.get("server:main", "listen")
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1507 except (configparser.NoOptionError, configparser.NoSectionError):
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
1508 listen = "localhost:6543"
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
1509 url = "http://{0}".format(listen)
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1510 if self.__plugin.getPreferences("UseExternalBrowser"):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1511 res = QDesktopServices.openUrl(QUrl(url))
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1512 if not res:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1513 EricMessageBox.critical(
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1514 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1515 self.tr("Run Web-Browser"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1516 self.tr(
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
1517 'Could not start the web-browser for the URL "{0}".'
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1518 ).format(url.toString()),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1519 )
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1520 else:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1521 self.__ui.launchHelpViewer(url)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1522
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1523 def __runPythonShell(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1524 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1525 Private slot to start a Python console for a Pyramid project.
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1526 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1527 consoleCmd = self.isSpawningConsole(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1528 self.__plugin.getPreferences("ConsoleCommand")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1529 )[1]
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1530 if consoleCmd:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1531 try:
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
1532 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1533 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1534 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1535 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1536 self.tr("Start Pyramid Python Console"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1537 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1538 "No current Pyramid project selected or no"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1539 " Pyramid project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1540 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1541 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1542 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1543
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1544 args = Utilities.parseOptionString(consoleCmd)
164
277a93891db9 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 160
diff changeset
1545 args[0] = getExecutablePath(args[0])
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1546 args.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1547 self.getPyramidCommand(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1548 "pshell", virtualEnv=self.getProjectVirtualEnvironment()
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1549 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1550 )
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1551 consoleType = self.__plugin.getPreferences("Python3ConsoleType")
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1552 args.append("--python-shell={0}".format(consoleType))
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1553 args.append(os.path.join(projectPath, "development.ini"))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1554
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1555 self.__adjustWorkingDirectory(args, projectPath)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1556 started, pid = QProcess.startDetached(args[0], args[1:], projectPath)
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1557 if not started:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1558 EricMessageBox.critical(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1559 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1560 self.tr("Process Generation Error"),
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
1561 self.tr("The Pyramid Shell process could not be started."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1562 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1563
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1564 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1565 ## slots below implement distribution functions
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1566 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1567
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1568 def __buildDistribution(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1569 """
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1570 Private slot to build a distribution file for the current Pyramid
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1571 project.
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1572 """
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
1573 from .DistributionTypeSelectionDialog import DistributionTypeSelectionDialog
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
1574
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1575 title = self.tr("Build Distribution File")
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1576 try:
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
1577 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1578 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1579 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1580 self.__ui,
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1581 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1582 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1583 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1584 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1585 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1586 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1587 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1588
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1589 dlg = DistributionTypeSelectionDialog(self, projectPath, self.__ui)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1590 if dlg.exec() == QDialog.DialogCode.Accepted:
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1591 formats = dlg.getFormats()
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
1592 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1593 "python", virtualEnv=self.getProjectVirtualEnvironment()
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
1594 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1595 args = []
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1596 args.append("setup.py")
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1597 args.append("sdist")
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1598 if formats:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1599 args.append("--formats={0}".format(",".join(formats)))
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1600
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1601 dia = PyramidDialog(
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1602 title,
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
1603 msgSuccess=self.tr("Python distribution file built successfully."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1604 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1605 res = dia.startProcess(cmd, args, projectPath)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1606 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1607 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1608
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1609 ##################################################################
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1610 ## slots below implement various debugging functions
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1611 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1612
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1613 def __showMatchingViews(self):
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1614 """
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1615 Private slot showing all views that would match a given URL.
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1616 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1617 title = self.tr("Show Matching Views")
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1618 try:
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
1619 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1620 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1621 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1622 self.__ui,
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1623 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1624 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1625 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1626 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1627 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1628 )
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1629 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1630
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1631 url, ok = QInputDialog.getText(
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1632 self.__ui,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1633 self.tr("Show Matching Views"),
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1634 self.tr("Enter the URL to be matched:"),
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1635 QLineEdit.EchoMode.Normal,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1636 "/",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1637 )
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1638 if not ok or url == "":
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1639 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1640
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
1641 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1642 "pviews", virtualEnv=self.getProjectVirtualEnvironment()
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
1643 )
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1644 args = []
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1645 args.append("development.ini")
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1646 args.append(url)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1647
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1648 dia = PyramidDialog(title, fixed=True, linewrap=False)
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1649 res = dia.startProcess(cmd, args, projectPath)
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1650 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1651 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1652
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1653 def __showRoutes(self):
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1654 """
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1655 Private slot showing all URL dispatch routes.
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1656 """
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
1657 from .PyramidRoutesDialog import PyramidRoutesDialog
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
1658
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1659 title = self.tr("Show Routes")
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1660 try:
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
1661 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1662 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1663 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1664 self.__ui,
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1665 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1666 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1667 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1668 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1669 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1670 )
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1671 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1672
13
227a115ab2a1 Added a specialized dialog to show the configured routes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1673 dia = PyramidRoutesDialog(self)
227a115ab2a1 Added a specialized dialog to show the configured routes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1674 res = dia.start(projectPath)
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1675 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1676 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1677
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1678 def __showTweens(self):
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1679 """
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1680 Private slot showing all implicit and explicit tween objects.
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1681 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1682 title = self.tr("Show Tween Objects")
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1683 try:
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
1684 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1685 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1686 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1687 self.__ui,
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1688 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1689 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1690 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1691 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1692 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1693 )
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1694 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1695
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
1696 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1697 "ptweens", virtualEnv=self.getProjectVirtualEnvironment()
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
1698 )
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1699 args = []
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1700 args.append("development.ini")
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1701
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1702 dia = PyramidDialog(title, fixed=True, linewrap=False)
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1703 res = dia.startProcess(cmd, args, projectPath)
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1704 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1705 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1706
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1707 ##################################################################
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1708 ## slots below implement documentation functions
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1709 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1710
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1711 def __showDocumentation(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1712 """
5
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1713 Private slot to show the helpviewer with the Pyramid documentation.
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1714 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1715 page = self.__plugin.getPreferences("PyramidDocUrl")
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1716 self.__ui.launchHelpViewer(page)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1717
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1718 ##################################################################
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1719 ## slots below implement translation functions
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1720 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1721
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1722 def __getLocale(self, filename):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1723 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1724 Private method to extract the locale out of a file name.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1725
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1726 @param filename name of the file used for extraction
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1727 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1728 @return extracted locale or None
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1729 @rtype str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1730 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1731 if self.__ericProject.getTranslationPattern():
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1732 # On Windows, path typically contains backslashes. This leads
142
77e872c9c300 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 140
diff changeset
1733 # to an invalid search pattern '...\(' because the opening bracket
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1734 # will be escaped.
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1735 pattern = self.__ericProject.getTranslationPattern()
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1736 pattern = os.path.normpath(pattern)
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1737 pattern = pattern.replace("%language%", "(.*?)")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1738 pattern = pattern.replace("\\", "\\\\")
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1739 match = re.search(pattern, filename)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1740 if match is not None:
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1741 return match.group(1)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1742
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1743 return None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1744
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1745 def __normalizeList(self, filenames):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1746 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1747 Private method to normalize a list of file names.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1748
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1749 @param filenames list of file names to normalize
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1750 @type list of str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1751 @return normalized file names
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1752 @rtype list of str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1753 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1754 nfilenames = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1755 for filename in filenames:
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1756 if filename.endswith(".mo"):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1757 filename = filename.replace(".mo", ".po")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1758 if filename not in nfilenames:
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1759 nfilenames.append(filename)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1760
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1761 return nfilenames
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1762
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1763 def __projectFilteredList(self, filenames):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1764 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1765 Private method to filter a list of file names by Pyramid project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1766
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1767 @param filenames list of file names to be filtered
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1768 @type list of str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1769 @return file names belonging to the current site
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1770 @rtype list of str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1771 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1772 project = self.__project()
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1773 nfilenames = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1774 for filename in filenames:
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1775 if filename.startswith(project + os.sep):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1776 nfilenames.append(filename)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1777
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1778 return nfilenames
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1779
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1780 def extractMessages(self):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1781 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1782 Public method to extract the messages catalog template file.
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1783 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1784 title = self.tr("Extract messages")
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1785 try:
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
1786 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1787 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1788 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1789 self.__ui,
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1790 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1791 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1792 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1793 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1794 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1795 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1796 return
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1797
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1798 config = configparser.ConfigParser()
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1799 config.read(os.path.join(projectPath, "setup.cfg"))
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1800 try:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1801 potFile = config.get("extract_messages", "output_file")
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1802 except configparser.NoSectionError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1803 EricMessageBox.warning(
58
6acbfbba1e9d Corrected some code and documentation style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 57
diff changeset
1804 self.__ui,
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1805 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1806 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1807 'No setup.cfg found or no "extract_messages"'
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1808 " section found in setup.cfg."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1809 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1810 )
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1811 return
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1812 except configparser.NoOptionError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1813 EricMessageBox.warning(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1814 self.__ui, title, self.tr('No "output_file" option found in setup.cfg.')
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1815 )
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1816 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1817
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
1818 with contextlib.suppress(OSError):
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1819 path = os.path.join(projectPath, os.path.dirname(potFile))
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1820 os.makedirs(path)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1821
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1822 cmd = self.getPythonCommand()
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1823 args = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1824 args.append("setup.py")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1825 args.append("extract_messages")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1826
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1827 dia = PyramidDialog(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1828 title, msgSuccess=self.tr("\nMessages extracted successfully.")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1829 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1830 res = dia.startProcess(cmd, args, projectPath)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1831 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1832 dia.exec()
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1833 self.__ericProject.appendFile(os.path.join(projectPath, potFile))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1834
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1835 def __projectLanguageAdded(self, code):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1836 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1837 Private slot handling the addition of a new language.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1838
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1839 @param code language code of the new language
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1840 @type str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1841 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1842 title = self.tr("Initializing message catalog for '{0}'").format(code)
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1843 try:
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
1844 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1845 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1846 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1847 self.__ui,
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1848 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1849 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1850 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1851 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1852 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1853 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1854 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1855
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1856 cmd = self.getPythonCommand()
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1857 args = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1858 args.append("setup.py")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1859 args.append("init_catalog")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1860 args.append("-l")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1861 args.append(code)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1862
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1863 dia = PyramidDialog(
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
1864 title, msgSuccess=self.tr("\nMessage catalog initialized successfully.")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1865 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1866 res = dia.startProcess(cmd, args, projectPath)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1867 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1868 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1869
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1870 langFile = self.__ericProject.getTranslationPattern().replace(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1871 "%language%", code
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1872 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1873 self.__ericProject.appendFile(langFile)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1874
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
1875 def compileCatalogs(self, filenames): # noqa: U100
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1876 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1877 Public method to compile the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1878
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1879 @param filenames list of filenames (not used)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1880 @type list of str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1881 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1882 title = self.tr("Compiling message catalogs")
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1883 try:
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
1884 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1885 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1886 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1887 self.__ui,
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1888 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1889 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1890 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1891 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1892 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1893 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1894 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1895
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1896 cmd = self.getPythonCommand()
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1897 args = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1898 args.append("setup.py")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1899 args.append("compile_catalog")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1900
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1901 dia = PyramidDialog(
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
1902 title, msgSuccess=self.tr("\nMessage catalogs compiled successfully.")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1903 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1904 res = dia.startProcess(cmd, args, projectPath)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1905 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1906 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1907
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1908 for entry in os.walk(projectPath):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1909 for fileName in entry[2]:
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1910 fullName = os.path.join(entry[0], fileName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1911 if fullName.endswith(".mo"):
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1912 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1913
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1914 def compileSelectedCatalogs(self, filenames):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1915 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1916 Public method to update the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1917
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1918 @param filenames list of file names
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1919 @type list of str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1920 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1921 title = self.tr("Compiling message catalogs")
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1922 try:
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
1923 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1924 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1925 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1926 self.__ui,
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1927 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1928 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1929 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1930 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1931 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1932 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1933 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1934
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1935 argsLists = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1936
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1937 for filename in self.__normalizeList(self.__projectFilteredList(filenames)):
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1938 locale = self.__getLocale(filename)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1939 if locale:
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1940 args = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1941 args.append(self.getPythonCommand())
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1942 args.append("setup.py")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1943 args.append("compile_catalog")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1944 args.append("-l")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1945 args.append(locale)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1946 argsLists.append(args)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1947
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1948 if len(argsLists) == 0:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1949 EricMessageBox.warning(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1950 self.__ui, title, self.tr("No locales detected. Aborting...")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1951 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1952 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1953
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1954 dia = PyramidDialog(
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
1955 title, msgSuccess=self.tr("\nMessage catalogs compiled successfully.")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1956 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1957 res = dia.startBatchProcesses(argsLists, projectPath)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1958 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1959 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1960
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1961 for entry in os.walk(self.__sitePath()):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1962 for fileName in entry[2]:
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1963 fullName = os.path.join(entry[0], fileName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1964 if fullName.endswith(".mo"):
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1965 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1966
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
1967 def updateCatalogs(self, filenames): # noqa: U100
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1968 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1969 Public method to update the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1970
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1971 @param filenames list of filenames (not used)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1972 @type list of str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1973 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1974 title = self.tr("Updating message catalogs")
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1975 try:
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
1976 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1977 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1978 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1979 self.__ui,
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1980 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1981 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1982 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1983 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1984 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1985 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1986 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1987
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1988 cmd = self.getPythonCommand()
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1989 args = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1990 args.append("setup.py")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1991 args.append("update_catalog")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1992
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1993 dia = PyramidDialog(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1994 title, msgSuccess=self.tr("\nMessage catalogs updated successfully.")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1995 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1996 res = dia.startProcess(cmd, args, projectPath)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1997 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1998 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1999
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2000 def updateSelectedCatalogs(self, filenames):
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2001 """
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2002 Public method to update the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2003
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2004 @param filenames list of filenames
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2005 @type list of str
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2006 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
2007 title = self.tr("Updating message catalogs")
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2008 try:
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
2009 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2010 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2011 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2012 self.__ui,
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2013 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2014 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2015 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2016 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2017 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2018 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2019 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2020
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2021 argsLists = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2022
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2023 for filename in self.__normalizeList(self.__projectFilteredList(filenames)):
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2024 locale = self.__getLocale(filename)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2025 if locale:
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2026 args = []
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2027 args.append(self.getPythonCommand())
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2028 args.append("setup.py")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2029 args.append("update_catalog")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2030 args.append("-l")
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2031 args.append(locale)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2032 argsLists.append(args)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2033
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2034 if len(argsLists) == 0:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2035 EricMessageBox.warning(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2036 self.__ui, title, self.tr("No locales detected. Aborting...")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2037 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2038 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2039
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2040 dia = PyramidDialog(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2041 title, msgSuccess=self.tr("\nMessage catalogs updated successfully.")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2042 )
3
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2043 res = dia.startBatchProcesses(argsLists, projectPath)
76c45d31d462 Added the internationalization related functions (only for Python 2 because babel and lingua are not supported by Python 3 yet).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
2044 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
2045 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2046
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
2047 def openPOEditor(self, poFile):
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2048 """
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2049 Public method to edit the given file in an external .po editor.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2050
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2051 @param poFile name of the .po file
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2052 @type str
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
2053 """
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2054 editor = self.__plugin.getPreferences("TranslationsEditor")
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2055 if poFile.endswith(".po") and editor:
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2056 try:
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
2057 wd = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2058 except PyramidNoProjectSelectedError:
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
2059 wd = ""
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2060 started, pid = QProcess.startDetached(editor, [poFile], wd)
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2061 if not started:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2062 EricMessageBox.critical(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2063 None,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2064 self.tr("Process Generation Error"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2065 self.tr(
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
2066 "The translations editor process ({0}) could not be started."
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2067 ).format(os.path.basename(editor)),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2068 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2069
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
2070 #######################################################################
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
2071 ## database related methods and slots below
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
2072 #######################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2073
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
2074 def getAlembicCommand(self):
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
2075 """
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
2076 Public method to get the path to the alembic executable of the current
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
2077 Pyramid project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2078
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
2079 @return path to the alembic executable
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
2080 @rtype str
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
2081 """
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
2082 return self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2083 "alembic", virtualEnv=self.getProjectVirtualEnvironment()
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
2084 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2085
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
2086 def migrationsPath(self):
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
2087 """
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
2088 Public method to get the path to the migrations directory of the
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
2089 current Pyramid project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2090
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
2091 @return pathof the directory containing the migrations
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
2092 @rtype str
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
2093 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2094 return os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2095 self.projectPath(), self.__currentProject, "alembic", "versions"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2096 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2097
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
2098 def __getInitDbCommand(self):
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
2099 """
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
2100 Private method to create the path to the initialization script.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2101
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
2102 @return path to the initialization script
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
2103 @rtype str
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
2104 """
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
2105 try:
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
2106 cmd = "initialize_{0}_db".format(self.__project())
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
2107 return self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2108 cmd, virtualEnv=self.getProjectVirtualEnvironment()
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
2109 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2110 except PyramidNoProjectSelectedError:
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
2111 EricMessageBox.warning(
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
2112 self.__ui,
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
2113 self.tr("Initialize Database"),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2114 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2115 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2116 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2117 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2118 )
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
2119 return ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2120
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
2121 @pyqtSlot()
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
2122 def __initializeDatabase(self):
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
2123 """
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
2124 Private slot to initialize the database of the Pyramid project.
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
2125 """
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
2126 title = self.tr("Initialize Database")
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
2127 try:
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
2128 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2129 except PyramidNoProjectSelectedError:
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
2130 EricMessageBox.warning(
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
2131 self.__ui,
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
2132 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2133 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2134 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2135 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2136 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2137 )
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
2138 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2139
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
2140 cmd = self.__getInitDbCommand()
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
2141 args = []
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
2142 args.append("development.ini")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2143
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
2144 dia = PyramidDialog(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2145 title, msgSuccess=self.tr("Database initialized successfully.")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2146 )
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
2147 res = dia.startProcess(cmd, args, projectPath)
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
2148 if res:
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
2149 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2150
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
2151 @pyqtSlot()
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
2152 def __createMigration(self):
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
2153 """
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
2154 Private slot to create a new database migration.
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
2155 """
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
2156 title = self.tr("Create Migration")
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
2157 projectPath = self.projectPath()
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
2158 migrations = self.migrationsPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2159
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
2160 message, ok = QInputDialog.getText(
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
2161 None,
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
2162 title,
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
2163 self.tr("Enter a short message for the migration:"),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2164 QLineEdit.EchoMode.Normal,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2165 )
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
2166 if ok:
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
2167 args = ["-c", "development.ini", "revision", "--autogenerate"]
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
2168 if migrations:
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
2169 args += ["--version-path", migrations]
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
2170 if message:
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
2171 args += ["--message", message]
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2172
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
2173 dlg = PyramidDialog(
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
2174 title,
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
2175 msgSuccess=self.tr("\nMigration created successfully."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2176 linewrap=False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2177 combinedOutput=True,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2178 parent=self.__ui,
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
2179 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2180 if dlg.startProcess(self.getAlembicCommand(), args, workingDir=projectPath):
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
2181 dlg.exec()
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
2182 if dlg.normalExit():
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
2183 versionsPattern = os.path.join(migrations, "*.py")
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
2184 for fileName in glob.iglob(versionsPattern):
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
2185 self.__ericProject.appendFile(fileName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2186
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
2187 @pyqtSlot()
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
2188 def upgradeDatabase(self, revision=None):
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
2189 """
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
2190 Public slot to upgrade the database to the head or a given version.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2191
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
2192 @param revision migration revision to upgrade to
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
2193 @type str
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
2194 """
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
2195 title = self.tr("Upgrade Database")
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
2196 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2197
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
2198 args = ["-c", "development.ini", "upgrade"]
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
2199 if revision:
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
2200 args.append(revision)
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
2201 else:
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
2202 args.append("head")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2203
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
2204 dlg = PyramidDialog(
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
2205 title,
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
2206 msgSuccess=self.tr("\nDatabase upgraded successfully."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2207 linewrap=False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2208 combinedOutput=True,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2209 parent=self.__ui,
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
2210 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2211 if dlg.startProcess(self.getAlembicCommand(), args, workingDir=projectPath):
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
2212 dlg.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2213
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
2214 @pyqtSlot()
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
2215 def downgradeDatabase(self, revision=None):
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
2216 """
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
2217 Public slot to downgrade the database to the previous or a given
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
2218 version.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2219
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
2220 @param revision migration revision to downgrade to
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
2221 @type str
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
2222 """
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
2223 title = self.tr("Downgrade Database")
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
2224 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2225
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
2226 args = ["-c", "development.ini", "downgrade"]
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
2227 if revision:
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
2228 args.append(revision)
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
2229 else:
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
2230 args.append("-1")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2231
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
2232 dlg = PyramidDialog(
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
2233 title,
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
2234 msgSuccess=self.tr("\nDatabase downgraded successfully."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2235 linewrap=False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2236 combinedOutput=True,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2237 parent=self.__ui,
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
2238 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2239 if dlg.startProcess(self.getAlembicCommand(), args, workingDir=projectPath):
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
2240 dlg.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2241
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
2242 @pyqtSlot()
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
2243 def __showMigrationsSummary(self):
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
2244 """
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
2245 Private slot to show a migrations history summary.
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
2246 """
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
2247 from .MigrateSummaryDialog import MigrateSummaryDialog
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2248
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
2249 if self.__migrationSummaryDialog is None:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2250 self.__migrationSummaryDialog = MigrateSummaryDialog(self, parent=self.__ui)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2251
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
2252 self.__migrationSummaryDialog.showSummary()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2253
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
2254 @pyqtSlot()
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
2255 def __showMigrationsHistory(self):
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
2256 """
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
2257 Private slot to show the full migrations history.
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
2258 """
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
2259 title = self.tr("Migrations History")
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
2260 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2261
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2262 args = ["-c", "development.ini", "history", "--indicate-current", "--verbose"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2263
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
2264 dlg = PyramidDialog(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2265 title, linewrap=False, combinedOutput=True, parent=self.__ui
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
2266 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2267 if dlg.startProcess(self.getAlembicCommand(), args, workingDir=projectPath):
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
2268 dlg.exec()

eric ide

mercurial