ProjectPyramid/Project.py

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

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

Updated copyright for 2025.

2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
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
171
4a8bf0845603 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3 # Copyright (c) 2012 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
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
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
731 dlg = FormSelectionDialog(parent=self.__ui)
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,
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1068 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1069 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1070 msgBox.setIconPixmap(
160
41b23683d5a1 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1071 EricPixmapCache.getPixmap(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1072 os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1073 "ProjectPyramid", "icons", "pyramid64-{0}".format(self.__iconSuffix)
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 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1076 )
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1077 msgBox.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1078
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1079 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
1080 """
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1081 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
1082
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1083 @return Pyramid version
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1084 @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
1085 """
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
1086 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
1087 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1088 "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
1089 )
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
1090 try:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1091 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
1092 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
1093 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
1094 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
1095 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
1096 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
1097 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
1098 self.__pyramidVersion = ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1099
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
1100 return self.__pyramidVersion
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1101
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1102 def getPyramidVersion(self):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1103 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1104 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
1105
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1106 @return Pyramid version
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1107 @rtype tuple of int
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1108 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1109 pyramidVersionStr = self.getPyramidVersionString()
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1110 pyramidVersionList = []
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1111 if pyramidVersionStr:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1112 for part in pyramidVersionStr.split("."):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1113 try:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1114 pyramidVersionList.append(int(part))
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1115 except ValueError:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1116 pyramidVersionList.append(part)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1117
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1118 return tuple(pyramidVersionList)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1119
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1120 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
1121 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1122 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
1123
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1124 @param consoleCmd console command
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1125 @type str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1126 @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
1127 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
1128 @rtype str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1129 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1130 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
1131 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
1132 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1133 return (False, consoleCmd)
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1134
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1135 def __adjustWorkingDirectory(self, args, wd):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1136 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1137 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
1138
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1139 @param args list of arguments to be modified
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1140 @type list of str
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1141 @param wd working directory
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1142 @type str
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1143 """
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1144 if args[0].endswith("konsole") and "--workdir" in args:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1145 index = args.index("--workdir")
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1146 args[index + 1] = wd
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1147 elif args[0].endswith(("gnome-terminal", "mate-terminal")):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1148 for index in range(len(args)):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1149 if args[index].startswith("--working-directory="):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1150 args[index] = "--working-directory={0}".format(wd)
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1151 break
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1152
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1153 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1154 ## 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
1155 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1156
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1157 def __createProject(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1158 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1159 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
1160 """
37
1b089e0fba1e Modified the code to do lazy import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1161 from .CreateParametersDialog import CreateParametersDialog
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1162
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1163 dlg = CreateParametersDialog(parent=self.__ui)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1164 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
1165 template, version, overwrite, contextData = dlg.getData()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1166
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
1167 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
1168 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
1169 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
1170 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
1171 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
1172 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
1173 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
1174 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
1175 args.append("{0}={1}".format(context, data))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1176 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
1177 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
1178 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
1179 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
1180 # 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
1181 # to the project
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1182 projectPath = os.path.join(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1183 self.__ericProject.getProjectPath(), contextData["repo_name"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1184 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1185 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
1186 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
1187 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
1188 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1189
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1190 # create the base directory for translations
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1191 i18nPath = os.path.join(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1192 projectPath, contextData["repo_name"].lower(), "i18n"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1193 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1194 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
1195 os.makedirs(i18nPath)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1196 self.__ericProject.setDirty(True)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1197
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
1198 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
1199 argsLists = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1200
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
1201 # 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
1202 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
1203 # 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
1204 python = self.__assemblePyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1205 "python", os.path.join(projectPath, "env")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1206 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1207 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1208 [
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1209 python,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1210 "-m",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1211 "pip",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1212 "install",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1213 "--upgrade",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1214 "pip",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1215 "setuptools",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1216 ]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1217 )
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
1218 # 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
1219 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1220 [python, "-m", "pip", "install", "-e", ".[testing]"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1221 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1222
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
1223 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1224 "backend" in contextData
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1225 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
1226 ):
dcbd3a96f03c Ported 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 # 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
1228 combinedOutput = True
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1229
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
1230 # 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
1231 alembic = self.__assemblePyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1232 "alembic", os.path.join(projectPath, "env")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1233 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1234 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1235 [
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1236 alembic,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1237 "-c",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1238 "development.ini",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1239 "revision",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1240 "--autogenerate",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1241 "--message",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1242 "initialized database",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1243 ]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1244 )
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
1245 # 5. upgrade database to initial version
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1246 argsLists.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1247 [alembic, "-c", "development.ini", "upgrade", "head"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1248 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1249
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
1250 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
1251 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
1252 combinedOutput=combinedOutput,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1253 parent=self.__ui,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1254 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1255 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
1256 dlg.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1257
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
1258 self.__setCurrentProject(contextData["repo_name"])
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1259
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
1260 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1261 "backend" in contextData
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1262 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
1263 ):
dcbd3a96f03c Ported 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 # 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
1265 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
1266 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
1267 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
1268 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
1269 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1270
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1271 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1272 ## 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
1273 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1274
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1275 def __findProjects(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1276 """
19
f4adfe6e51b0 Corrected PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 14
diff changeset
1277 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
1278 projects (= top level dirs).
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1279
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1280 @return list of projects
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1281 @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
1282 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1283 projects = []
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1284 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
1285 for entry in os.listdir(ppath):
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1286 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
1287 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
1288 return sorted(projects)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1289
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1290 def __selectProject(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1291 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1292 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
1293 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1294 projects = self.__findProjects()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1295 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
1296 project = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1297 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
1298 project = projects[0]
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1299 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1300 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
1301 try:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1302 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
1303 except ValueError:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1304 cur = 0
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1305 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1306 cur = 0
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1307 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
1308 self.__ui,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1309 self.tr("Select Pyramid Project"),
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1310 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
1311 projects,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1312 cur,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1313 False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1314 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1315 if not ok:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1316 projects = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1317 self.__setCurrentProject(project)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1318
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
1319 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
1320 """
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
1321 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
1322
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1323 @return path of the project
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1324 @rtype str
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1325 @exception PyramidNoProjectSelectedError raised, if no project is
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1326 selected
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1327 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1328 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
1329 self.__selectProject()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1330
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1331 if self.__currentProject is None:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1332 raise PyramidNoProjectSelectedError
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1333 else:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1334 return os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1335 self.__ericProject.getProjectPath(), self.__currentProject
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1336 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1337
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1338 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
1339 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1340 Private slot to set the current project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1341
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1342 @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
1343 @type str
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1344 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1345 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
1346 self.__currentProject = None
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1347 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1348 self.__currentProject = project
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1349
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
1350 curProject = (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1351 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
1352 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1353 self.selectProjectAct.setText(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1354 self.tr("&Current Pyramid Project ({0})").format(curProject)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1355 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1356
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1357 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
1358 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
1359 else:
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1360 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
1361 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
1362 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
1363 try:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1364 outputDir = config.get("init_catalog", "output_dir")
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1365 except (configparser.NoOptionError, configparser.NoSectionError):
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1366 outputDir = "{0}/locale".format(lowerProject)
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1367 try:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1368 domain = config.get("init_catalog", "domain")
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1369 except (configparser.NoOptionError, configparser.NoSectionError):
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1370 domain = lowerProject
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1371 self.__ericProject.setTranslationPattern(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1372 os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1373 project,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1374 outputDir,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1375 "%language%",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1376 "LC_MESSAGES",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1377 "{0}.po".format(domain),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1378 )
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
1379 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1380
5
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1381 if self.__currentProject is None:
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1382 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
1383 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
1384 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
1385 else:
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1386 initCmd = self.__getInitDbCommand()
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1387 self.initializeDbAct.setEnabled(os.path.exists(initCmd))
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1388
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
1389 alembicDir = os.path.join(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1390 self.projectPath(), self.__currentProject, "alembic", "versions"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1391 )
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
1392 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
1393
150
b916658d5014 Fixed a few bugs and did some streamlining.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1394 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
1395 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
1396 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
1397 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
1398 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
1399 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
1400 self.buildDistroAct.setEnabled(project is not None)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1401
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1402 def __project(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1403 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1404 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
1405
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1406 @return name of the project
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1407 @rtype str
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1408 @exception PyramidNoProjectSelectedError raised, if no project is
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1409 selected
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1410 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1411 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
1412 self.__selectProject()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1413
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1414 if self.__currentProject is None:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1415 raise PyramidNoProjectSelectedError
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1416 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1417 return self.__currentProject
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1418
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1419 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1420 ## 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
1421 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1422
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
1423 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
1424 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1425 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
1426 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1427 consoleCmd = self.isSpawningConsole(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1428 self.__plugin.getPreferences("ConsoleCommand")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1429 )[1]
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1430 if consoleCmd:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1431 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
1432 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1433 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1434 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1435 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1436 self.tr("Run Server"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1437 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1438 "No current Pyramid project selected or no"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1439 " Pyramid project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1440 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1441 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1442 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1443
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1444 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
1445 args[0] = getExecutablePath(args[0])
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1446 args.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1447 self.getPyramidCommand(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1448 "pserve", virtualEnv=self.getProjectVirtualEnvironment()
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1449 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1450 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1451 args.append("--reload")
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1452 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
1453
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1454 if isWindowsPlatform():
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1455 serverProcStarted, pid = QProcess.startDetached(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1456 args[0], args[1:], projectPath
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1457 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1458 else:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1459 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
1460 self.__serverProcFinished()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1461
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1462 self.__serverProc = QProcess()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1463 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
1464 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
1465 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
1466 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
1467 if not serverProcStarted:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1468 EricMessageBox.critical(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1469 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1470 self.tr("Process Generation Error"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1471 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
1472 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1473
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1474 def __serverProcFinished(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1475 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1476 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
1477 """
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1478 if (
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1479 self.__serverProc is not None
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1480 and self.__serverProc.state() != QProcess.ProcessState.NotRunning
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1481 ):
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1482 self.__serverProc.terminate()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1483 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
1484 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
1485 self.__serverProc = None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1486
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1487 def __runBrowser(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1488 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1489 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
1490 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1491 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
1492 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1493 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1494 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1495 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1496 self.tr("Run Web-Browser"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1497 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1498 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1499 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1500 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1501 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1502 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1503
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1504 config = configparser.ConfigParser()
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1505 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
1506 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
1507 listen = config.get("server:main", "listen")
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1508 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
1509 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
1510 url = "http://{0}".format(listen)
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1511 if self.__plugin.getPreferences("UseExternalBrowser"):
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1512 res = QDesktopServices.openUrl(QUrl(url))
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1513 if not res:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1514 EricMessageBox.critical(
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1515 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1516 self.tr("Run Web-Browser"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1517 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
1518 '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
1519 ).format(url.toString()),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1520 )
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1521 else:
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1522 self.__ui.launchHelpViewer(url)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1523
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1524 def __runPythonShell(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1525 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1526 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
1527 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1528 consoleCmd = self.isSpawningConsole(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1529 self.__plugin.getPreferences("ConsoleCommand")
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1530 )[1]
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1531 if consoleCmd:
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1532 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
1533 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1534 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1535 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1536 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1537 self.tr("Start Pyramid Python Console"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1538 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1539 "No current Pyramid project selected or no"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1540 " Pyramid project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1541 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1542 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1543 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1544
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1545 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
1546 args[0] = getExecutablePath(args[0])
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1547 args.append(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1548 self.getPyramidCommand(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1549 "pshell", virtualEnv=self.getProjectVirtualEnvironment()
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1550 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1551 )
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1552 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
1553 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
1554 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
1555
95
2b0933087db9 Made these changes:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 91
diff changeset
1556 self.__adjustWorkingDirectory(args, projectPath)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1557 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
1558 if not started:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1559 EricMessageBox.critical(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1560 self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1561 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
1562 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
1563 )
2
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 ##################################################################
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1566 ## 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
1567 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1568
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1569 def __buildDistribution(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1570 """
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1571 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
1572 project.
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1573 """
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
1574 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
1575
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1576 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
1577 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
1578 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1579 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1580 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1581 self.__ui,
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1582 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1583 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1584 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1585 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1586 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1587 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1588 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1589
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1590 dlg = DistributionTypeSelectionDialog(self, projectPath, parent=self.__ui)
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1591 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
1592 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
1593 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1594 "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
1595 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1596 args = []
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1597 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
1598 args.append("sdist")
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1599 if formats:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1600 args.append("--formats={0}".format(",".join(formats)))
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1601
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1602 dia = PyramidDialog(
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1603 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
1604 msgSuccess=self.tr("Python distribution file built successfully."),
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1605 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1606 )
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1607 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
1608 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1609 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1610
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1611 ##################################################################
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1612 ## slots below implement various debugging functions
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1613 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1614
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1615 def __showMatchingViews(self):
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1616 """
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1617 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
1618 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1619 title = self.tr("Show Matching Views")
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1620 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
1621 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1622 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1623 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1624 self.__ui,
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1625 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1626 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1627 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1628 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1629 ),
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 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1632
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1633 url, ok = QInputDialog.getText(
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1634 self.__ui,
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1635 self.tr("Show Matching Views"),
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1636 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
1637 QLineEdit.EchoMode.Normal,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1638 "/",
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1639 )
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1640 if not ok or url == "":
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1641 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1642
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 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1644 "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
1645 )
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1646 args = []
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1647 args.append("development.ini")
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1648 args.append(url)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1649
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1650 dia = PyramidDialog(title, fixed=True, linewrap=False, parent=self.__ui)
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1651 res = dia.startProcess(cmd, args, projectPath)
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1652 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1653 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1654
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1655 def __showRoutes(self):
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1656 """
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1657 Private slot showing all URL dispatch routes.
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1658 """
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
1659 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
1660
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1661 title = self.tr("Show Routes")
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1662 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
1663 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1664 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1665 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1666 self.__ui,
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1667 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1668 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1669 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1670 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1671 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1672 )
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1673 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1674
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1675 dia = PyramidRoutesDialog(self, parent=self.__ui)
13
227a115ab2a1 Added a specialized dialog to show the configured routes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1676 res = dia.start(projectPath)
9
0ebc5b152c6c Added code for the 'proutes' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1677 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1678 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1679
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1680 def __showTweens(self):
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1681 """
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1682 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
1683 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1684 title = self.tr("Show Tween Objects")
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1685 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
1686 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1687 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1688 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1689 self.__ui,
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1690 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1691 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1692 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1693 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1694 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1695 )
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1696 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1697
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 cmd = self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1699 "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
1700 )
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1701 args = []
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1702 args.append("development.ini")
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1703
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1704 dia = PyramidDialog(title, fixed=True, linewrap=False, parent=self.__ui)
10
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1705 res = dia.startProcess(cmd, args, projectPath)
3330f7087434 Added code for the 'ptweens' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
1706 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1707 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1708
8
ac62d7dc6a37 Added code for the 'pviews' command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1709 ##################################################################
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1710 ## 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
1711 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1712
2
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1713 def __showDocumentation(self):
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1714 """
5
455dc39cd212 Added action to initialize a Pyramid project database.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1715 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
1716 """
e691c51ab655 Implemented the required command actions for supporting development of Pyramid projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1717 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
1718 self.__ui.launchHelpViewer(page)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1719
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
1720 ##################################################################
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
1721 ## 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
1722 ##################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1723
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
1724 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
1725 """
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
1726 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
1727
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1728 @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
1729 @type str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1730 @return extracted locale or None
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1731 @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
1732 """
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1733 if self.__ericProject.getTranslationPattern():
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1734 # 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
1735 # 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
1736 # will be escaped.
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1737 pattern = self.__ericProject.getTranslationPattern()
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1738 pattern = os.path.normpath(pattern)
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1739 pattern = pattern.replace("%language%", "(.*?)")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1740 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
1741 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
1742 if match is not None:
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1743 return match.group(1)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1744
138
72ebb74aa42d Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 133
diff changeset
1745 return None
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1746
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
1747 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
1748 """
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
1749 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
1750
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1751 @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
1752 @type list of str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1753 @return normalized file names
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1754 @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
1755 """
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 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
1757 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
1758 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
1759 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
1760 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
1761 nfilenames.append(filename)
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 return nfilenames
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1764
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
1765 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
1766 """
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
1767 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
1768
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1769 @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
1770 @type list of str
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1771 @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
1772 @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
1773 """
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 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
1775 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
1776 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
1777 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
1778 nfilenames.append(filename)
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 return nfilenames
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1781
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
1782 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
1783 """
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
1784 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
1785 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1786 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
1787 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
1788 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1789 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1790 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1791 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
1792 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1793 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1794 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1795 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1796 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1797 )
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
1798 return
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1799
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1800 config = configparser.ConfigParser()
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1801 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
1802 try:
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1803 potFile = config.get("extract_messages", "output_file")
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1804 except configparser.NoSectionError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1805 EricMessageBox.warning(
58
6acbfbba1e9d Corrected some code and documentation style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 57
diff changeset
1806 self.__ui,
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1807 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1808 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1809 'No setup.cfg found or no "extract_messages"'
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1810 " section found in setup.cfg."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1811 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1812 )
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1813 return
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1814 except configparser.NoOptionError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1815 EricMessageBox.warning(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1816 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
1817 )
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1818 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1819
144
5c3684ee818e - removed support for obsolete eric6 versions
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 143
diff changeset
1820 with contextlib.suppress(OSError):
56
c7adc68350dd Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
1821 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
1822 os.makedirs(path)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1823
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
1824 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
1825 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
1826 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
1827 args.append("extract_messages")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1828
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1829 dia = PyramidDialog(
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1830 title,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1831 msgSuccess=self.tr("\nMessages extracted successfully."),
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1832 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1833 )
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
1834 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
1835 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1836 dia.exec()
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1837 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
1838
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
1839 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
1840 """
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 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
1842
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1843 @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
1844 @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
1845 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1846 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
1847 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
1848 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1849 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1850 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1851 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
1852 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1853 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1854 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1855 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1856 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1857 )
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
1858 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1859
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
1860 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
1861 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
1862 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
1863 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
1864 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
1865 args.append(code)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1866
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1867 dia = PyramidDialog(
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1868 title,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1869 msgSuccess=self.tr("\nMessage catalog initialized successfully."),
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1870 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1871 )
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
1872 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
1873 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1874 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1875
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1876 langFile = self.__ericProject.getTranslationPattern().replace(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1877 "%language%", code
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1878 )
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1879 self.__ericProject.appendFile(langFile)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1880
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
1881 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
1882 """
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 Public method to compile the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1884
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
1885 @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
1886 @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
1887 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1888 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
1889 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
1890 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1891 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1892 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1893 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
1894 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1895 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1896 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1897 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1898 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1899 )
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
1900 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1901
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
1902 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
1903 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
1904 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
1905 args.append("compile_catalog")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1906
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1907 dia = PyramidDialog(
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1908 title,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1909 msgSuccess=self.tr("\nMessage catalogs compiled successfully."),
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1910 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1911 )
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
1912 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
1913 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1914 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1915
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
1916 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
1917 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
1918 fullName = os.path.join(entry[0], fileName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1919 if fullName.endswith(".mo"):
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1920 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1921
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 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
1923 """
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
1924 Public method to update the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1925
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1926 @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
1927 @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
1928 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1929 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
1930 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
1931 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1932 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1933 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1934 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
1935 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1936 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1937 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1938 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1939 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1940 )
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
1941 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1942
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
1943 argsLists = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1944
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1945 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
1946 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
1947 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
1948 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
1949 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
1950 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
1951 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
1952 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
1953 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
1954 argsLists.append(args)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1955
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
1956 if len(argsLists) == 0:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1957 EricMessageBox.warning(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1958 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
1959 )
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
1960 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1961
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1962 dia = PyramidDialog(
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1963 title,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1964 msgSuccess=self.tr("\nMessage catalogs compiled successfully."),
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1965 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1966 )
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
1967 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
1968 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
1969 dia.exec()
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 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
1972 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
1973 fullName = os.path.join(entry[0], fileName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1974 if fullName.endswith(".mo"):
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1975 self.__ericProject.appendFile(fullName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1976
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
1977 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
1978 """
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
1979 Public method to update the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1980
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
1981 @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
1982 @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
1983 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
1984 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
1985 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
1986 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1987 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
1988 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1989 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
1990 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1991 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1992 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1993 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1994 ),
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 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
1997
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
1998 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
1999 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
2000 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
2001 args.append("update_catalog")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2002
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2003 dia = PyramidDialog(
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2004 title,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2005 msgSuccess=self.tr("\nMessage catalogs updated successfully."),
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2006 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2007 )
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 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
2009 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
2010 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2011
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
2012 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
2013 """
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
2014 Public method to update the message catalogs.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2015
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
2016 @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
2017 @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
2018 """
74
11587ae1122f Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 71
diff changeset
2019 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
2020 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
2021 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2022 except PyramidNoProjectSelectedError:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2023 EricMessageBox.warning(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2024 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
2025 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2026 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2027 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2028 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2029 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2030 )
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
2031 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2032
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
2033 argsLists = []
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2034
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2035 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
2036 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
2037 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
2038 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
2039 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
2040 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
2041 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
2042 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
2043 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
2044 argsLists.append(args)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2045
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
2046 if len(argsLists) == 0:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2047 EricMessageBox.warning(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2048 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
2049 )
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
2050 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2051
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2052 dia = PyramidDialog(
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2053 title,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2054 msgSuccess=self.tr("\nMessage catalogs updated successfully."),
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2055 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2056 )
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
2057 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
2058 if res:
140
a891fb543d28 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 138
diff changeset
2059 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2060
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
2061 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
2062 """
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2063 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
2064
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2065 @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
2066 @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
2067 """
c313efdb01de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
2068 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
2069 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
2070 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
2071 wd = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2072 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
2073 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
2074 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
2075 if not started:
147
eb28b4b6f7f5 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
2076 EricMessageBox.critical(
54
71c83a661c83 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2077 None,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2078 self.tr("Process Generation Error"),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2079 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
2080 "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
2081 ).format(os.path.basename(editor)),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2082 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2083
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 #######################################################################
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2085 ## 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
2086 #######################################################################
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2087
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
2088 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
2089 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2090 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
2091 Pyramid project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2092
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
2093 @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
2094 @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
2095 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2096 return self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2097 "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
2098 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2099
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
2100 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
2101 """
dcbd3a96f03c Ported 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 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
2103 current Pyramid project.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2104
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
2105 @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
2106 @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
2107 """
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2108 return os.path.join(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2109 self.projectPath(), self.__currentProject, "alembic", "versions"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2110 )
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2111
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
2112 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
2113 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2114 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
2115
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
2116 @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
2117 @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
2118 """
dcbd3a96f03c Ported 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 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
2120 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
2121 return self.getPyramidCommand(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2122 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
2123 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2124 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
2125 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
2126 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
2127 self.tr("Initialize Database"),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2128 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2129 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2130 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2131 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2132 )
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
2133 return ""
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2134
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
2135 @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
2136 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
2137 """
dcbd3a96f03c Ported 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 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
2139 """
dcbd3a96f03c Ported 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 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
2141 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
2142 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2143 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
2144 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
2145 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
2146 title,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2147 self.tr(
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2148 "No current Pyramid project selected or no Pyramid"
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2149 " project created yet. Aborting..."
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2150 ),
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2151 )
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
2152 return
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2153
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
2154 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
2155 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
2156 args.append("development.ini")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2157
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
2158 dia = PyramidDialog(
169
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2159 title,
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2160 msgSuccess=self.tr("Database initialized successfully."),
0405f4f83719 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2161 parent=self.__ui,
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2162 )
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
2163 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
2164 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
2165 dia.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2166
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
2167 @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
2168 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
2169 """
dcbd3a96f03c Ported 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 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
2171 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2172 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
2173 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
2174 migrations = self.migrationsPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2175
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
2176 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
2177 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
2178 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
2179 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
2180 QLineEdit.EchoMode.Normal,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2181 )
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
2182 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
2183 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
2184 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
2185 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
2186 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
2187 args += ["--message", message]
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2188
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
2189 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
2190 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
2191 msgSuccess=self.tr("\nMigration created successfully."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2192 linewrap=False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2193 combinedOutput=True,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2194 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
2195 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2196 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
2197 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
2198 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
2199 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
2200 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
2201 self.__ericProject.appendFile(fileName)
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2202
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
2203 @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
2204 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
2205 """
dcbd3a96f03c Ported 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 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
2207
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
2208 @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
2209 @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
2210 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2211 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
2212 projectPath = self.projectPath()
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 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
2215 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
2216 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
2217 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
2218 args.append("head")
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 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
2221 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
2222 msgSuccess=self.tr("\nDatabase upgraded successfully."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2223 linewrap=False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2224 combinedOutput=True,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2225 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
2226 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2227 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
2228 dlg.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2229
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
2230 @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
2231 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
2232 """
dcbd3a96f03c Ported 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 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
2234 version.
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2235
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
2236 @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
2237 @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
2238 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2239 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
2240 projectPath = self.projectPath()
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 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
2243 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
2244 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
2245 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
2246 args.append("-1")
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2247
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
2248 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
2249 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
2250 msgSuccess=self.tr("\nDatabase downgraded successfully."),
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2251 linewrap=False,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2252 combinedOutput=True,
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2253 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
2254 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2255 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
2256 dlg.exec()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2257
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
2258 @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
2259 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
2260 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2261 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
2262 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2263 from .MigrateSummaryDialog import MigrateSummaryDialog
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2264
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
2265 if self.__migrationSummaryDialog is None:
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2266 self.__migrationSummaryDialog = MigrateSummaryDialog(self, parent=self.__ui)
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2267
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 self.__migrationSummaryDialog.showSummary()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2269
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
2270 @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
2271 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
2272 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2273 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
2274 """
dcbd3a96f03c Ported the plug-in to PyQt6 for eric7 and adopted it for Pyramid 2.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
2275 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
2276 projectPath = self.projectPath()
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2277
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2278 args = ["-c", "development.ini", "history", "--indicate-current", "--verbose"]
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2279
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
2280 dlg = PyramidDialog(
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2281 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
2282 )
159
d4e7f5a389e6 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 156
diff changeset
2283 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
2284 dlg.exec()

eric ide

mercurial