ProjectDjango/Project.py

Tue, 10 Dec 2024 15:48:57 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 10 Dec 2024 15:48:57 +0100
branch
eric7
changeset 197
2667e16a3379
parent 195
b027b4f90994
child 202
b06794ae2a92
permissions
-rw-r--r--

Updated copyright for 2025.

1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
197
2667e16a3379 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 195
diff changeset
3 # Copyright (c) 2013 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the Django project support.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
184
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
10 import contextlib
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
12 import re
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
13 import shutil
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
15 from PyQt6.QtCore import (
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
16 QFileInfo,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
17 QIODeviceBase,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
18 QObject,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
19 QProcess as QProcessPyQt,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
20 QTimer,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
21 QUrl,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
22 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
23 from PyQt6.QtGui import QDesktopServices
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
24 from PyQt6.QtWidgets import QDialog, QInputDialog, QLineEdit, QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
184
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
26 from eric7 import Preferences, Utilities
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
27
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
28 try:
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
29 from eric7.EricGui import EricPixmapCache
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
30 except ImportError:
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
31 from UI import PixmapCache as EricPixmapCache
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
32
184
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
33 from eric7.EricGui.EricAction import EricAction
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
34 from eric7.EricWidgets import EricFileDialog, EricMessageBox
184
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
35 from eric7.EricWidgets.EricApplication import ericApp
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
36
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
37 try:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
38 from eric7.SystemUtilities.OSUtilities import isWindowsPlatform
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
39 except ImportError:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
40 # imports for eric < 23.1
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
41 from eric7.Globals import isWindowsPlatform
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
42 try:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
43 from eric7.SystemUtilities.FileSystemUtilities import (
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
44 getExecutablePath,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
45 getExecutablePaths,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
46 isinpath,
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
47 )
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
48 except ImportError:
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
49 # imports for eric < 23.1
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
50 from eric7.Utilities import getExecutablePath, getExecutablePaths, isinpath
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
51
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 from .DjangoDialog import DjangoDialog
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
55 class DjangoNoSiteSelectedError(Exception):
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 Exception thrown to signal, that there is no current site.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
59
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 pass
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
63 class QProcess(QProcessPyQt):
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
64 """
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
65 Class transforming the call arguments in case of gnome-terminal.
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
66 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
67
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
68 def start(self, cmd, args=None, mode=QIODeviceBase.OpenModeFlag.ReadWrite):
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
69 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
70 Public method to start the given program (cmd) in a new process, if
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
71 none is already running, passing the command line arguments in args.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
72
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
73 @param cmd start the given program cmd
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
74 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
75 @param args list of parameters
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
76 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
77 @param mode access mode
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
78 @type QIODeviceBase.OpenMode
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
79 """
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
80 if args is None:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
81 args = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
82
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
83 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
84 cmd.endswith(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
85 ("gnome-terminal", "konsole", "xfce4-terminal", "mate-terminal")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
86 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
87 and "-e" in args
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
88 ):
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
89 index = args.index("-e") + 1
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
90 cargs = " ".join(args[index:])
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
91 args[index:] = [cargs]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
92
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
93 super().start(cmd, args, mode)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
94
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
95 @staticmethod
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
96 def startDetached(cmd, args=None, path=""):
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
97 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
98 Public static method to start the given program (cmd) in a new process,
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
99 if none is already running, passing the command line arguments in args.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
100
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
101 @param cmd start the given program cmd
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
102 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
103 @param args list of parameters
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
104 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
105 @param path new working directory
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
106 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
107 @return tuple of successful start and process id
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
108 @rtype tuple of (bool, int)
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
109 """
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
110 if args is None:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
111 args = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
112
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
113 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
114 cmd.endswith(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
115 ("gnome-terminal", "konsole", "xfce4-terminal", "mate-terminal")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
116 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
117 and "-e" in args
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
118 ):
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
119 index = args.index("-e") + 1
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
120 cargs = " ".join(args[index:])
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
121 args[index:] = [cargs]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
122
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
123 return QProcessPyQt.startDetached(cmd, args, path)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
124
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
125
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 class Project(QObject):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 Class implementing the Django project support.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
130
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 RecentApplicationsKey = "Django/RecentApplications"
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
132 RecentDatabaseNamesKey = "Django/RecentDatabaseNames"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
133
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
134 def __init__(self, plugin, iconSuffix, parent=None):
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 Constructor
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
137
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @param plugin reference to the plugin object
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
139 @type ProjectDjangoPlugin
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
140 @param iconSuffix suffix for the icons
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
141 @type str
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
142 @param parent parent
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
143 @type QObject
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
145 super().__init__(parent)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
146
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 self.__plugin = plugin
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
148 self.__iconSuffix = iconSuffix
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.__ui = parent
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
150
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
151 self.__ericProject = ericApp().getObject("Project")
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
152 self.__virtualEnvManager = ericApp().getObject("VirtualEnvManager")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 self.__hooksInstalled = False
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
154
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
155 self.__menus = {} # dictionary with references to menus
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
156
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 self.__serverProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 self.__testServerProc = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
159
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 self.__loadRecentApplications()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
162
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
163 self.__recentDatabaseNames = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
164 self.__loadRecentDatabaseNames()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
165
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
166 self.__recentTestData = {
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
167 "RecentTestLabels": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
168 "RecentTestTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
169 "RecentTestExcludeTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
170 }
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
171 self.__loadRecentTestData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
172
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 def initActions(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 """
11
5eda53fad138 Fixed a few bugs (copy-paste issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
175 Public method to define the Django actions.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 self.actions = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
178
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
179 self.selectSiteAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
180 self.tr("Current Project"), "", 0, 0, self, "django_current_project"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
181 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
182 self.selectSiteAct.setStatusTip(self.tr("Selects the current project"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
183 self.selectSiteAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
184 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
185 """<b>Current Project</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
186 """<p>Selects the current project. Used for multi-project """
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
187 """Django projects to switch between the projects.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
188 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
189 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
190 self.selectSiteAct.triggered.connect(self.__selectSite)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 self.actions.append(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 self.__setCurrentSite(None)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
193
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 ## start actions below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
197
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
198 self.startProjectAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
199 self.tr("Start Project"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
200 self.tr("Start &Project"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
201 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
202 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
203 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
204 "django_start_project",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
205 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
206 self.startProjectAct.setStatusTip(self.tr("Starts a new Django project"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
207 self.startProjectAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
208 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
209 """<b>Start Project</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
210 """<p>Starts a new Django project using "django-admin.py"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
211 """ startproject".</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
212 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
213 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
214 self.startProjectAct.triggered.connect(self.__startProject)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 self.actions.append(self.startProjectAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
216
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
217 self.startGlobalApplicationAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
218 self.tr("Start Application (global)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
219 self.tr("Start Application (&global)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
220 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
221 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
222 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
223 "django_start_global_application",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
224 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
225 self.startGlobalApplicationAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
226 self.tr("Starts a new global Django application")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
227 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
228 self.startGlobalApplicationAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
229 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
230 """<b>Start Application (global)</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
231 """<p>Starts a new global Django application using"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
232 """ "django-admin.py startapp".</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
233 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
234 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
235 self.startGlobalApplicationAct.triggered.connect(self.__startGlobalApplication)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 self.actions.append(self.startGlobalApplicationAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
237
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
238 self.startLocalApplicationAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
239 self.tr("Start Application (local)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
240 self.tr("Start Application (&local)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
241 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
242 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
243 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
244 "django_start_local_application",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
245 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
246 self.startLocalApplicationAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
247 self.tr("Starts a new local Django application")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
248 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
249 self.startLocalApplicationAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
250 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
251 """<b>Start Application (local)</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
252 """<p>Starts a new local Django application using"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
253 """ "manage.py startapp".</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
254 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
255 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
256 self.startLocalApplicationAct.triggered.connect(self.__startLocalApplication)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 self.actions.append(self.startLocalApplicationAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
258
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
259 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
260 ## run actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
261 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
262
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
263 self.runServerAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
264 self.tr("Run Server"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
265 self.tr("Run &Server"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
266 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
267 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
268 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
269 "django_run_server",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
270 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
271 self.runServerAct.setStatusTip(self.tr("Starts the Django Web server"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
272 self.runServerAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
273 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
274 """<b>Run Server</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
275 """<p>Starts the Django Web server using "manage.py"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
276 """ runserver".</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
277 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
278 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
279 self.runServerAct.triggered.connect(self.__runServer)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
280 self.actions.append(self.runServerAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
281
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
282 self.runBrowserAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
283 self.tr("Run Web-Browser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
284 self.tr("Run &Web-Browser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
285 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
286 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
287 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
288 "django_run_browser",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
289 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
290 self.runBrowserAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
291 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
292 "Starts the default Web-Browser with the URL of the Django Web"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
293 " server"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
294 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
295 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
296 self.runBrowserAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
297 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
298 """<b>Run Web-Browser</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
299 """<p>Starts the default Web-Browser with the URL of the """
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
300 """Django Web server.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
301 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
302 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
303 self.runBrowserAct.triggered.connect(self.__runBrowser)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
304 self.actions.append(self.runBrowserAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
305
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
306 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
307 ## caching actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
308 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
309
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
310 self.createCacheTableAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
311 self.tr("Create Cache Tables"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
312 self.tr("C&reate Cache Tables"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
313 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
314 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
315 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
316 "django_create_cache_tables",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
317 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
318 self.createCacheTableAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
319 self.tr("Creates the tables needed to use the SQL cache backend")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
320 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
321 self.createCacheTableAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
322 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
323 """<b>Create Cache Tables</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
324 """<p>Creates the tables needed to use the SQL cache"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
325 """ backend.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
326 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
327 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
328 self.createCacheTableAct.triggered.connect(self.__createCacheTables)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
329 self.actions.append(self.createCacheTableAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
330
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 ## help action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
334
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
335 self.helpAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
336 self.tr("Help"), self.tr("&Help"), 0, 0, self, "django_help"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
337 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
338 self.helpAct.setStatusTip(self.tr("Shows the Django help index"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
339 self.helpAct.setWhatsThis(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
340 self.tr("""<b>Help</b><p>Shows the Django help index page.</p>""")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
341 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
342 self.helpAct.triggered.connect(self.__showHelpIndex)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 self.actions.append(self.helpAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
344
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 ## about action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
348
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
349 self.aboutDjangoAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
350 self.tr("About Django"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
351 self.tr("About D&jango"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
352 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
353 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
354 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
355 "django_about",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
356 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
357 self.aboutDjangoAct.setStatusTip(self.tr("Shows some information about Django"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
358 self.aboutDjangoAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
359 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
360 """<b>About Django</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
361 """<p>Shows some information about Django.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
362 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
363 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
364 self.aboutDjangoAct.triggered.connect(self.__djangoInfo)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 self.actions.append(self.aboutDjangoAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
366
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
367 ##############################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
368 ## check action below ##
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
369 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
370
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
371 self.checkAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
372 self.tr("Check Project"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
373 self.tr("Check Project"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
374 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
375 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
376 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
377 "django_check_project",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
378 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
379 self.checkAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
380 self.tr("Inspects the Django project for common problems")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
381 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
382 self.checkAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
383 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
384 """<b>Check Project</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
385 """<p>This inspects the Django project for common problems.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
386 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
387 )
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
388 self.checkAct.triggered.connect(self.__performCheck)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
389 self.actions.append(self.checkAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
390
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
391 self.__initDatabaseActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
392 self.__initDatabaseSqlActions()
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
393 self.__initMigrationActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
394 self.__initToolsActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
395 self.__initTestingActions()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
396 self.__initAuthorizationActions()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
397 self.__initSessionActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
398
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
399 def __initDatabaseActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
400 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
401 Private method to define the database related actions.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
402 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
403 self.selectDatabaseNameAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
404 self.tr("Current Database"), "", 0, 0, self, "django_current_database"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
405 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
406 self.selectDatabaseNameAct.setStatusTip(self.tr("Selects the current database"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
407 self.selectDatabaseNameAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
408 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
409 """<b>Current Database</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
410 """<p>Selects the database name to be used by all database"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
411 """ actions. An empty database name indicates to use the default"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
412 """ name.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
413 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
414 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
415 self.selectDatabaseNameAct.triggered.connect(self.__selectDatabaseName)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
416 self.actions.append(self.selectDatabaseNameAct)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
417 self.__setCurrentDatabase(None)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
418
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
419 self.inspectDatabaseAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
420 self.tr("Introspect"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
421 self.tr("&Introspect"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
422 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
423 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
424 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
425 "django_database_inspect",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
426 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
427 self.inspectDatabaseAct.setStatusTip(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
428 self.tr("Introspects the database tables and outputs a Django model module")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
429 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
430 self.inspectDatabaseAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
431 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
432 """<b>Introspect</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
433 """<p>Introspects the database tables and outputs a """
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
434 """Django model module.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
435 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
436 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
437 self.inspectDatabaseAct.triggered.connect(self.__databaseInspect)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
438 self.actions.append(self.inspectDatabaseAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
439
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
440 self.flushDatabaseAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
441 self.tr("Flush"), self.tr("&Flush"), 0, 0, self, "django_database_flush"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
442 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
443 self.flushDatabaseAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
444 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
445 "Returns all database tables to the state just after their"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
446 " installation"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
447 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
448 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
449 self.flushDatabaseAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
450 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
451 """<b>Flush</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
452 """<p>Returns all database tables to the state """
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
453 """just after their installation.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
454 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
455 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
456 self.flushDatabaseAct.triggered.connect(self.__databaseFlush)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
457 self.actions.append(self.flushDatabaseAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
458
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
459 self.databaseClientAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
460 self.tr("Start Client Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
461 self.tr("Start &Client Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
462 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
463 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
464 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
465 "django_database_client",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
466 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
467 self.databaseClientAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
468 self.tr("Starts a console window for the database client")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
469 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
470 self.databaseClientAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
471 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
472 """<b>Start Client Console</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
473 """<p>Starts a console window for the database client.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
474 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
475 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
476 self.databaseClientAct.triggered.connect(self.__runDatabaseClient)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
477 self.actions.append(self.databaseClientAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
478
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
479 def __initDatabaseSqlActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
480 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
481 Private method to define the database SQL related actions.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
482 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
483 self.databaseSqlFlushAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
484 self.tr("Flush Database"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
485 self.tr("&Flush Database"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
486 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
487 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
488 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
489 "django_database_sql_flush_database",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
490 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
491 self.databaseSqlFlushAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
492 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
493 "Prints a list of statements to return all database tables to the"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
494 " state just after their installation"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
495 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
496 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
497 self.databaseSqlFlushAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
498 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
499 """<b>Flush Database</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
500 """<p>Prints a list of statements to return all database tables"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
501 """ to the state just after their installation.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
502 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
503 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
504 self.databaseSqlFlushAct.triggered.connect(self.__databaseSqlFlushDatabase)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
505 self.actions.append(self.databaseSqlFlushAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
506
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
507 self.databaseSqlResetSeqAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
508 self.tr("Reset Sequences"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
509 self.tr("Reset &Sequences"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
510 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
511 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
512 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
513 "django_database_sql_reset_sequences",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
514 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
515 self.databaseSqlResetSeqAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
516 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
517 "Prints the SQL statements for resetting sequences for "
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
518 "one or more applications"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
519 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
520 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
521 self.databaseSqlResetSeqAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
522 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
523 """<b>Reset Sequences</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
524 """<p>Prints the SQL statements for resetting sequences for """
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
525 """one or more applications.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
526 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
527 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
528 self.databaseSqlResetSeqAct.triggered.connect(self.__databaseSqlResetSequences)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
529 self.actions.append(self.databaseSqlResetSeqAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
530
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
531 self.databaseSqlMigrateAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
532 self.tr("Apply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
533 self.tr("&Apply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
534 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
535 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
536 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
537 "django_database_sql_apply_migration",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
538 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
539 self.databaseSqlMigrateAct.setStatusTip(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
540 self.tr("Prints the SQL statements to apply a migration of an application")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
541 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
542 self.databaseSqlMigrateAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
543 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
544 """<b>Apply Migration</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
545 """<p>Prints the SQL statements to apply a migration of an"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
546 """ application.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
547 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
548 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
549 self.databaseSqlMigrateAct.triggered.connect(self.__databaseSqlMigrate)
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
550 self.actions.append(self.databaseSqlMigrateAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
551
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
552 self.databaseSqlMigrateBackwardsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
553 self.tr("Unapply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
554 self.tr("&Unapply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
555 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
556 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
557 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
558 "django_database_sql_unapply_migration",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
559 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
560 self.databaseSqlMigrateBackwardsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
561 self.tr(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
562 "Prints the SQL statements to unapply a migration of an application"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
563 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
564 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
565 self.databaseSqlMigrateBackwardsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
566 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
567 """<b>Unapply Migration</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
568 """<p>Prints the SQL statements to unapply a migration of an"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
569 """ application.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
570 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
571 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
572 self.databaseSqlMigrateBackwardsAct.triggered.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
573 lambda: self.__databaseSqlMigrate(backwards=True)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
574 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
575 self.actions.append(self.databaseSqlMigrateBackwardsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
576
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
577 def __initToolsActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
578 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
579 Private method to define the tool actions.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
580 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
581 self.diffSettingsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
582 self.tr("Diff Settings"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
583 self.tr("&Diff Settings"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
584 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
585 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
586 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
587 "django_tools_diffsettings",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
588 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
589 self.diffSettingsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
590 self.tr("Shows the modification made to the settings")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
591 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
592 self.diffSettingsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
593 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
594 """<b>Diff Settings</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
595 """<p>Shows the modification made to the settings.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
596 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
597 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
598 self.diffSettingsAct.triggered.connect(self.__diffSettings)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
599 self.actions.append(self.diffSettingsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
600
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
601 self.runPythonShellAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
602 self.tr("Start Python Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
603 self.tr("Start &Python Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
604 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
605 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
606 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
607 "django_tools_pythonconsole",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
608 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
609 self.runPythonShellAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
610 self.tr("Starts a Python interactive interpreter")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
611 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
612 self.runPythonShellAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
613 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
614 """<b>Start Python Console</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
615 """<p>Starts a Python interactive interpreter.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
616 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
617 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
618 self.runPythonShellAct.triggered.connect(self.__runPythonShell)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
619 self.actions.append(self.runPythonShellAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
620
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
621 self.testEmailAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
622 self.tr("Send Test Email"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
623 self.tr("Send Test &Email"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
624 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
625 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
626 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
627 "django_tools_sendtestemail",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
628 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
629 self.testEmailAct.setStatusTip(self.tr("Send a test email through Django"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
630 self.testEmailAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
631 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
632 """<b>Send Test Email</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
633 """<p>Sends a test email to confirm email sending through Django"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
634 """ is working.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
635 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
636 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
637 self.testEmailAct.triggered.connect(self.__sendTestEmail)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
638 self.actions.append(self.testEmailAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
639
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
640 def __initTestingActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
641 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
642 Private method to define the testing actions.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
643 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
644 self.dumpDataAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
645 self.tr("Dump Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
646 self.tr("&Dump Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
647 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
648 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
649 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
650 "django_tools_dumpdata",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
651 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
652 self.dumpDataAct.setStatusTip(self.tr("Dump the database data to a fixture"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
653 self.dumpDataAct.setWhatsThis(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
654 self.tr("""<b>Dump Data</b><p>Dump the database data to a fixture.</p>""")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
655 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
656 self.dumpDataAct.triggered.connect(self.__dumpData)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
657 self.actions.append(self.dumpDataAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
658
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
659 self.loadDataAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
660 self.tr("Load Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
661 self.tr("&Load Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
662 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
663 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
664 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
665 "django_tools_loaddata",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
666 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
667 self.loadDataAct.setStatusTip(self.tr("Load data from fixture files"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
668 self.loadDataAct.setWhatsThis(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
669 self.tr("""<b>Load Data</b><p>Load data from fixture files.</p>""")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
670 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
671 self.loadDataAct.triggered.connect(self.__loadData)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
672 self.actions.append(self.loadDataAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
673
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
674 self.runTestAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
675 self.tr("Run Testsuite"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
676 self.tr("Run &Testsuite"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
677 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
678 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
679 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
680 "django_tools_run_test",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
681 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
682 self.runTestAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
683 self.tr("Run the test suite for applications or the whole site")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
684 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
685 self.runTestAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
686 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
687 """<b>Run Testsuite</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
688 """<p>Run the test suite for applications or the whole site.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
689 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
690 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
691 self.runTestAct.triggered.connect(self.__runTestSuite)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
692 self.actions.append(self.runTestAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
693
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
694 self.runDeprecationTestAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
695 self.tr("Run Testsuite (-Wall)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
696 self.tr("Run Testsuite (-Wall)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
697 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
698 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
699 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
700 "django_tools_run_deprecation_test",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
701 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
702 self.runDeprecationTestAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
703 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
704 "Run the test suite for applications or the whole site with"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
705 " activated deprecation warnings"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
706 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
707 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
708 self.runDeprecationTestAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
709 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
710 """<b>Run Testsuite (-Wall)</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
711 """<p>Run the test suite for applications or the whole site"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
712 """ with activated deprecation warnings.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
713 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
714 )
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
715 self.runDeprecationTestAct.triggered.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
716 lambda: self.__runTestSuite(deprecation=True)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
717 )
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
718 self.actions.append(self.runDeprecationTestAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
719
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
720 self.runTestServerAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
721 self.tr("Run Testserver"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
722 self.tr("Run Test&server"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
723 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
724 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
725 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
726 "django_tools_run_test_server",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
727 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
728 self.runTestServerAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
729 self.tr("Run a development server with data from a set of fixtures")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
730 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
731 self.runTestServerAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
732 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
733 """<b>Run Testserver</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
734 """<p>Run a development server with data from a set of"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
735 """ fixtures.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
736 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
737 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
738 self.runTestServerAct.triggered.connect(self.__runTestServer)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
739 self.actions.append(self.runTestServerAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
740
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
741 def __initAuthorizationActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
742 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
743 Private method to define the authorization actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
744 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
745 self.changePasswordAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
746 self.tr("Change Password"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
747 self.tr("Change &Password"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
748 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
749 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
750 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
751 "django_auth_changepassword",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
752 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
753 self.changePasswordAct.setStatusTip(self.tr("Change the password of a user"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
754 self.changePasswordAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
755 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
756 """<b>Change Password</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
757 """<p>Change the password of a user of the Django project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
758 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
759 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
760 self.changePasswordAct.triggered.connect(self.__changePassword)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
761 self.actions.append(self.changePasswordAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
762
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
763 self.createSuperUserAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
764 self.tr("Create Superuser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
765 self.tr("Create &Superuser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
766 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
767 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
768 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
769 "django_auth_createsuperuser",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
770 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
771 self.createSuperUserAct.setStatusTip(self.tr("Create a superuser account"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
772 self.createSuperUserAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
773 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
774 """<b>Create Superuser</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
775 """<p>Create a superuser account for the Django project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
776 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
777 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
778 self.createSuperUserAct.triggered.connect(self.__createSuperUser)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
779 self.actions.append(self.createSuperUserAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
780
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
781 def __initSessionActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
782 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
783 Private method to define the session actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
784 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
785 self.clearSessionsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
786 self.tr("Clear Sessions"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
787 self.tr("Clear &Sessions"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
788 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
789 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
790 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
791 "django_session_clearsessions",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
792 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
793 self.clearSessionsAct.setStatusTip(self.tr("Clear expired sessions"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
794 self.clearSessionsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
795 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
796 """<b>Clear Sessions</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
797 """<p>Clear expired sessions of the Django project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
798 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
799 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
800 self.clearSessionsAct.triggered.connect(self.__clearSessions)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
801 self.actions.append(self.clearSessionsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
802
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
803 def __initMigrationActions(self):
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
804 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
805 Private method to define the migration actions.
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
806 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
807 self.showMigrationsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
808 self.tr("Show Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
809 self.tr("&Show Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
810 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
811 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
812 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
813 "django_migration_show",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
814 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
815 self.showMigrationsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
816 self.tr("Show a list of available migrations")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
817 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
818 self.showMigrationsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
819 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
820 """<b>Show Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
821 """<p>This shows a list of available migrations of the Django"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
822 """ project and their status.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
823 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
824 )
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
825 self.showMigrationsAct.triggered.connect(self.__showMigrationsList)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
826 self.actions.append(self.showMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
827
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
828 self.showMigrationsPlanAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
829 self.tr("Show Migrations Plan"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
830 self.tr("Show Migrations &Plan"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
831 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
832 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
833 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
834 "django_migration_show_plan",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
835 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
836 self.showMigrationsPlanAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
837 self.tr("Show a list with the migrations plan")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
838 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
839 self.showMigrationsPlanAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
840 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
841 """<b>Show Migrations Plan</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
842 """<p>This shows a list with the migrations plan of the Django"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
843 """ project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
844 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
845 )
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
846 self.showMigrationsPlanAct.triggered.connect(self.__showMigrationsPlan)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
847 self.actions.append(self.showMigrationsPlanAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
848
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
849 self.migrateAllAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
850 self.tr("Apply All Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
851 self.tr("&Apply All Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
852 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
853 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
854 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
855 "django_migration_apply_all",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
856 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
857 self.migrateAllAct.setStatusTip(self.tr("Apply all available migrations"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
858 self.migrateAllAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
859 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
860 """<b>Apply All Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
861 """<p>This applies all migrations of the Django project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
862 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
863 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
864 self.migrateAllAct.triggered.connect(self.__applyAllMigrations)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
865 self.actions.append(self.migrateAllAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
866
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
867 self.migrateSelectedAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
868 self.tr("Apply Selected Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
869 self.tr("Apply Selected Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
870 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
871 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
872 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
873 "django_migration_apply_selected",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
874 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
875 self.migrateSelectedAct.setStatusTip(self.tr("Apply selected migrations"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
876 self.migrateSelectedAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
877 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
878 """<b>Apply Selected Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
879 """<p>This applies selected migrations of the Django"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
880 """ project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
881 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
882 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
883 self.migrateSelectedAct.triggered.connect(self.__applySelectedMigrations)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
884 self.actions.append(self.migrateSelectedAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
885
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
886 self.unmigrateAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
887 self.tr("Unapply Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
888 self.tr("&Unapply Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
889 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
890 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
891 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
892 "django_migration_unapply",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
893 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
894 self.unmigrateAct.setStatusTip(self.tr("Unapply all migrations for an app"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
895 self.unmigrateAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
896 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
897 """<b>Unapply Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
898 """<p>This unapplies all migrations for an app of the Django"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
899 """ project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
900 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
901 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
902 self.unmigrateAct.triggered.connect(self.__unapplyMigrations)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
903 self.actions.append(self.unmigrateAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
904
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
905 self.makeMigrationsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
906 self.tr("Make Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
907 self.tr("&Make Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
908 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
909 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
910 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
911 "django_migration_make",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
912 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
913 self.makeMigrationsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
914 self.tr("Generate migrations for the project")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
915 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
916 self.makeMigrationsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
917 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
918 """<b>Make Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
919 """<p>This generates migrations for the Django project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
920 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
921 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
922 self.makeMigrationsAct.triggered.connect(self.__makeMigrations)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
923 self.actions.append(self.makeMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
924
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
925 self.squashMigrationsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
926 self.tr("Squash Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
927 self.tr("S&quash Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
928 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
929 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
930 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
931 "django_migration_squash",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
932 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
933 self.squashMigrationsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
934 self.tr("Squash migrations of an application of the project")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
935 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
936 self.squashMigrationsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
937 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
938 """<b>Squash Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
939 """<p>This squashes migrations of an application of the"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
940 """ Django project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
941 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
942 )
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
943 self.squashMigrationsAct.triggered.connect(self.__squashMigrations)
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
944 self.actions.append(self.squashMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
945
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
946 def initMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
947 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
948 Public method to initialize the Django menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
949
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
950 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
951 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
952 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
953 self.__menus = {} # clear menus references
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
954
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
955 menu = QMenu(self.tr("D&jango"), self.__ui)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
956 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
957
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
958 menu.addAction(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
959 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
960 menu.addAction(self.runServerAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
961 menu.addAction(self.runBrowserAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
962 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
963 menu.addAction(self.startProjectAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
964 menu.addAction(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
965 menu.addAction(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
966 menu.addSeparator()
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
967 menu.addAction(self.checkAct)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
968 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
969 menu.addMenu(self.__initDatabaseMenu())
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
970 menu.addMenu(self.__initMigrationsMenu())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
971 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
972 menu.addMenu(self.__initToolsMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
973 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
974 menu.addAction(self.createCacheTableAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
975 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
976 menu.addMenu(self.__initTestingMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
977 menu.addSeparator()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
978 menu.addMenu(self.__initAuthorizationMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
979 menu.addSeparator()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
980 menu.addMenu(self.__initSessionMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
981 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
982 menu.addAction(self.aboutDjangoAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
983 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
984 menu.addAction(self.helpAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
985
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
986 self.__menus["main"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
987
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
988 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
989
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
990 def __initDatabaseMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
991 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
992 Private method to initialize the database menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
993
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
994 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
995 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
996 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
997 menu = QMenu(self.tr("&Database"), self.__ui)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
998 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
999
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1000 menu.addAction(self.selectDatabaseNameAct)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1001 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1002 menu.addAction(self.inspectDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1003 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1004 menu.addAction(self.flushDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1005 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1006 menu.addAction(self.databaseClientAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1007 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1008 menu.addMenu(self.__initDatabaseSqlMenu())
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1009
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1010 self.__menus["database"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1011
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1012 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1013
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1014 def __initDatabaseSqlMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1015 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1016 Private method to initialize the database SQL submenu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1017
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1018 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1019 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1020 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1021 menu = QMenu(self.tr("Show &SQL"), self.__ui)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1022 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1023
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1024 menu.addAction(self.databaseSqlFlushAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1025 menu.addAction(self.databaseSqlResetSeqAct)
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
1026 menu.addSeparator()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
1027 menu.addAction(self.databaseSqlMigrateAct)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
1028 menu.addAction(self.databaseSqlMigrateBackwardsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1029
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1030 self.__menus["sql"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1031
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1032 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1033
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1034 def __initMigrationsMenu(self):
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1035 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1036 Private method to initialize the Migrations submenu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1037
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1038 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1039 @rtype QMenu
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1040 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1041 menu = QMenu(self.tr("&Migrations"), self.__ui)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1042 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1043
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1044 menu.addAction(self.showMigrationsAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1045 menu.addAction(self.showMigrationsPlanAct)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1046 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1047 menu.addAction(self.migrateAllAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1048 menu.addAction(self.migrateSelectedAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1049 menu.addAction(self.unmigrateAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1050 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1051 menu.addAction(self.makeMigrationsAct)
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
1052 menu.addSeparator()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
1053 menu.addAction(self.squashMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1054
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1055 self.__menus["migrations"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1056
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1057 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1058
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1059 def __initToolsMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1060 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1061 Private method to initialize the tools menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1062
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1063 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1064 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1065 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1066 menu = QMenu(self.tr("&Tools"), self.__ui)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1067 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1068
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1069 menu.addAction(self.diffSettingsAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1070 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1071 menu.addAction(self.runPythonShellAct)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1072 menu.addSeparator()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1073 menu.addAction(self.testEmailAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1074
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1075 self.__menus["tools"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1076
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1077 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1078
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1079 def __initTestingMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1080 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1081 Private method to initialize the testing menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1082
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1083 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1084 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1085 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1086 menu = QMenu(self.tr("T&esting"), self.__ui)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1087 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1088
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1089 menu.addAction(self.dumpDataAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1090 menu.addAction(self.loadDataAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1091 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1092 menu.addAction(self.runTestAct)
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1093 menu.addAction(self.runDeprecationTestAct)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1094 menu.addAction(self.runTestServerAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1095
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1096 self.__menus["testing"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1097
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1098 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1099
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1100 def __initAuthorizationMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1101 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1102 Private method to initialize the authorization menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1103
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1104 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1105 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1106 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1107 menu = QMenu(self.tr("&Authorization"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1108 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1109
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1110 menu.addAction(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1111 menu.addAction(self.createSuperUserAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1112
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1113 self.__menus["authorization"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1114
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1115 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1116
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1117 def __initSessionMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1118 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1119 Private method to initialize the authorization menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1120
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1121 @return the menu generated
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1122 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1123 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1124 menu = QMenu(self.tr("&Session"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1125 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1126
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1127 menu.addAction(self.clearSessionsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1128
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1129 self.__menus["session"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1130
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1131 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1132
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1133 def getMenu(self, name):
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1134 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1135 Public method to get a reference to the requested menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1136
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1137 @param name name of the menu
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1138 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1139 @return reference to the menu or None, if no menu with the given
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1140 name exists
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1141 @rtype QMenu
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1142 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1143 if name in self.__menus:
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1144 return self.__menus[name]
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1145 else:
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1146 return None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1147
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1148 def getMenuNames(self):
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1149 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1150 Public method to get the names of all menus.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1151
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1152 @return menu names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1153 @rtype list of str
32
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1154 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1155 return list(self.__menus.keys())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1156
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1157 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1158 ## methods below implement the various hook related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1159 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1160
20
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1161 def registerOpenHook(self):
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1162 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1163 Public method to register the open hook to open a translations file
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1164 in a translations editor.
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1165 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1166 if self.__hooksInstalled:
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1167 editor = self.__plugin.getPreferences("TranslationsEditor")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1168 if editor:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1169 self.__translationsBrowser.addHookMethodAndMenuEntry(
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1170 "open",
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1171 self.openPOEditor,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1172 self.tr("Open with {0}").format(os.path.basename(editor)),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1173 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1174 else:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1175 self.__translationsBrowser.removeHookMethod("open")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1176
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1177 def projectOpenedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1178 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1179 Public method to add our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1180 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1181 if self.__ericProject.getProjectType() == "Django":
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1182 self.__formsBrowser = (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1183 ericApp().getObject("ProjectBrowser").getProjectBrowser("forms")
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1184 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1185 self.__formsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1186 "newForm", self.newForm, self.tr("New template...")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1187 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1188
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1189 self.__ericProject.projectLanguageAddedByCode.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1190 self.__projectLanguageAdded
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1191 )
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1192 self.__translationsBrowser = (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1193 ericApp().getObject("ProjectBrowser").getProjectBrowser("translations")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1194 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1195 self.__translationsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1196 "generateAll", self.updateCatalogs, self.tr("Update all catalogs")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1197 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1198 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1199 "generateSelected",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1200 self.updateSelectedCatalogs,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1201 self.tr("Update selected catalogs"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1202 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1203 self.__translationsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1204 "generateAllWithObsolete",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1205 self.updateCatalogsWithObsolete,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1206 self.tr("Update all catalogs (with obsolete)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1207 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1208 self.__translationsBrowser.addHookMethodAndMenuEntry(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1209 "generateSelectedWithObsolete",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1210 self.updateSelectedCatalogsWithObsolete,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1211 self.tr("Update selected catalogs (with obsolete)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1212 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1213 self.__translationsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1214 "releaseAll", self.compileCatalogs, self.tr("Compile all catalogs")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1215 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1216 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1217 "releaseSelected",
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1218 self.compileSelectedCatalogs,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1219 self.tr("Compile selected catalogs"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1220 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1221
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1222 self.__hooksInstalled = True
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1223
20
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1224 self.registerOpenHook()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1225
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1226 def projectClosedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1227 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1228 Public method to remove our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1229 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1230 if self.__hooksInstalled:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1231 self.__formsBrowser.removeHookMethod("newForm")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1232 self.__formsBrowser = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1233
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1234 self.__ericProject.projectLanguageAddedByCode.disconnect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1235 self.__projectLanguageAdded
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1236 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1237 self.__translationsBrowser.removeHookMethod("generateAll")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1238 self.__translationsBrowser.removeHookMethod("generateSelected")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1239 self.__translationsBrowser.removeHookMethod("generateAllWithObsolete")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1240 self.__translationsBrowser.removeHookMethod("generateSelectedWithObsolete")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1241 self.__translationsBrowser.removeHookMethod("releaseAll")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1242 self.__translationsBrowser.removeHookMethod("releaseSelected")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1243 self.__translationsBrowser.removeHookMethod("open")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1244 self.__translationsBrowser = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1245
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1246 self.__hooksInstalled = False
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1247
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1248 def newForm(self, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1249 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1250 Public method to create a new form.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1251
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1252 @param path full directory path for the new form file
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1253 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1254 """
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
1255 fileFilters = self.tr("HTML Files (*.html);;HTML Files (*.htm);;All Files (*)")
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1256 fname, selectedFilter = EricFileDialog.getSaveFileNameAndFilter(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1257 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1258 self.tr("New Form"),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1259 path,
193
bf4c1a7833b4 Fixed an issue causing the 'New Template' function to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 192
diff changeset
1260 fileFilters,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1261 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1262 EricFileDialog.DontConfirmOverwrite,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1263 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1264
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1265 if not fname:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1266 # user aborted or didn't enter a filename
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1267 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1268
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1269 ext = QFileInfo(fname).suffix()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1270 if not ext:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1271 ex = selectedFilter.split("(*")[1].split(")")[0]
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1272 if ex:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1273 fname += ex
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1274
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1275 if os.path.exists(fname):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1276 res = EricMessageBox.yesNo(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1277 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1278 self.tr("New Form"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1279 self.tr("The file already exists! Overwrite it?"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1280 icon=EricMessageBox.Warning,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1281 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1282
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1283 if not res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1284 # user selected to not overwrite
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1285 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1286
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1287 try:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1288 with open(fname, "w") as f:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1289 f.write("<!DOCTYPE html>")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1290 f.write("<html>\n")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1291 f.write(" <head>\n")
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1292 f.write(' <meta content="" />\n')
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1293 f.write(" <title></title>\n")
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
1294 f.write(' <link rel="stylesheet" type="text/css" href="style.css"/>')
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1295 f.write(" <!--[if lte IE 7]>")
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
1296 f.write(' <link rel="stylesheet" type="text/css" href="ie.css"/>')
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1297 f.write(" <![endif]-->")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1298 f.write(" </head>\n")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1299 f.write("\n")
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1300 f.write(' <body class="bodyclass">\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1301 f.write(' <div id="container">')
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1302 f.write(" </div>")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1303 f.write(" </body>\n")
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1304 f.close()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1305 f.write("</html>\n")
167
09aa216b3046 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1306 except OSError as e:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1307 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1308 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1309 self.tr("New Form"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1310 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1311 "<p>The new form file <b>{0}</b> could not be"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1312 " created.<br> Problem: {1}</p>"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1313 ).format(fname, str(e)),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1314 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1315 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1316
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1317 self.__ericProject.appendFile(fname)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1318 self.__formsBrowser.sourceFile.emit(fname)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1319
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1320 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1321 ## slots below implement general functionality
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1322 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1323
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1324 def projectClosed(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1325 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1326 Public method to handle the closing of a project.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1327 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1328 if self.__serverProc is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1329 self.__serverProcFinished()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1330 self.__setCurrentSite(None)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1331
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1332 def __getExecutablePaths(self, file):
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1333 """
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1334 Private method to build all full paths of an executable file from
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1335 the environment.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1336
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1337 @param file filename of the executable
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1338 @type str
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1339 @return list of full executable names, if the executable file is
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1340 accessible via the searchpath defined by the PATH environment
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1341 variable, or an empty list otherwise.
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1342 @rtype list of str
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1343 """
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1344 paths = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1345
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1346 if os.path.isabs(file):
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1347 if os.access(file, os.X_OK):
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1348 return [file]
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1349 else:
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1350 return []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1351
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1352 cur_path = os.path.join(os.curdir, file)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1353 if os.path.exists(cur_path) and os.access(cur_path, os.X_OK):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1354 paths.append(cur_path)
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1355
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1356 path = os.getenv("PATH")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1357
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1358 # environment variable not defined
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1359 if path is not None:
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1360 dirs = path.split(os.pathsep)
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
1361 for directory in dirs:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
1362 exe = os.path.join(directory, file)
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1363 if os.access(exe, os.X_OK) and exe not in paths:
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1364 paths.append(exe)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1365
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1366 return paths
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1367
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1368 def supportedPythonVariants(self):
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1369 """
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1370 Public method to get the supported Python variants.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1371
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1372 @return list of supported Python variants
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1373 @rtype list of str
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1374 """
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1375 variants = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1376 for variant in ["Python3"]:
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1377 virtEnv = self.__getVirtualEnvironment(variant)
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1378 if virtEnv:
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1379 if self.__getDjangoAdminCommand(variant):
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1380 variants.append(variant)
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1381 else:
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1382 cmd = self.__getDjangoAdminCommand(variant)
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1383 if isWindowsPlatform():
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1384 if cmd:
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1385 variants.append(variant)
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1386 else:
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1387 if cmd:
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1388 try:
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1389 fullCmds = getExecutablePaths(cmd)
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1390 except AttributeError:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1391 fullCmds = self.__getExecutablePaths(cmd)
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1392 for fullCmd in fullCmds:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1393 try:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1394 with open(fullCmd, "r", encoding="utf-8") as f:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1395 l0 = f.readline()
167
09aa216b3046 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1396 except OSError:
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1397 l0 = ""
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1398 if self.__isSuitableForVariant(variant, l0):
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1399 variants.append(variant)
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1400 break
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1401
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1402 return variants
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1403
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1404 def __isSuitableForVariant(self, variant, line0):
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1405 """
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1406 Private method to test, if a detected command file is suitable for the
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1407 given Python variant.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1408
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1409 @param variant Python variant to test for
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1410 @type str
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1411 @param line0 first line of the executable
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1412 @type str
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1413 @return flag indicating a suitable file was found
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1414 @rtype bool
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1415 """
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1416 l0 = line0.lower()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1417 ok = variant.lower() in l0 or "{0}.".format(variant[-1]) in l0
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1418 ok |= "pypy3" in l0
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1419
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1420 return ok
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1421
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1422 def __getVirtualEnvironment(self, language=""):
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1423 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1424 Private method to get the path of the virtual environment.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1425
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1426 @param language Python variant to get the virtual environment
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1427 for (one of '' or 'Python3')
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1428 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1429 @return path of the virtual environment
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1430 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1431 """
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1432 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1433 language = self.__ericProject.getProjectLanguage()
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1434 venvName = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1435 self.__plugin.getPreferences("VirtualEnvironmentNamePy3")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1436 if language == "Python3"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1437 else ""
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1438 )
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1439 if venvName:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1440 virtEnv = self.__virtualEnvManager.getVirtualenvDirectory(venvName)
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1441 if not virtEnv:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1442 virtEnv = os.path.dirname(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1443 self.__virtualEnvManager.getVirtualenvInterpreter(venvName)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1444 )
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1445 if virtEnv.endswith(("Scripts", "bin")):
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1446 virtEnv = os.path.dirname(virtEnv)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1447 else:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1448 virtEnv = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1449 if virtEnv and not os.path.exists(virtEnv):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1450 virtEnv = ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1451 return virtEnv
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1452
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1453 def __getDebugEnvironment(self, language=""):
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1454 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1455 Private method to get the path of the debugger environment.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1456
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1457 @param language Python variant to get the debugger environment
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1458 for (one of '' or 'Python3')
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1459 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1460 @return path of the debugger environment
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1461 @rtype str
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1462 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1463 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1464 language = self.__ericProject.getProjectLanguage()
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1465 debugEnv = self.__getVirtualEnvironment(language)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1466 if not debugEnv:
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1467 if language == "Python3":
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1468 venvName = Preferences.getDebugger("Python3VirtualEnv")
34
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1469 else:
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1470 venvName = ""
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1471
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1472 if venvName:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1473 debugEnv = self.__virtualEnvManager.getVirtualenvDirectory(venvName)
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1474 else:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1475 debugEnv = ""
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1476 return debugEnv
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1477
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1478 def __getDjangoAdminCommand(self, language=""):
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1479 """
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1480 Private method to build a django-admin.py command.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1481
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1482 @param language Python variant to get the django-admin.py
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1483 command for (one of '' or 'Python3')
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1484 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1485 @return full django-admin.py command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1486 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1487 """
36
af4a5a530a5e Fixed a bug searching for the Django admin command in environments having the Python2 and Python3 Django variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1488 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1489 language = self.__ericProject.getProjectLanguage()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1490
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1491 virtualEnv = self.__getVirtualEnvironment(language)
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1492 if virtualEnv:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1493 if isWindowsPlatform():
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1494 for cmd in [
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1495 # standard Python
178
60c87e256fc7 Fixed bug related to detection of django-admin reported in issue 413.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1496 os.path.join(virtualEnv, "Scripts", "django-admin.exe"),
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1497 # PyPy
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1498 os.path.join(virtualEnv, "bin", "django-admin.py"),
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1499 ]:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1500 if os.path.exists(cmd):
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1501 break
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1502 else:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1503 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1504 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1505 cmds = [
178
60c87e256fc7 Fixed bug related to detection of django-admin reported in issue 413.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1506 os.path.join(virtualEnv, "bin", "django-admin"),
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1507 os.path.join(virtualEnv, "bin", "django-admin.py"),
178
60c87e256fc7 Fixed bug related to detection of django-admin reported in issue 413.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1508 os.path.join(virtualEnv, "local", "bin", "django-admin"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1509 os.path.join(virtualEnv, "local", "bin", "django-admin.py"),
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1510 ]
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1511 for cmd in cmds:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1512 if os.path.exists(cmd):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1513 break
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1514 else:
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
1515 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1516 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1517 if isWindowsPlatform():
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1518 debugEnv = self.__getDebugEnvironment(language)
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1519 for cmd in [
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1520 # standard Python
178
60c87e256fc7 Fixed bug related to detection of django-admin reported in issue 413.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1521 os.path.join(debugEnv, "Scripts", "django-admin.exe"),
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1522 # PyPy
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1523 os.path.join(debugEnv, "bin", "django-admin.py"),
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1524 ]:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1525 if os.path.exists(cmd):
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1526 break
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1527 else:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1528 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1529 else:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1530 if language == "Python3":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1531 cmds = [
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1532 "django-admin3",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1533 "django-admin3.py",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1534 "django-admin.py-3.10",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1535 "django-admin.py-3.9",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1536 "django-admin.py-3.8",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1537 "django-admin.py-3.7",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1538 "django-admin.py-3.6",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1539 ]
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1540 else:
36
af4a5a530a5e Fixed a bug searching for the Django admin command in environments having the Python2 and Python3 Django variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1541 cmds = []
178
60c87e256fc7 Fixed bug related to detection of django-admin reported in issue 413.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1542 cmds.extend(["django-admin", "django-admin.py"])
36
af4a5a530a5e Fixed a bug searching for the Django admin command in environments having the Python2 and Python3 Django variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1543 for cmd in cmds:
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1544 if isinpath(cmd):
36
af4a5a530a5e Fixed a bug searching for the Django admin command in environments having the Python2 and Python3 Django variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1545 break
af4a5a530a5e Fixed a bug searching for the Django admin command in environments having the Python2 and Python3 Django variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1546 else:
af4a5a530a5e Fixed a bug searching for the Django admin command in environments having the Python2 and Python3 Django variants.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 34
diff changeset
1547 cmd = ""
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1548
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1549 return cmd
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1550
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1551 def __getPythonExecutable(self):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1552 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1553 Private method to build the Python command.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1554
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1555 @return python command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1556 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1557 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1558 language = self.__ericProject.getProjectLanguage()
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1559 if language == "Python3":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1560 venvName = self.__plugin.getPreferences("VirtualEnvironmentNamePy3")
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1561 if not venvName:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1562 # if none configured, use the global one
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1563 venvName = Preferences.getDebugger("Python3VirtualEnv")
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1564 else:
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1565 venvName = ""
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1566 python = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1567 self.__virtualEnvManager.getVirtualenvInterpreter(venvName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1568 if venvName
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1569 else ""
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1570 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1571
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1572 return python
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1573
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1574 def __djangoInfo(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1575 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1576 Private slot to show some info about Django.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1577 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1578 version = self.getDjangoVersionString()
82
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1579 url = "https://www.djangoproject.com"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1580
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1581 msgBox = EricMessageBox.EricMessageBox(
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1582 EricMessageBox.Question,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1583 self.tr("About Django"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1584 self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1585 "<p>Django is a high-level Python Web framework that"
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1586 " encourages rapid development and clean, pragmatic"
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1587 " design.</p>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1588 "<p><table>"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1589 "<tr><td>Version:</td><td>{0}</td></tr>"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1590 '<tr><td>URL:</td><td><a href="{1}">'
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1591 "{1}</a></td></tr>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1592 "</table></p>"
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1593 ).format(version, url),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1594 modal=True,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1595 buttons=EricMessageBox.Ok,
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
1596 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1597 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1598 msgBox.setIconPixmap(
184
9585686bc532 Did the forgotten Project.py file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1599 EricPixmapCache.getPixmap(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1600 os.path.join(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1601 "ProjectDjango", "icons", "django64-{0}".format(self.__iconSuffix)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1602 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1603 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1604 )
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1605 msgBox.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1606
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1607 def getDjangoVersionString(self):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1608 """
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1609 Public method to get the Django version as a string.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1610
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1611 @return Django version
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1612 @rtype str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1613 """
40
b793fc09d732 Adjusted the Django info routines to show info about Django version related to current project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 38
diff changeset
1614 djangoVersion = ""
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1615
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1616 args = ["--version"]
40
b793fc09d732 Adjusted the Django info routines to show info about Django version related to current project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 38
diff changeset
1617 ioEncoding = Preferences.getSystem("IOEncoding")
b793fc09d732 Adjusted the Django info routines to show info about Django version related to current project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 38
diff changeset
1618 cmd = self.__getDjangoAdminCommand()
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1619 if cmd:
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1620 if isWindowsPlatform():
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1621 args.insert(0, cmd)
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1622 cmd = self.__getPythonExecutable()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1623
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1624 process = QProcess()
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1625 process.start(cmd, args)
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1626 procStarted = process.waitForStarted()
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1627 if procStarted:
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1628 finished = process.waitForFinished(30000)
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1629 if finished and process.exitCode() == 0:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1630 output = str(process.readAllStandardOutput(), ioEncoding, "replace")
159
e08458938716 Fixed a bug determining the Django version (issue 331).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1631 djangoVersion = output.splitlines()[0].strip()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1632
40
b793fc09d732 Adjusted the Django info routines to show info about Django version related to current project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 38
diff changeset
1633 return djangoVersion
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1634
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1635 def getDjangoVersion(self):
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1636 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1637 Public method to get the Django version as a tuple.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1638
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1639 @return Django version
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1640 @rtype tuple of int
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1641 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1642 djangoVersionStr = self.getDjangoVersionString()
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1643 djangoVersionList = []
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1644 if djangoVersionStr:
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1645 for part in djangoVersionStr.split("."):
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1646 try:
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1647 djangoVersionList.append(int(part))
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1648 except ValueError:
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1649 djangoVersionList.append(part)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1650
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1651 return tuple(djangoVersionList)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1652
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1653 def __getApplications(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1654 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1655 Private method to ask the user for a list of application names.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1656
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1657 @return list of application names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1658 @rtype list of str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1659 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1660 applStr, ok = QInputDialog.getItem(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1661 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1662 self.tr("Select Applications"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1663 self.tr("Enter the list of applications separated by spaces."),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1664 self.getRecentApplications(),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1665 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1666 True,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1667 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1668 if ok and applStr != "":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1669 self.setMostRecentApplication(applStr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1670 return applStr.split()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1671 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1672 return []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1673
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1674 def __loadRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1675 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1676 Private method to load the recently used applications list.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1677 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1678 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1679 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1680 ra = Preferences.Prefs.rsettings.value(self.RecentApplicationsKey)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1681 if ra is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1682 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1683 self.__recentApplications = ra[:maxRecentApps]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1684
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1685 def __saveRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1686 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1687 Private method to save the list of recently used applications list.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1688 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1689 Preferences.Prefs.rsettings.setValue(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1690 self.RecentApplicationsKey, self.__recentApplications
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1691 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1692 Preferences.Prefs.rsettings.sync()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1693
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1694 def getRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1695 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1696 Public method to get the list of recent applications.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1697
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
1698 @return list of recent applications entries
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
1699 @rtype list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1700 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1701 self.__loadRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1702 return self.__recentApplications
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1703
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1704 def setMostRecentApplication(self, applStr):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1705 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1706 Public method to set the most recently used applications entry.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1707
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1708 @param applStr applications entry
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1709 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1710 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1711 if applStr in self.__recentApplications:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1712 self.__recentApplications.remove(applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1713 self.__recentApplications.insert(0, applStr)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1714
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1715 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1716 if len(self.__recentApplications) > maxRecentApps:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1717 self.__recentApplications = self.__recentApplications[:maxRecentApps]
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1718 self.__saveRecentApplications()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1719
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1720 def __loadRecentTestData(self):
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1721 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1722 Private method to load the recently used test data lists.
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1723 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1724 self.__recentTestData = {
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1725 "RecentTestLabels": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1726 "RecentTestTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1727 "RecentTestExcludeTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1728 }
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1729 Preferences.Prefs.rsettings.sync()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1730 maxRecentTestData = self.__plugin.getPreferences("RecentNumberTestData")
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1731 for key in self.__recentTestData:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1732 recent = Preferences.Prefs.rsettings.value("Django/" + key)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1733 if recent is not None:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1734 self.__recentTestData[key] = recent[:maxRecentTestData]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1735
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1736 def __saveRecentTestData(self):
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1737 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1738 Private method to save the list of recently used test data.
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1739 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1740 for key in self.__recentTestData:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1741 Preferences.Prefs.rsettings.setValue(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1742 "Django/" + key, self.__recentTestData[key]
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1743 )
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1744 Preferences.Prefs.rsettings.sync()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1745
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1746 def getRecentTestData(self, key):
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1747 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1748 Public method to get the list of recent test data.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1749
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1750 @param key key (name) of the test data to get
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1751 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1752 @return list of recent test data entries
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1753 @rtype list of str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1754 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1755 self.__loadRecentTestData()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1756 return self.__recentTestData[key]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1757
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1758 def setMostRecentTestData(self, key, data):
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1759 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1760 Public method to set the most recently used test data entry.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1761
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1762 @param key key (name) of the test data to set
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1763 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1764 @param data test data entry to be set
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1765 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1766 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1767 if data in self.__recentTestData[key]:
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1768 self.__recentTestData[key].remove(data)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1769 self.__recentTestData[key].insert(0, data)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1770
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1771 maxRecentTestData = self.__plugin.getPreferences("RecentNumberTestData")
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1772 if len(self.__recentTestData[key]) > maxRecentTestData:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1773 self.__recentTestData[key] = self.__recentTestData[key][:maxRecentTestData]
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1774 self.__saveRecentTestData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1775
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1776 def getProjectPath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1777 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1778 Public method to get the path of the eric7 project.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1779
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1780 @return path of the eric7 project
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1781 @rtype str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1782 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1783 return self.__ericProject.getProjectPath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1784
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1785 def __showHelpIndex(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1786 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1787 Private slot to show the help index page.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1788 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1789 page = os.path.join(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1790 os.path.dirname(__file__), "Documentation", "help", "index.html"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1791 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1792 self.__ui.launchHelpViewer(page)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1793
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1794 def __isSpawningConsole(self, consoleCmd):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1795 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1796 Private method to check, if the given console is a spawning console.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1797
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1798 @param consoleCmd console command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1799 @type str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1800 @return tuple of two entries giving an indication, if the console
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1801 is spawning and the (possibly) cleaned console command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1802 @rtype tuple of (bool, str)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1803 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1804 if consoleCmd and consoleCmd[0] == "@":
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1805 return (True, consoleCmd[1:])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1806 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1807 return (False, consoleCmd)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1808
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1809 def __adjustWorkingDirectory(self, args, wd):
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1810 """
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1811 Private method to adjust the working directory in the arguments list.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1812
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1813 @param args list of arguments to be modified
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1814 @type list of str
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1815 @param wd working directory
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1816 @type str
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1817 """
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1818 if args[0].endswith("konsole") and "--workdir" in args:
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1819 index = args.index("--workdir")
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1820 args[index + 1] = wd
91
961fea40edb5 Added 'mate-terminal' as another one needing working directory argument adjustments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 85
diff changeset
1821 elif args[0].endswith(("gnome-terminal", "mate-terminal")):
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1822 for index in range(len(args)):
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1823 if args[index].startswith("--working-directory="):
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1824 args[index] = "--working-directory={0}".format(wd)
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
1825 break
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1826
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1827 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1828 ## slots below implement creation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1829 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1830
82
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1831 def newProjectCreated(self):
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1832 """
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1833 Public slot to finish up the newly generated project.
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1834 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1835 if self.__ericProject.getProjectType() == "Django":
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1836 ppath = self.__ericProject.getProjectPath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1837
82
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1838 # get rid of an __init__.py file because it would be in our way
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1839 initModule = os.path.join(ppath, "__init__.py")
fc196e739797 Removed some more old methods and marked some to be removed once 1.8.x series gets obsoleted.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
1840 if os.path.exists(initModule):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1841 self.__ericProject.deleteFile("__init__.py")
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1842 self.__ericProject.saveProject()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1843
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1844 def startProjectOrApplication(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1845 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1846 Public slot to start a new Django project or application.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1847 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1848 if self.__ericProject.getProjectType() == "Django":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1849 projectStr = self.tr("Project")
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1850 applStr = self.tr("Application")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1851 selections = ["", projectStr, applStr]
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1852 selection, ok = QInputDialog.getItem(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1853 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1854 self.tr("Start Django"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1855 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1856 "Select if this project should be a "
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1857 "Django Project or Application.<br />"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1858 "Select the empty entry for none."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1859 ),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1860 selections,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1861 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1862 False,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1863 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1864 if ok and bool(selection):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1865 if selection == projectStr:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1866 path, projectName = os.path.split(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1867 self.__ericProject.getProjectPath()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1868 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1869 self.__createProject(projectName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1870 elif selection == applStr:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1871 path, applName = os.path.split(self.__ericProject.getProjectPath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1872 self.__createApplication(applName, path)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1873
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1874 def __createProject(self, projectName, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1875 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1876 Private slot to create a new Django project.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1877
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1878 @param projectName name of the new project
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1879 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1880 @param path the directory where the project should be created
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1881 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1882 @return flag indicating a successful creation
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1883 @rtype bool
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1884 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1885 title = self.tr("Start Django Project")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1886
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1887 # remove the project directory if it exists already
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1888 ppath = os.path.join(path, projectName)
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1889 if os.path.exists(ppath):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1890 okToRemove = EricMessageBox.yesNo(
122
eb1311184f6f Implemented a fix for an omission that could result in loosing existing files during the creation of a new eric project of type "Django".
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
1891 self.__ui,
eb1311184f6f Implemented a fix for an omission that could result in loosing existing files during the creation of a new eric project of type "Django".
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
1892 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1893 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1894 """<p>The Django project path <b>{0}</b> exists"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1895 """ already. Shall it be removed and recreated?"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1896 """</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1897 ).format(ppath),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1898 )
122
eb1311184f6f Implemented a fix for an omission that could result in loosing existing files during the creation of a new eric project of type "Django".
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
1899 if not okToRemove:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1900 EricMessageBox.information(
122
eb1311184f6f Implemented a fix for an omission that could result in loosing existing files during the creation of a new eric project of type "Django".
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
1901 self.__ui,
eb1311184f6f Implemented a fix for an omission that could result in loosing existing files during the creation of a new eric project of type "Django".
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
1902 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1903 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1904 """<p>Please add the files to the eric project"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1905 """ manually.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1906 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1907 )
122
eb1311184f6f Implemented a fix for an omission that could result in loosing existing files during the creation of a new eric project of type "Django".
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
1908 return True
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1909
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1910 shutil.rmtree(ppath, ignore_errors=True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1911
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1912 args = []
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1913 cmd = self.__getDjangoAdminCommand()
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1914 if cmd:
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1915 if isWindowsPlatform():
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1916 args.append(self.__getPythonExecutable())
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1917 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1918 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1919 EricMessageBox.critical(
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1920 self.__ui,
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1921 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1922 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1923 """<p>The <b>django-admin.py</b> script is"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1924 """ not in the path. Aborting...</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1925 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1926 )
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1927 return False
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1928
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1929 args.append("startproject")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1930 args.append(projectName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1931
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1932 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
1933 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
1934 msgSuccess=self.tr("Django project created successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
1935 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1936 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1937 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1938 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1939 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1940
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1941 # create the base directory for translations
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1942 i18nPath = os.path.join(path, projectName, "locale")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1943 if not os.path.exists(i18nPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1944 os.makedirs(i18nPath)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1945
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1946 if os.path.join(path, projectName) == self.__ericProject.getProjectPath():
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1947 self.__setCurrentSite("")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1948 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1949 self.__setCurrentSite(projectName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1950
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1951 return res
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1952
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1953 def __startProject(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1954 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1955 Private slot to start a new Django project.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1956 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1957 projectName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1958 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1959 self.tr("Start Django Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1960 self.tr("Enter the name of the new Django project."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1961 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1962 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1963 if ok and projectName != "":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1964 res = self.__createProject(projectName, self.__ericProject.getProjectPath())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1965 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1966 # search for new files and add them to the project
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1967 sitePath = os.path.join(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1968 self.__ericProject.getProjectPath(), projectName
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1969 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1970 for entry in os.walk(sitePath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1971 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1972 fullName = os.path.join(entry[0], fileName)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1973 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1974
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1975 def __createApplication(self, applName, path, isGlobal=True):
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1976 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1977 Private slot to create a new Django application.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1978
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1979 @param applName name of the new application
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1980 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1981 @param path the directory where the application should be created
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1982 @type str
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1983 @param isGlobal flag indicating a standalone Django application
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1984 @type bool
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1985 @return flag indicating a successful creation
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1986 @rtype bool
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1987 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1988 title = self.tr("Start Django Application")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1989
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1990 # remove the application directory if it exists already
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1991 apath = os.path.join(path, applName)
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1992 if os.path.exists(apath):
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1993 shutil.rmtree(apath, ignore_errors=True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1994
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1995 args = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1996 if isGlobal:
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1997 cmd = self.__getDjangoAdminCommand()
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
1998 if cmd:
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1999 if isWindowsPlatform():
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
2000 args.append(self.__getPythonExecutable())
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
2001 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2002 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2003 EricMessageBox.critical(
146
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
2004 self.__ui,
8c42fc23c94c Project.py: fixed an issue causing QProcess.start() being called with an empty string for the program.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 145
diff changeset
2005 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2006 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2007 """<p>The <b>django-admin.py</b> script"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2008 """ is not in the path."""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2009 """ Aborting...</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2010 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2011 )
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2012 return False
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2013 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2014 args.append(self.__getPythonExecutable())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2015 args.append("manage.py")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2016 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2017 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2018 except DjangoNoSiteSelectedError:
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2019 return False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2020 args.append("startapp")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2021 args.append(applName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2022
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2023 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2024 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2025 msgSuccess=self.tr("Django application created successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2026 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2027 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2028 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2029 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2030 dia.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2031 return res
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2032
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2033 def __startGlobalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2034 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2035 Private slot to start a new global Django application.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2036 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2037 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2038 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2039 self.tr("Start Global Django Application"),
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2040 self.tr("Enter the name of the new global Django application."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2041 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2042 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2043 if ok and applName != "":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2044 res = self.__createApplication(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2045 applName, self.__ericProject.getProjectPath()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2046 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2047 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2048 # search for new files and add them to the project
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2049 appPath = os.path.join(self.__ericProject.getProjectPath(), applName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2050 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2051 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2052 fullName = os.path.join(entry[0], fileName)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2053 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2054
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2055 def __startLocalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2056 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2057 Private slot to start a new local Django application.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2058 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2059 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2060 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2061 self.tr("Start Local Django Application"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2062 self.tr("Enter the name of the new local Django application."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2063 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2064 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2065 if ok and applName != "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2066 res = self.__createApplication(applName, "", False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2067 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2068 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2069 # search for new files and add them to the project
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2070 appPath = os.path.join(self.__sitePath(), applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2071 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2072 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2073 fullName = os.path.join(entry[0], fileName)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2074 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2075 except DjangoNoSiteSelectedError:
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2076 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2077
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2078 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2079 ## methods below implement site related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2080 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2081
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2082 def __findSites(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2083 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2084 Private method to determine the relative path to all manage.py scripts.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2085
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2086 @return list of sites
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2087 @rtype list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2088 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2089 sites = []
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2090 for file in sorted(self.__ericProject.getSources()):
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2091 if os.path.basename(file) == "manage.py":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2092 sites.append(os.path.dirname(file))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2093 return sites
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2094
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2095 def __selectSite(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2096 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2097 Private method to select a site to work with.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2098 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2099 sites = self.__findSites()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2100 if len(sites) == 1:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2101 site = sites[0]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2102 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2103 if self.__currentSite is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2104 if self.__currentSite in sites:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2105 cur = sites.index(self.__currentSite)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2106 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2107 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2108 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2109 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2110 site, ok = QInputDialog.getItem(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2111 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2112 self.tr("Select Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2113 self.tr("Select the Django project to work with."),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2114 sites,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2115 cur,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2116 False,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2117 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2118 if not ok:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2119 site = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2120 self.__setCurrentSite(site)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2121
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2122 def __sitePath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2123 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2124 Private method to calculate the full path of the Django site.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2125
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2126 @return path of the site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2127 @rtype str
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2128 @exception DjangoNoSiteSelectedError raised, if no site is selected
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2129 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2130 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2131 self.__selectSite()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2132
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2133 if self.__currentSite is None:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2134 raise DjangoNoSiteSelectedError
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2135 else:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2136 path = os.path.join(self.__ericProject.getProjectPath(), self.__currentSite)
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
2137 return path
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2138
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2139 def __setCurrentSite(self, site):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2140 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2141 Private slot to set the current site.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2142
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2143 @param site name of the site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2144 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2145 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2146 self.__currentSite = site
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2147 if self.__currentSite is None:
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2148 curSite = self.tr("None")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2149 elif self.__currentSite == "":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2150 curSite = self.tr("Project")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2151 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2152 curSite = self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2153 self.selectSiteAct.setText(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2154 self.tr("&Current Django project ({0})").format(curSite)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2155 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2156
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2157 if self.__currentSite is None:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2158 self.__ericProject.setTranslationPattern("")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2159 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2160 self.__ericProject.setTranslationPattern(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2161 os.path.join(site, "locale", "%language%", "LC_MESSAGES", "django.po")
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
2162 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2163
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2164 def __site(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2165 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2166 Private method to get the name of the current site.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2167
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2168 @return name of the site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2169 @rtype str
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2170 @exception DjangoNoSiteSelectedError raised, if no site is selected
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2171 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2172 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2173 self.__selectSite()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2174
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2175 if self.__currentSite is None:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2176 raise DjangoNoSiteSelectedError
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2177 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2178 return self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2179
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2180 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2181 ## slots below implement run functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2182 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2183
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2184 def __runServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2185 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2186 Private slot to start the Django Web server.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2187 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2188 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2189 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2190 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2191 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2192 args = Utilities.parseOptionString(consoleCmd)
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
2193 args[0] = getExecutablePath(args[0])
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2194 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2195 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2196 args.append("runserver")
4
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2197 if self.__plugin.getPreferences("UseIPv6"):
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2198 args.append("--ipv6")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2199 if not self.__plugin.getPreferences("UseThreading"):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2200 args.append("--nothreading")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2201 addr = self.__plugin.getPreferences("ServerAddress")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2202 if addr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2203 args.append(addr)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2204
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2205 with contextlib.suppress(DjangoNoSiteSelectedError):
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
2206 if isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2207 serverProcStarted, pid = QProcess.startDetached(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2208 args[0], args[1:], self.__sitePath()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2209 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2210 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2211 if self.__serverProc is not None:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2212 self.__serverProcFinished()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2213
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2214 self.__serverProc = QProcess()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2215 self.__serverProc.finished.connect(self.__serverProcFinished)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2216 self.__serverProc.setWorkingDirectory(self.__sitePath())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2217 self.__serverProc.start(args[0], args[1:])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2218 serverProcStarted = self.__serverProc.waitForStarted()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2219 if not serverProcStarted:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2220 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2221 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2222 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2223 self.tr("The Django server could not be started."),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2224 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2225
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2226 def __serverProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2227 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2228 Private slot connected to the finished signal.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2229 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2230 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2231 self.__serverProc is not None
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2232 and self.__serverProc.state() != QProcess.ProcessState.NotRunning
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2233 ):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2234 self.__serverProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2235 QTimer.singleShot(2000, self.__serverProc.kill)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2236 self.__serverProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2237 self.__serverProc = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2238
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2239 def __runBrowser(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2240 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2241 Private slot to start the default web browser with the server URL.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2242 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2243 addr = self.__plugin.getPreferences("ServerAddress")
4
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2244 ipv6 = self.__plugin.getPreferences("UseIPv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2245 if addr:
4
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2246 # test for an IPv6 and port address
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2247 if "]:" in addr:
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2248 addr, port = addr.rsplit(":", 1)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2249 elif ":" in addr:
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2250 addr, port = addr.split(":", 1)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2251 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2252 port = addr
4
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2253 if ipv6:
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2254 addr = "[::1]"
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2255 else:
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2256 addr = "127.0.0.1"
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2257 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2258 port = "8000"
4
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2259 if ipv6:
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2260 addr = "[::1]"
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2261 else:
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
2262 addr = "127.0.0.1"
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2263 url = "http://{0}:{1}".format(addr, port)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2264 if self.__plugin.getPreferences("UseExternalBrowser"):
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2265 res = QDesktopServices.openUrl(QUrl(url))
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2266 if not res:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2267 EricMessageBox.critical(
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2268 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2269 self.tr("Run Web-Browser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2270 self.tr(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2271 'Could not start the web-browser for the url "{0}".'
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2272 ).format(url.toString()),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2273 )
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2274 else:
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2275 self.__ui.launchHelpViewer(url)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2276
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2277 ##################################################################
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2278 ## slots below implement functions to save and load recently used
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2279 ## database names
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2280 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2281
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2282 def __loadRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2283 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2284 Private method to load the list of recently used database names.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2285 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2286 self.__recentDatabaseNames = [""]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2287 Preferences.Prefs.rsettings.sync()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2288 rdb = Preferences.Prefs.rsettings.value(self.RecentDatabaseNamesKey)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2289 if rdb is not None:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2290 maxRecentDatabaseNames = self.__plugin.getPreferences(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2291 "RecentNumberDatabaseNames"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2292 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2293 self.__recentDatabaseNames = rdb[:maxRecentDatabaseNames]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2294
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2295 def __saveRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2296 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2297 Private method to save the list of recently used database names.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2298 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2299 Preferences.Prefs.rsettings.setValue(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2300 self.RecentDatabaseNamesKey, self.__recentDatabaseNames
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2301 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2302 Preferences.Prefs.rsettings.sync()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2303
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2304 def getRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2305 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2306 Public method to get the list of recently used database names.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2307
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2308 @return list of recently used database names
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2309 @rtype list of str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2310 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2311 self.__loadRecentDatabaseNames()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2312 return self.__recentDatabaseNames
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2313
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2314 def setMostRecentDatabaseNames(self, dbName):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2315 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2316 Public method to set the most recently used database names.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2317
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2318 @param dbName database name
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2319 @type str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2320 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2321 if dbName in self.__recentDatabaseNames:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2322 self.__recentDatabaseNames.remove(dbName)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2323 self.__recentDatabaseNames.insert(0, dbName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2324
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2325 maxRecentDatabaseNames = self.__plugin.getPreferences(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2326 "RecentNumberDatabaseNames"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2327 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2328 if len(self.__recentDatabaseNames) > maxRecentDatabaseNames:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2329 self.__recentDatabaseNames = self.__recentDatabaseNames[
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2330 :maxRecentDatabaseNames
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2331 ]
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2332 self.__saveRecentDatabaseNames()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2333
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2334 def __selectDatabaseName(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2335 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2336 Private method to select the name of the database to work with.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2337 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2338 recentDatabases = self.getRecentDatabaseNames()[:]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2339 if "" not in recentDatabases:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2340 recentDatabases.insert(1, "")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2341
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2342 selectedDatabase, ok = QInputDialog.getItem(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2343 self.__ui,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2344 self.tr("Database Name"),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2345 self.tr("Select a database name (leave empty for default):"),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2346 recentDatabases,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2347 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2348 True,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2349 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2350
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2351 if ok:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2352 self.setMostRecentDatabaseNames(selectedDatabase)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2353 self.__setCurrentDatabase(selectedDatabase)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2354
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2355 def __setCurrentDatabase(self, database):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2356 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2357 Private method to set the database name to be used.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2358
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2359 @param database name of the database
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2360 @type str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2361 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2362 if database is None:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2363 database = self.getRecentDatabaseNames()[0]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2364
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2365 self.__currentDatabase = database
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2366 curDb = database if database else self.tr("<default>")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2367 self.selectDatabaseNameAct.setText(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2368 self.tr("&Current Database ({0})").format(curDb)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2369 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2370
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2371 def currentDatabase(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2372 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2373 Public method to get the database name to be used.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2374
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2375 @return database name
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2376 @rtype str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2377 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2378 return self.__currentDatabase
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2379
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2380 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2381 ## slots below implement database related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2382 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2383
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2384 def __databaseInspect(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2385 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2386 Private slot to introspect the database and output a Django model
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2387 module.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2388 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2389 title = self.tr("Introspect Database")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2390
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2391 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2392 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2393 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2394 args.append("inspectdb")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2395 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2396 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2397
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2398 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2399 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2400 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2401 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2402
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2403 dia = DjangoDialog(title, fixed=True, linewrap=False, parent=self.__ui)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2404 res = dia.startProcess(args, path, False)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2405 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2406 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2407
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2408 def __databaseFlush(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2409 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2410 Private slot to return all database tables to the state just after
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2411 their installation.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2412 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2413 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2414 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2415 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2416 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2417
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2418 title = self.tr("Flush Database")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2419
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2420 res = EricMessageBox.yesNo(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2421 self.__ui,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2422 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2423 self.tr("""Flushing the database will destroy all data. Are you sure?"""),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2424 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2425 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2426 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2427 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2428 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2429 args.append("flush")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2430 args.append("--noinput")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2431 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2432 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2433
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2434 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2435 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2436 msgSuccess=self.tr("Database tables flushed successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2437 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2438 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2439 res = dia.startProcess(args, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2440 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2441 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2442
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2443 def __runDatabaseClient(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2444 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2445 Private slot to start a database client for a Django project.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2446 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2447 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2448 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2449 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2450 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2451 args = Utilities.parseOptionString(consoleCmd)
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
2452 args[0] = getExecutablePath(args[0])
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2453 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2454 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2455 args.append("dbshell")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2456 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2457 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2458 with contextlib.suppress(DjangoNoSiteSelectedError):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2459 wd = self.__sitePath()
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
2460 self.__adjustWorkingDirectory(args, wd)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2461 started, pid = QProcess.startDetached(args[0], args[1:], wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2462 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2463 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2464 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2465 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2466 self.tr("The Django process could not be started."),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2467 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2468
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2469 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2470 ## slots below implement database functions outputting SQL statements
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2471 #######################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2472
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2473 def __sqlCommand(self, title, command, requestApps=True):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2474 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2475 Private method to perform an SQL creation function.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2476
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2477 @param title dialog title
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2478 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2479 @param command Django sql... command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2480 @type str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2481 @param requestApps flag indicating to request a list of applications
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2482 to work on
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2483 @type bool
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2484 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2485 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2486 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2487 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2488 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2489
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2490 if requestApps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2491 apps = self.__getApplications()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2492 if not apps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2493 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2494 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2495 apps = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2496
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2497 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2498 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2499 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2500 args.append(command)
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2501 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2502 args.append("--database={0}".format(self.__currentDatabase))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2503 args += apps
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2504
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2505 fileFilter = self.tr("SQL Files (*.sql)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2506
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2507 dia = DjangoDialog(
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2508 title, fixed=True, linewrap=False, saveFilters=fileFilter, parent=self.__ui
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2509 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2510 res = dia.startProcess(args, path, False)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2511 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2512 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2513
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2514 def __databaseSqlFlushDatabase(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2515 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2516 Private slot to print a list of statements to return all database
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2517 tables to their initial state.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2518 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2519 self.__sqlCommand(self.tr("Flush Database"), "sqlflush", False)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2520
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2521 def __databaseSqlResetSequences(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2522 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2523 Private slot to print the SQL statements for resetting sequences for
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2524 one or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2525 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2526 self.__sqlCommand(self.tr("Reset Sequences"), "sqlsequencereset")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2527
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2528 def __databaseSqlMigrate(self, backwards=False):
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2529 """
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2530 Private slot to print the SQL statements for a migration of an
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2531 application.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2532
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2533 @param backwards flag indicating to generate the SQL code to revert
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2534 a migration
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2535 @type bool
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2536 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2537 from .DjangoMigrationSelectionDialog import DjangoMigrationSelectionDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2538
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2539 try:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2540 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2541 except DjangoNoSiteSelectedError:
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2542 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2543
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2544 migrations = self.__getMigrations()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2545 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2546 EricMessageBox.information(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2547 None, self.tr("SQL Migrate"), self.tr("""No migrations available.""")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2548 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2549 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2550
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2551 title = self.tr("SQL Migrate")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2552
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2553 dlg = DjangoMigrationSelectionDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2554 migrations,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2555 migrationRequired=True,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2556 suffix=self.__iconSuffix,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2557 parent=self.__ui,
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2558 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2559 if dlg.exec() == QDialog.DialogCode.Accepted:
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2560 app, migration = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2561
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2562 args = []
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2563 args.append(self.__getPythonExecutable())
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2564 args.append("manage.py")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2565 args.append("sqlmigrate")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2566 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2567 args.append("--database={0}".format(self.__currentDatabase))
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2568 if backwards:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2569 args.append("--backwards")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2570 args.append(app)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2571 args.append(migration)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2572
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2573 fileFilter = self.tr("SQL Files (*.sql)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2574
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2575 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2576 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2577 fixed=True,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2578 linewrap=False,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2579 saveFilters=fileFilter,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2580 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2581 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2582 res = dia.startProcess(args, path, False)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2583 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2584 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2585
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2586 ##################################################################
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2587 ## slots below implement migration related functions
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2588 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2589
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2590 def __showMigrationsList(self):
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2591 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2592 Private slot to show the available migrations and their status.
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2593 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2594 from .DjangoMigrationsListDialog import DjangoMigrationsListDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2595
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2596 try:
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2597 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2598 except DjangoNoSiteSelectedError:
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2599 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2600
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2601 self.__migrationsListDialog = DjangoMigrationsListDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2602 DjangoMigrationsListDialog.MigrationsListMode, self, self.__ui
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2603 )
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2604 self.__migrationsListDialog.show()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2605 self.__migrationsListDialog.start(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2606 self.__getPythonExecutable(), path, self.__currentDatabase
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2607 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2608
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2609 def __showMigrationsPlan(self):
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2610 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2611 Private slot to show the migrations plan.
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2612 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2613 from .DjangoMigrationsListDialog import DjangoMigrationsListDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2614
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2615 try:
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2616 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2617 except DjangoNoSiteSelectedError:
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2618 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2619
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2620 self.__migrationsPlanDialog = DjangoMigrationsListDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2621 DjangoMigrationsListDialog.MigrationsPlanMode, self, self.__ui
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2622 )
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2623 self.__migrationsPlanDialog.show()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2624 self.__migrationsPlanDialog.start(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2625 self.__getPythonExecutable(), path, self.__currentDatabase
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2626 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2627
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2628 def __applyAllMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2629 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2630 Private slot to apply all migrations.
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2631 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2632 self.applyMigrations()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2633
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2634 def __applySelectedMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2635 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2636 Private slot to apply selected migrations of a selected app.
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2637 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2638 from .DjangoMigrationSelectionDialog import DjangoMigrationSelectionDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2639
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2640 migrations = self.__getMigrations()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2641 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2642 EricMessageBox.information(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2643 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2644 self.tr("Apply Selected Migrations"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2645 self.tr("""No migrations available."""),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2646 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2647 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2648
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2649 dlg = DjangoMigrationSelectionDialog(
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2650 migrations, suffix=self.__iconSuffix, parent=self.__ui
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2651 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2652 if dlg.exec() == QDialog.DialogCode.Accepted:
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2653 app, migration = dlg.getData()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2654 self.applyMigrations(app=app, migration=migration)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2655
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2656 def applyMigrations(self, app=None, migration=None):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2657 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2658 Public slot to apply migrations.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2659
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2660 @param app name of an application to apply migrations for
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2661 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2662 @param migration name of a migration to update to
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2663 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2664 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2665 title = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2666 self.tr("Unapply Migrations")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2667 if migration == "zero"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2668 else self.tr("Apply Migrations")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2669 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2670
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2671 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2672 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2673 except DjangoNoSiteSelectedError:
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2674 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2675
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2676 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2677 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2678 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2679 args.append("migrate")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2680 args.append("--noinput")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2681 if app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2682 args.append(app)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2683 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2684 args.append(migration)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2685
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2686 dia = DjangoDialog(title, parent=self.__ui)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2687 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2688 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2689 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2690
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2691 def __unapplyMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2692 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2693 Private slot to revert all migrations of an application.
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2694 """
176
1395e0583f4e Updated version info to indicate relation to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
2695 apps = sorted(self.__getMigrations().keys())
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2696 if not apps:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2697 EricMessageBox.information(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2698 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2699 self.tr("Unapply Migrations"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2700 self.tr("""No migrations available."""),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2701 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2702 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2703
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2704 app, ok = QInputDialog.getItem(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2705 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2706 self.tr("Unapply Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2707 self.tr("Select an application:"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2708 [""] + apps,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2709 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2710 False,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2711 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2712 if ok and app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2713 self.applyMigrations(app=app, migration="zero")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2714
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2715 def __getMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2716 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2717 Private method to get the available migrations.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2718
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2719 @return dictionary containing the available migrations
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2720 @rtype dict with app name as key (str) and list of tuples of
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2721 applied indication (bool) and migration name (str) as value
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2722 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2723 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2724 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2725 except DjangoNoSiteSelectedError:
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2726 return {}
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2727
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2728 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2729 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2730 args.append("showmigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2731 args.append("--list")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2732 if self.__currentDatabase:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2733 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2734
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2735 migrations = {}
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2736 proc = QProcess()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2737 if path:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2738 proc.setWorkingDirectory(path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2739 proc.start(self.__getPythonExecutable(), args)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2740 if proc.waitForStarted() and proc.waitForFinished():
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2741 output = str(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2742 proc.readAllStandardOutput(),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2743 Preferences.getSystem("IOEncoding"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2744 "replace",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2745 )
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2746 if output:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2747 recentApp = ""
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2748 for line in output.splitlines():
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2749 if not line.startswith(" "):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2750 # application name
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2751 recentApp = line.strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2752 migrations[recentApp] = []
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2753 else:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2754 # migration name
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2755 line = line.strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2756 applied = line[1] != " "
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2757 name = line[3:].strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2758 if recentApp:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2759 migrations[recentApp].append((applied, name))
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2760 return migrations
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2761
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2762 def __makeMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2763 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2764 Private slot to generate migrations for the Django project.
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2765 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2766 from .DjangoMakeMigrationsDialog import DjangoMakeMigrationsDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2767
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2768 dlg = DjangoMakeMigrationsDialog(self.getRecentApplications(), parent=self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2769 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2770 apps, migration, dryRun, empty, merge = dlg.getData()
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2771 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2772 self.setMostRecentApplication(apps)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2773 apps = apps.split()
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2774 self.makeMigrations(apps, migration, dryRun, empty, merge)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2775
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2776 def makeMigrations(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2777 self, apps, migration=None, dryRun=False, empty=False, merge=False
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2778 ):
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2779 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2780 Public method to generate migrations.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2781
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2782 @param apps list of application names to generate migrations for
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2783 @type list of str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2784 @param migration name of the migration to generate
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2785 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2786 @param dryRun flag indicating a dry run
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2787 @type bool
104
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2788 @param empty flag indicating the creation of an empty migration
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2789 @type bool
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2790 @param merge flag indicating to fix migration conflicts
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2791 @type bool
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2792 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2793 title = self.tr("Make Migrations")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2794
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2795 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2796 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2797 except DjangoNoSiteSelectedError:
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2798 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2799
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2800 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2801 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2802 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2803 args.append("makemigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2804 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2805 args.append("--name")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2806 args.append(migration.replace(" ", "_"))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2807 if dryRun:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2808 args.append("--dry-run")
104
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2809 if empty:
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2810 args.append("--empty")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2811 if merge:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2812 args.append("--merge")
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2813 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2814 args += apps
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2815
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2816 dia = DjangoDialog(title, showInput=True, parent=self.__ui)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2817 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2818 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2819 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2820
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2821 def __squashMigrations(self):
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2822 """
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2823 Private slot to squash migrations.
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2824 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2825 from .DjangoSquashMigrationSelectionDialog import (
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2826 DjangoSquashMigrationSelectionDialog,
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2827 )
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2828
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2829 migrations = self.__getMigrations()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2830 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2831 EricMessageBox.information(
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2832 None,
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2833 self.tr("Squash Migrations"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2834 self.tr("""No migrations available."""),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2835 )
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2836 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2837
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2838 dlg = DjangoSquashMigrationSelectionDialog(
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2839 migrations, self, self.__iconSuffix, parent=self.__ui
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2840 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2841 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2842 app, start, end, noOptimize, name = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2843
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2844 title = self.tr("Squash Migrations")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2845
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2846 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2847 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2848 except DjangoNoSiteSelectedError:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2849 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2850
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2851 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2852 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2853 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2854 args.append("squashmigrations")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2855 args.append("--noinput")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2856 if noOptimize:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2857 args.append("--no-optimize")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2858 if name:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2859 args.append("--squashed-name={0}".format(name))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2860 args.append(app)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2861 if start:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2862 args.append(start)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2863 args.append(end)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2864
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2865 dia = DjangoDialog(title, parent=self.__ui)
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2866 res = dia.startProcess(args, path)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2867 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2868 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2869
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2870 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2871 ## slots below implement some tool functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2872 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2873
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2874 def __diffSettings(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2875 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2876 Private slot to show the changes made to the settings.py file.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2877 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2878 from .DjangoDiffsettingsDataDialog import DjangoDiffsettingsDataDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2879
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2880 title = self.tr("Diff Settings")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2881
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2882 dlg = DjangoDiffsettingsDataDialog(self, parent=self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2883 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2884 showAll, defaultModule, outputFormat = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2885
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2886 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2887 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2888 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2889 args.append("diffsettings")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2890 if showAll:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2891 args.append("--all")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2892 if defaultModule:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2893 args.append("--default={0}".format(defaultModule))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2894 if outputFormat:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2895 args.append("--output={0}".format(outputFormat))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2896
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2897 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2898 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2899 except DjangoNoSiteSelectedError:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2900 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2901
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2902 dia = DjangoDialog(title, fixed=True, linewrap=False, parent=self.__ui)
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2903 res = dia.startProcess(args, path, False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2904 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2905 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2906
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2907 def __runPythonShell(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2908 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2909 Private slot to start a Python console for a Django project.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2910 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2911 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2912 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2913 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2914 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2915 args = Utilities.parseOptionString(consoleCmd)
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
2916 args[0] = getExecutablePath(args[0])
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2917 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2918 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2919 args.append("shell")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2920 args.append(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2921 "--interface={0}".format(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2922 self.__plugin.getPreferences("Python3ConsoleType")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2923 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2924 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2925 with contextlib.suppress(DjangoNoSiteSelectedError):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2926 wd = self.__sitePath()
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
2927 self.__adjustWorkingDirectory(args, wd)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2928 started, pid = QProcess.startDetached(args[0], args[1:], wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2929 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2930 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2931 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2932 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2933 self.tr("The Django process could not be started."),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2934 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2935
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2936 def __sendTestEmail(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2937 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2938 Private slot to send a test email through Django.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2939 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2940 from .DjangoSendTestEmailDataDialog import DjangoSendTestEmailDataDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
2941
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2942 title = self.tr("Send Test Email")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2943
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2944 dlg = DjangoSendTestEmailDataDialog(parent=self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2945 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2946 managers, admins, recipients = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2947
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2948 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2949 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2950 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2951 args.append("sendtestemail")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2952 if managers:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2953 args.append("--managers")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2954 if admins:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2955 args.append("--admins")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2956 args.extend(recipients)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2957
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2958 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2959 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2960 except DjangoNoSiteSelectedError:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2961 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2962
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2963 dia = DjangoDialog(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2964 title,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2965 linewrap=False,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2966 msgSuccess=self.tr("Test Email sent successfully."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2967 msgError=self.tr("Test Email could not be sent."),
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2968 parent=self.__ui,
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2969 )
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2970 res = dia.startProcess(args, path, False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2971 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2972 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2973
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2974 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2975 ## slots below implement caching functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2976 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2977
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2978 def __createCacheTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2979 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2980 Private slot to create the tables for the SQL caching backend.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2981 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2982 title = self.tr("Create Cache Tables")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2983
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2984 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2985 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2986 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2987 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2988
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2989 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2990 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2991 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2992 args.append("createcachetable")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2993 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2994 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2995
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2996 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2997 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2998 msgSuccess=self.tr("Cache tables created successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
2999 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3000 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3001 res = dia.startProcess(args, wd)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3002 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3003 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3004
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3005 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3006 ## slots below implement testing functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3007 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3008
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3009 def __dumpData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3010 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3011 Private slot to dump the database data to a fixture.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3012 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3013 from .DjangoDumpdataDataDialog import DjangoDumpdataDataDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3014
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3015 title = self.tr("Dump Data")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3016
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3017 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3018 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3019 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3020 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3021
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3022 dlg = DjangoDumpdataDataDialog(self, parent=self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3023 if dlg.exec() == QDialog.DialogCode.Accepted:
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3024 appls, excls, dumpFormat, indent = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3025
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3026 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3027 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3028 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3029 args.append("dumpdata")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3030 args.append("--format={0}".format(dumpFormat))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3031 args.append("--indent={0}".format(indent))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3032 for excl in excls:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3033 args.append("--exclude={0}".format(excl))
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3034 if self.__currentDatabase:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3035 args.append("--database={0}".format(self.__currentDatabase))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3036 args += appls
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3037
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3038 if dumpFormat == "json":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3039 fileFilters = self.tr("JSON Files (*.json)")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3040 elif dumpFormat == "xml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3041 fileFilters = self.tr("XML Files (*.xml)")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3042 elif dumpFormat == "yaml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3043 fileFilters = self.tr("YAML Files (*.yaml)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3044
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3045 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3046 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3047 fixed=True,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3048 linewrap=False,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3049 saveFilters=fileFilters,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3050 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3051 )
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3052 res = dia.startProcess(args, wd, showCommand=False)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3053 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3054 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3055
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3056 def __loadData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3057 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3058 Private slot to load data from fixture files.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3059 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3060 from .DjangoLoaddataDataDialog import DjangoLoaddataDataDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3061
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3062 title = self.tr("Load Data")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3063
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3064 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3065 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3066 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3067 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3068
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3069 dlg = DjangoLoaddataDataDialog(self, parent=self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3070 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3071 fixtures, excludes, appLabel, ignore = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3072
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3073 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3074 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3075 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3076 args.append("loaddata")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3077 for excl in excludes:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3078 args.append("--exclude={0}".format(excl))
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3079 if ignore:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3080 args.append("--ignorenonexistent")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3081 if appLabel:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3082 args.append("--app={0}".format(appLabel))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3083 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3084 args.append("--database={0}".format(self.__currentDatabase))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3085 args += fixtures
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3086
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3087 dia = DjangoDialog(title, parent=self.__ui)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3088 res = dia.startProcess(args, wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3089 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3090 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3091
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
3092 def __runTestSuite(self, deprecation=False):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3093 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3094 Private slot to run the test suite for applications or the whole site.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3095
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
3096 @param deprecation flag indicating to test for deprecation warnings
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
3097 @type bool
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3098 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3099 from .DjangoTestDataDialog import DjangoTestDataDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3100
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3101 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3102 self.__plugin.getPreferences("ConsoleCommandNoClose")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3103 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3104 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3105 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3106 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3107 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3108 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3109
119
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 115
diff changeset
3110 dlg = DjangoTestDataDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3111 self, self.__plugin.getPreferences("KeepTestDatabase"), parent=self.__ui
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3112 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3113 if dlg.exec() == QDialog.DialogCode.Accepted:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3114 labels, pattern, tags, excludeTags, keep, reverse = dlg.getData()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3115
119
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 115
diff changeset
3116 self.__plugin.setPreferences("KeepTestDatabase", keep)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3117
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3118 args = Utilities.parseOptionString(consoleCmd)
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
3119 args[0] = getExecutablePath(args[0])
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3120 args.append(self.__getPythonExecutable())
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3121 if deprecation:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3122 args.append("-Wall")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3123 args.append("manage.py")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3124 args.append("test")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3125 if pattern:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3126 args.append("--pattern=" + pattern)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3127 for tag in tags:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3128 args.append("--tag=" + tag)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3129 for tag in excludeTags:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3130 args.append("--exclude-tag=" + tag)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3131 if keep:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3132 args.append("--keepdb")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3133 if reverse:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3134 args.append("--reverse")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3135 args.extend(labels)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3136
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3137 self.__adjustWorkingDirectory(args, wd)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3138 started, pid = QProcess.startDetached(args[0], args[1:], wd)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3139 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3140 EricMessageBox.critical(
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3141 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3142 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3143 self.tr("The Django process could not be started."),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3144 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3145
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3146 def __runTestServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3147 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3148 Private slot to run a development server with data from a set of
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3149 fixtures.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3150 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3151 from .DjangoRunTestServerDataDialog import DjangoRunTestServerDataDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3152
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3153 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3154 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3155 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3156 if consoleCmd:
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3157 dlg = DjangoRunTestServerDataDialog(self, parent=self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3158 if dlg.exec() == QDialog.DialogCode.Accepted:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3159 fixtures = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3160
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3161 args = Utilities.parseOptionString(consoleCmd)
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
3162 args[0] = getExecutablePath(args[0])
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3163 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3164 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3165 args.append("testserver")
4
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
3166 if self.__plugin.getPreferences("UseIPv6"):
81c2943be6b6 Added support for IPv6 to the 'Run Server', 'Run Browser' and 'Run Testserver' commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
3167 args.append("--ipv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3168 addr = self.__plugin.getPreferences("ServerAddress")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3169 if addr:
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
3170 args.append("--addrport={0}".format(addr))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3171 args += fixtures
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3172
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3173 with contextlib.suppress(DjangoNoSiteSelectedError):
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
3174 if isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3175 serverProcStarted, pid = QProcess.startDetached(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3176 args[0], args[1:], self.__sitePath()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3177 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3178 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3179 if self.__testServerProc is not None:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3180 self.__testServerProcFinished()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3181
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3182 self.__testServerProc = QProcess()
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3183 self.__testServerProc.finished.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3184 self.__serverProcFinished
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3185 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3186 self.__testServerProc.setWorkingDirectory(self.__sitePath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3187 self.__testServerProc.start(args[0], args[1:])
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3188 serverProcStarted = self.__testServerProc.waitForStarted()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3189 if not serverProcStarted:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3190 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3191 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3192 self.tr("Process Generation Error"),
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3193 self.tr("The Django test server could not be started."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3194 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3195
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3196 def __testServerProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3197 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3198 Private slot connected to the finished signal of the test server.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3199 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3200 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3201 self.__testServerProc is not None
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3202 and self.__testServerProc.state() != QProcess.ProcessState.NotRunning
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3203 ):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3204 self.__testServerProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3205 QTimer.singleShot(2000, self.__testServerProc.kill)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3206 self.__testServerProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3207 self.__testServerProc = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3208
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3209 ##################################################################
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3210 ## slots below implement authorization functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3211 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3212
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3213 def __changePassword(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3214 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3215 Private slot to change the password of a user.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3216 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3217 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3218 self.__plugin.getPreferences("ConsoleCommandNoClose")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3219 )[1]
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3220 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3221 userName, ok = QInputDialog.getText(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3222 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3223 self.tr("Change Password"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3224 self.tr("Enter the name of the user:"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3225 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3226 )
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3227 if ok and userName != "":
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3228 args = Utilities.parseOptionString(consoleCmd)
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
3229 args[0] = getExecutablePath(args[0])
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3230 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3231 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3232 args.append("changepassword")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3233 args.append(userName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3234 with contextlib.suppress(DjangoNoSiteSelectedError):
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3235 wd = self.__sitePath()
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
3236 self.__adjustWorkingDirectory(args, wd)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3237 started, pid = QProcess.startDetached(args[0], args[1:], wd)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3238 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3239 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3240 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3241 self.tr("Process Generation Error"),
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3242 self.tr("The Django process could not be started."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3243 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3244
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3245 def __createSuperUser(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3246 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3247 Private slot to create a super user account.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3248 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3249 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3250 self.__plugin.getPreferences("ConsoleCommandNoClose")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3251 )[1]
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3252 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3253 args = Utilities.parseOptionString(consoleCmd)
188
b08c2cb2e0a0 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
3254 args[0] = getExecutablePath(args[0])
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3255 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3256 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3257 args.append("createsuperuser")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3258 with contextlib.suppress(DjangoNoSiteSelectedError):
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3259 wd = self.__sitePath()
80
34b6482eb9f6 Did some more fixes and removed support for some very old commands (pre 1.5.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 78
diff changeset
3260 self.__adjustWorkingDirectory(args, wd)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3261 started, pid = QProcess.startDetached(args[0], args[1:], wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3262 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3263 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3264 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3265 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3266 self.tr("The Django process could not be started."),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3267 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3268
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3269 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3270 ## slots below implement session functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3271 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3272
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3273 def __clearSessions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3274 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3275 Private slot to clear expired sessions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3276 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3277 title = self.tr("Clear Sessions")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3278
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3279 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3280 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3281 except DjangoNoSiteSelectedError:
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3282 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3283
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3284 args = []
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3285 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3286 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3287 args.append("clearsessions")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3288
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3289 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3290 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3291 msgSuccess=self.tr("Expired sessions cleared successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3292 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3293 )
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3294 res = dia.startProcess(args, wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3295 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3296 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3297
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3298 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3299 ## slots below implement translation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3300 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3301
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3302 def __getLocale(self, filename):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3303 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3304 Private method to extract the locale out of a file name.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3305
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3306 @param filename name of the file used for extraction
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3307 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3308 @return extracted locale or None
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3309 @rtype str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3310 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3311 if self.__ericProject.getTranslationPattern():
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3312 pattern = self.__ericProject.getTranslationPattern().replace(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3313 "%language%", "(.*?)"
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3314 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3315 match = re.search(pattern, filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3316 if match is not None:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3317 loc = match.group(1)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3318 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3319 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3320 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3321 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3322 loc = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3323
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3324 return loc
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3325
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3326 def __normalizeList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3327 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3328 Private method to normalize a list of file names.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3329
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3330 @param filenames list of file names to normalize
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3331 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3332 @return normalized file names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3333 @rtype list of str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3334 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3335 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3336 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3337 if filename.endswith(".mo"):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3338 filename = filename.replace(".mo", ".po")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3339 if filename not in nfilenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3340 nfilenames.append(filename)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3341
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3342 return nfilenames
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3343
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3344 def __siteFilteredList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3345 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3346 Private method to filter a list of file names by site.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3347
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3348 @param filenames list of file names to be filtered
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3349 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3350 @return file names belonging to the current site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3351 @rtype list of str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3352 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3353 site = self.__site()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3354 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3355 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3356 if site == "" or filename.startswith(site + os.sep):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3357 nfilenames.append(filename)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3358
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3359 return nfilenames
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3360
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3361 def __projectLanguageAdded(self, code):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3362 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3363 Private slot handling the addition of a new language.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3364
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3365 @param code language code of the new language
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3366 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3367 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3368 title = self.tr("Initializing message catalog for '{0}'").format(code)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3369
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3370 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3371 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3372 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3373 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3374 args.append("--locale={0}".format(code))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3375
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3376 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3377 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3378 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3379 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3380 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3381 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3382 self.tr("No current site selected or no site created yet. Aborting..."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3383 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3384 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3385
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3386 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3387 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3388 msgSuccess=self.tr("\nMessage catalog initialized successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3389 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3390 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3391 res = dia.startProcess(args, wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3392 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3393 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3394
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3395 langFile = self.__ericProject.getTranslationPattern().replace(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3396 "%language%", code
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3397 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3398 self.__ericProject.appendFile(langFile)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3399
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3400 def updateSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3401 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3402 Public method to update the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3403
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3404 @param filenames list of file names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3405 @type list of str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3406 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3407 title = self.tr("Updating message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3408
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3409 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3410 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3411 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3412 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3413 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3414 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3415 self.tr("No current site selected or no site created yet. Aborting..."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3416 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3417 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3418
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3419 argsLists = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3420
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3421 for filename in self.__normalizeList(self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3422 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3423 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3424 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3425 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3426 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3427 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3428 args.append("--no-obsolete")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3429 args.append("--locale={0}".format(locale))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3430 argsLists.append(args)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3431
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3432 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3433 EricMessageBox.warning(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3434 None, title, self.tr("No locales detected. Aborting...")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3435 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3436 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3437
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3438 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3439 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3440 msgSuccess=self.tr("\nMessage catalogs updated successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3441 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3442 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3443 res = dia.startBatchProcesses(argsLists, wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3444 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3445 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3446
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3447 def updateSelectedCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3448 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3449 Public method to update the message catalogs keeping obsolete messages.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3450
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3451 @param filenames list of filenames
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3452 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3453 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3454 title = self.tr("Updating message catalogs (keeping obsolete messages)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3455
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3456 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3457 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3458 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3459 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3460 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3461 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3462 self.tr("No current site selected or no site created yet. Aborting..."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3463 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3464 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3465
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3466 argsLists = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3467
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3468 for filename in self.__normalizeList(self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3469 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3470 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3471 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3472 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3473 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3474 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3475 args.append("--locale={0}".format(locale))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3476 argsLists.append(args)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3477
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3478 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3479 EricMessageBox.warning(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3480 None, title, self.tr("No locales detected. Aborting...")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3481 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3482 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3483
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3484 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3485 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3486 msgSuccess=self.tr("\nMessage catalogs updated successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3487 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3488 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3489 res = dia.startBatchProcesses(argsLists, wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3490 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3491 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3492
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3493 def updateCatalogs(self, filenames): # noqa: U100
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3494 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3495 Public method to update the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3496
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3497 @param filenames list of filenames (not used)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3498 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3499 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3500 title = self.tr("Updating message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3501
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3502 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3503 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3504 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3505 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3506 args.append("--all")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3507 args.append("--no-obsolete")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3508
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3509 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3510 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3511 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3512 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3513 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3514 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3515 self.tr("No current site selected or no site created yet. Aborting..."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3516 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3517 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3518
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3519 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3520 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3521 msgSuccess=self.tr("\nMessage catalogs updated successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3522 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3523 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3524 res = dia.startProcess(args, wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3525 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3526 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3527
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3528 def updateCatalogsWithObsolete(self, filenames): # noqa: U100
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3529 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3530 Public method to update the message catalogs keeping obsolete messages.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3531
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3532 @param filenames list of filenames (not used)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3533 @type list of str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3534 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3535 title = self.tr("Updating message catalogs (keeping obsolete messages)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3536
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3537 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3538 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3539 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3540 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3541 args.append("--all")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3542
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3543 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3544 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3545 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3546 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3547 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3548 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3549 self.tr("No current site selected or no site created yet. Aborting..."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3550 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3551 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3552
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3553 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3554 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3555 msgSuccess=self.tr("\nMessage catalogs updated successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3556 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3557 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3558 res = dia.startProcess(args, wd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3559 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3560 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3561
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3562 def compileSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3563 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3564 Public method to update the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3565
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3566 @param filenames list of filenames
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3567 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3568 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3569 title = self.tr("Compiling message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3570
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3571 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3572 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3573 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3574 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3575 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3576 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3577 self.tr("No current site selected or no site created yet. Aborting..."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3578 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3579 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3580
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3581 argsLists = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3582
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3583 for filename in self.__normalizeList(self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3584 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3585 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3586 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3587 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3588 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3589 args.append("compilemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3590 args.append("--locale={0}".format(locale))
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3591 if self.__plugin.getPreferences("FuzzyTranslations"):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3592 args.append("--use-fuzzy")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3593 argsLists.append(args)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3594
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3595 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3596 EricMessageBox.warning(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3597 None, title, self.tr("No locales detected. Aborting...")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3598 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3599 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3600
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3601 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3602 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3603 msgSuccess=self.tr("\nMessage catalogs compiled successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3604 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3605 )
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3606 res = dia.startBatchProcesses(argsLists, wd, mergedOutput=True)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3607 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3608 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3609
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3610 for entry in os.walk(self.__sitePath()):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3611 for fileName in entry[2]:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3612 fullName = os.path.join(entry[0], fileName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3613 if fullName.endswith(".mo"):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3614 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3615
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3616 def compileCatalogs(self, filenames): # noqa: U100
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3617 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3618 Public method to compile the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3619
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3620 @param filenames list of filenames (not used)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3621 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3622 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3623 title = self.tr("Compiling message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3624
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3625 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3626 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3627 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3628 args.append("compilemessages")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3629 if self.__plugin.getPreferences("FuzzyTranslations"):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3630 args.append("--use-fuzzy")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3631
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3632 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3633 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3634 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3635 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3636 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3637 title,
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3638 self.tr("No current site selected or no site created yet. Aborting..."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3639 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3640 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3641
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3642 dia = DjangoDialog(
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3643 title,
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3644 msgSuccess=self.tr("\nMessage catalogs compiled successfully."),
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3645 parent=self.__ui,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3646 )
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3647 res = dia.startProcess(args, wd, mergedOutput=True)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3648 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3649 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3650
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3651 for entry in os.walk(self.__sitePath()):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3652 for fileName in entry[2]:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3653 fullName = os.path.join(entry[0], fileName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3654 if fullName.endswith(".mo"):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3655 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3656
20
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3657 def openPOEditor(self, poFile):
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3658 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3659 Public method to edit the given file in an external .po editor.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3660
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3661 @param poFile name of the .po file
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3662 @type str
20
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3663 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3664 editor = self.__plugin.getPreferences("TranslationsEditor")
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3665 if poFile.endswith(".po") and editor:
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3666 try:
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3667 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3668 except DjangoNoSiteSelectedError:
20
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3669 wd = ""
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3670 started, pid = QProcess.startDetached(editor, [poFile], wd)
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3671 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3672 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3673 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3674 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3675 self.tr(
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3676 "The translations editor process ({0}) could not be started."
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3677 ).format(os.path.basename(editor)),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3678 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3679
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3680 ##################################################################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3681 ## slots below implement check functions
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3682 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3683
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3684 def __performCheck(self):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3685 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3686 Private slot to inspect the project for common problems.
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3687 """
192
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3688 from .DjangoCheckOptionsDialog import DjangoCheckOptionsDialog
a4b66a1acea6 Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3689
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3690 try:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3691 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3692 except DjangoNoSiteSelectedError:
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3693 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3694
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3695 dlg = DjangoCheckOptionsDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3696 self.__getPythonExecutable(),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3697 path,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3698 self.getRecentApplications(),
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3699 self.__plugin.getPreferences("CheckDeployMode"),
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3700 parent=self.__ui,
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3701 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3702 if dlg.exec() == QDialog.DialogCode.Accepted:
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3703 deploy, tags, appsStr, settingsFile = dlg.getData()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3704 self.__plugin.setPreferences("CheckDeployMode", deploy)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3705 if appsStr != "":
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3706 self.setMostRecentApplication(appsStr)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3707 apps = appsStr.split()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3708
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3709 args = []
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3710 args.append(self.__getPythonExecutable())
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3711 args.append("manage.py")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3712 args.append("check")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3713 for tag in tags:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3714 args.append("--tag")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3715 args.append(tag)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3716 if deploy:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3717 args.append("--deploy")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3718 if settingsFile:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3719 args.append("--settings={0}".format(settingsFile))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3720 args += apps
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3721
195
b027b4f90994 - changed to the new style header
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 193
diff changeset
3722 dia = DjangoDialog(self.tr("Check Project"), parent=self.__ui)
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3723 res = dia.startProcess(args, path, mergedOutput=True)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3724 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3725 dia.exec()

eric ide

mercurial