ProjectDjango/Project.py

Wed, 21 Sep 2022 16:42:20 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 21 Sep 2022 16:42:20 +0200
branch
eric7
changeset 180
64339135bd61
parent 178
60c87e256fc7
child 184
9585686bc532
permissions
-rw-r--r--

Reformatted source code with 'Black'.

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
175
30cb5e553e7e Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
3 # Copyright (c) 2013 - 2022 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
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
11 import re
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
12 import shutil
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
13 import contextlib
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
15 from PyQt6.QtCore import QObject, QTimer, QUrl, QFileInfo, QIODeviceBase
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
16 from PyQt6.QtGui import QDesktopServices
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
17 from PyQt6.QtWidgets import QMenu, QInputDialog, QLineEdit, QDialog
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
18 from PyQt6.QtCore import QProcess as QProcessPyQt
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
20 from EricWidgets.EricApplication import ericApp
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
21 from EricWidgets import EricMessageBox, EricFileDialog
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
22 from EricGui.EricAction import EricAction
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
24 from Globals import isWindowsPlatform
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
25
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 from .DjangoDialog import DjangoDialog
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 import Preferences
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 import Utilities
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
30 import UI.PixmapCache
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
33 class DjangoNoSiteSelectedError(Exception):
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 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
36 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
37
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 pass
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
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
41 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
42 """
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
43 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
44 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
45
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
46 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
47 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
48 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
49 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
50
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
51 @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
52 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
53 @param args list of parameters
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
54 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
55 @param mode access mode
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
56 @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
57 """
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
58 if args is None:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
59 args = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
60
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
61 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
62 cmd.endswith(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
63 ("gnome-terminal", "konsole", "xfce4-terminal", "mate-terminal")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
64 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
65 and "-e" in args
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
66 ):
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
67 index = args.index("-e") + 1
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
68 cargs = " ".join(args[index:])
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
69 args[index:] = [cargs]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
70
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
71 super().start(cmd, args, mode)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
72
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
73 @staticmethod
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
74 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
75 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
76 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
77 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
78
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
79 @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
80 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
81 @param args list of parameters
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
82 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
83 @param path new working directory
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
84 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
85 @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
86 @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
87 """
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
88 if args is None:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
89 args = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
90
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
91 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
92 cmd.endswith(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
93 ("gnome-terminal", "konsole", "xfce4-terminal", "mate-terminal")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
94 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
95 and "-e" in args
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
96 ):
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
97 index = args.index("-e") + 1
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
98 cargs = " ".join(args[index:])
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
99 args[index:] = [cargs]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
100
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
101 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
102
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
103
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 class Project(QObject):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 Class implementing the Django project support.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
108
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 RecentApplicationsKey = "Django/RecentApplications"
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
110 RecentDatabaseNamesKey = "Django/RecentDatabaseNames"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
111
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
112 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
113 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 Constructor
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
115
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 @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
117 @type ProjectDjangoPlugin
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
118 @param iconSuffix suffix for the icons
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
119 @type str
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
120 @param parent parent
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
121 @type QObject
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
123 super().__init__(parent)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
124
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 self.__plugin = plugin
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
126 self.__iconSuffix = iconSuffix
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 self.__ui = parent
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
128
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
129 self.__ericProject = ericApp().getObject("Project")
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
130 self.__virtualEnvManager = ericApp().getObject("VirtualEnvManager")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 self.__hooksInstalled = False
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
132
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
133 self.__menus = {} # dictionary with references to menus
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
134
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 self.__serverProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 self.__testServerProc = None
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 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 self.__loadRecentApplications()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
140
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
141 self.__recentDatabaseNames = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
142 self.__loadRecentDatabaseNames()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
143
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
144 self.__recentTestData = {
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
145 "RecentTestLabels": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
146 "RecentTestTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
147 "RecentTestExcludeTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
148 }
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
149 self.__loadRecentTestData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
150
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 def initActions(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 """
11
5eda53fad138 Fixed a few bugs (copy-paste issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
153 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
154 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 self.actions = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
156
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
157 self.selectSiteAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
158 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
159 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
160 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
161 self.selectSiteAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
162 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
163 """<b>Current Project</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
164 """<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
165 """Django projects to switch between the projects.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
166 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
167 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
168 self.selectSiteAct.triggered.connect(self.__selectSite)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 self.actions.append(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 self.__setCurrentSite(None)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
171
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 ## start actions below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
175
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
176 self.startProjectAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
177 self.tr("Start Project"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
178 self.tr("Start &Project"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
179 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
180 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
181 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
182 "django_start_project",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
183 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
184 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
185 self.startProjectAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
186 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
187 """<b>Start Project</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
188 """<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
189 """ startproject".</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
190 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
191 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
192 self.startProjectAct.triggered.connect(self.__startProject)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 self.actions.append(self.startProjectAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
194
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
195 self.startGlobalApplicationAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
196 self.tr("Start Application (global)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
197 self.tr("Start Application (&global)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
198 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
199 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
200 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
201 "django_start_global_application",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
202 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
203 self.startGlobalApplicationAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
204 self.tr("Starts a new global Django application")
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.startGlobalApplicationAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
207 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
208 """<b>Start Application (global)</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
209 """<p>Starts a new global Django application using"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
210 """ "django-admin.py startapp".</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
211 )
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 self.startGlobalApplicationAct.triggered.connect(self.__startGlobalApplication)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 self.actions.append(self.startGlobalApplicationAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
215
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
216 self.startLocalApplicationAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
217 self.tr("Start Application (local)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
218 self.tr("Start Application (&local)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
219 0,
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 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
222 "django_start_local_application",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
223 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
224 self.startLocalApplicationAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
225 self.tr("Starts a new local Django application")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
226 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
227 self.startLocalApplicationAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
228 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
229 """<b>Start Application (local)</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
230 """<p>Starts a new local Django application using"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
231 """ "manage.py startapp".</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
232 )
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 self.startLocalApplicationAct.triggered.connect(self.__startLocalApplication)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 self.actions.append(self.startLocalApplicationAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
236
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
237 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
238 ## run actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
239 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
240
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
241 self.runServerAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
242 self.tr("Run Server"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
243 self.tr("Run &Server"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
244 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
245 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
246 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
247 "django_run_server",
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.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
250 self.runServerAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
251 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
252 """<b>Run Server</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
253 """<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
254 """ runserver".</p>"""
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 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
257 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
258 self.actions.append(self.runServerAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
259
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
260 self.runBrowserAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
261 self.tr("Run Web-Browser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
262 self.tr("Run &Web-Browser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
263 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
264 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
265 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
266 "django_run_browser",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
267 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
268 self.runBrowserAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
269 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
270 "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
271 " server"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
272 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
273 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
274 self.runBrowserAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
275 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
276 """<b>Run Web-Browser</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
277 """<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
278 """Django Web server.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
279 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
280 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
281 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
282 self.actions.append(self.runBrowserAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
283
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
284 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
285 ## caching actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
286 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
287
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
288 self.createCacheTableAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
289 self.tr("Create Cache Tables"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
290 self.tr("C&reate Cache Tables"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
291 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
292 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
293 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
294 "django_create_cache_tables",
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.createCacheTableAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
297 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
298 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
299 self.createCacheTableAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
300 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
301 """<b>Create Cache Tables</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
302 """<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
303 """ backend.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
304 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
305 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
306 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
307 self.actions.append(self.createCacheTableAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
308
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 ## help action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
312
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
313 self.helpAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
314 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
315 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
316 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
317 self.helpAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
318 self.tr("""<b>Help</b>""" """<p>Shows the Django help index page.</p>""")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
319 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
320 self.helpAct.triggered.connect(self.__showHelpIndex)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 self.actions.append(self.helpAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
322
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 ## about action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 ##############################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
326
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
327 self.aboutDjangoAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
328 self.tr("About Django"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
329 self.tr("About D&jango"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
330 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
331 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
332 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
333 "django_about",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
334 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
335 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
336 self.aboutDjangoAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
337 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
338 """<b>About Django</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
339 """<p>Shows some information about Django.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
340 )
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.aboutDjangoAct.triggered.connect(self.__djangoInfo)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 self.actions.append(self.aboutDjangoAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
344
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
345 ##############################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
346 ## check action below ##
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
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.checkAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
350 self.tr("Check Project"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
351 self.tr("Check Project"),
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_check_project",
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.checkAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
358 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
359 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
360 self.checkAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
361 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
362 """<b>Check Project</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
363 """<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
364 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
365 )
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
366 self.checkAct.triggered.connect(self.__performCheck)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
367 self.actions.append(self.checkAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
368
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
369 self.__initDatabaseActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
370 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
371 self.__initMigrationActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
372 self.__initToolsActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
373 self.__initTestingActions()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
374 self.__initAuthorizationActions()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
375 self.__initSessionActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
376
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
377 def __initDatabaseActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
378 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
379 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
380 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
381 self.selectDatabaseNameAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
382 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
383 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
384 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
385 self.selectDatabaseNameAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
386 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
387 """<b>Current Database</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
388 """<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
389 """ 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
390 """ name.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
391 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
392 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
393 self.selectDatabaseNameAct.triggered.connect(self.__selectDatabaseName)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
394 self.actions.append(self.selectDatabaseNameAct)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
395 self.__setCurrentDatabase(None)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
396
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
397 self.inspectDatabaseAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
398 self.tr("Introspect"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
399 self.tr("&Introspect"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
400 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
401 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
402 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
403 "django_database_inspect",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
404 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
405 self.inspectDatabaseAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
406 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
407 "Introspects the database tables and outputs a Django model" " module"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
408 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
409 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
410 self.inspectDatabaseAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
411 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
412 """<b>Introspect</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
413 """<p>Introspects the database tables and outputs a """
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
414 """Django model module.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
415 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
416 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
417 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
418 self.actions.append(self.inspectDatabaseAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
419
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
420 self.flushDatabaseAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
421 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
422 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
423 self.flushDatabaseAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
424 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
425 "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
426 " installation"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
427 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
428 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
429 self.flushDatabaseAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
430 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
431 """<b>Flush</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
432 """<p>Returns all database tables to the state """
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
433 """just after their installation.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
434 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
435 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
436 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
437 self.actions.append(self.flushDatabaseAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
438
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
439 self.databaseClientAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
440 self.tr("Start Client Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
441 self.tr("Start &Client Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
442 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
443 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
444 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
445 "django_database_client",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
446 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
447 self.databaseClientAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
448 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
449 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
450 self.databaseClientAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
451 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
452 """<b>Start Client Console</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
453 """<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
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.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
457 self.actions.append(self.databaseClientAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
458
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
459 def __initDatabaseSqlActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
460 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
461 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
462 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
463 self.databaseSqlFlushAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
464 self.tr("Flush Database"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
465 self.tr("&Flush Database"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
466 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
467 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
468 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
469 "django_database_sql_flush_database",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
470 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
471 self.databaseSqlFlushAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
472 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
473 "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
474 " state just after their installation"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
475 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
476 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
477 self.databaseSqlFlushAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
478 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
479 """<b>Flush Database</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
480 """<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
481 """ to the state just after their installation.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
482 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
483 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
484 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
485 self.actions.append(self.databaseSqlFlushAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
486
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
487 self.databaseSqlResetSeqAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
488 self.tr("Reset Sequences"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
489 self.tr("Reset &Sequences"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
490 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
491 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
492 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
493 "django_database_sql_reset_sequences",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
494 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
495 self.databaseSqlResetSeqAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
496 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
497 "Prints the SQL statements for resetting sequences for "
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
498 "one or more applications"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
499 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
500 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
501 self.databaseSqlResetSeqAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
502 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
503 """<b>Reset Sequences</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
504 """<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
505 """one or more applications.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
506 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
507 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
508 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
509 self.actions.append(self.databaseSqlResetSeqAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
510
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
511 self.databaseSqlMigrateAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
512 self.tr("Apply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
513 self.tr("&Apply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
514 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
515 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
516 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
517 "django_database_sql_apply_migration",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
518 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
519 self.databaseSqlMigrateAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
520 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
521 "Prints the SQL statements to apply a migration of an" " application"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
522 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
523 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
524 self.databaseSqlMigrateAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
525 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
526 """<b>Apply Migration</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
527 """<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
528 """ application.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
529 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
530 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
531 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
532 self.actions.append(self.databaseSqlMigrateAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
533
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
534 self.databaseSqlMigrateBackwardsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
535 self.tr("Unapply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
536 self.tr("&Unapply Migration"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
537 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
538 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
539 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
540 "django_database_sql_unapply_migration",
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.databaseSqlMigrateBackwardsAct.setStatusTip(
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 "Prints the SQL statements to unapply a migration of an" " application"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
545 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
546 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
547 self.databaseSqlMigrateBackwardsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
548 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
549 """<b>Unapply Migration</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
550 """<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
551 """ application.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
552 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
553 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
554 self.databaseSqlMigrateBackwardsAct.triggered.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
555 lambda: self.__databaseSqlMigrate(backwards=True)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
556 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
557 self.actions.append(self.databaseSqlMigrateBackwardsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
558
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
559 def __initToolsActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
560 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
561 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
562 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
563 self.diffSettingsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
564 self.tr("Diff Settings"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
565 self.tr("&Diff Settings"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
566 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
567 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
568 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
569 "django_tools_diffsettings",
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 self.diffSettingsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
572 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
573 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
574 self.diffSettingsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
575 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
576 """<b>Diff Settings</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
577 """<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
578 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
579 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
580 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
581 self.actions.append(self.diffSettingsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
582
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
583 self.runPythonShellAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
584 self.tr("Start Python Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
585 self.tr("Start &Python Console"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
586 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
587 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
588 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
589 "django_tools_pythonconsole",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
590 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
591 self.runPythonShellAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
592 self.tr("Starts a Python interactive interpreter")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
593 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
594 self.runPythonShellAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
595 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
596 """<b>Start Python Console</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
597 """<p>Starts a Python interactive interpreter.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
598 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
599 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
600 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
601 self.actions.append(self.runPythonShellAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
602
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
603 self.testEmailAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
604 self.tr("Send Test Email"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
605 self.tr("Send Test &Email"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
606 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
607 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
608 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
609 "django_tools_sendtestemail",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
610 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
611 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
612 self.testEmailAct.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>Send Test Email</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
615 """<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
616 """ is working.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
617 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
618 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
619 self.testEmailAct.triggered.connect(self.__sendTestEmail)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
620 self.actions.append(self.testEmailAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
621
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
622 def __initTestingActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
623 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
624 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
625 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
626 self.dumpDataAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
627 self.tr("Dump Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
628 self.tr("&Dump Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
629 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
630 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
631 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
632 "django_tools_dumpdata",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
633 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
634 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
635 self.dumpDataAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
636 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
637 """<b>Dump Data</b>""" """<p>Dump the database data to a fixture.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
638 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
639 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
640 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
641 self.actions.append(self.dumpDataAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
642
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
643 self.loadDataAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
644 self.tr("Load Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
645 self.tr("&Load Data"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
646 0,
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 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
649 "django_tools_loaddata",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
650 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
651 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
652 self.loadDataAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
653 self.tr("""<b>Load Data</b>""" """<p>Load data from fixture files.</p>""")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
654 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
655 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
656 self.actions.append(self.loadDataAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
657
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
658 self.runTestAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
659 self.tr("Run Testsuite"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
660 self.tr("Run &Testsuite"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
661 0,
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 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
664 "django_tools_run_test",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
665 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
666 self.runTestAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
667 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
668 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
669 self.runTestAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
670 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
671 """<b>Run Testsuite</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
672 """<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
673 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
674 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
675 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
676 self.actions.append(self.runTestAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
677
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
678 self.runDeprecationTestAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
679 self.tr("Run Testsuite (-Wall)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
680 self.tr("Run Testsuite (-Wall)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
681 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
682 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
683 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
684 "django_tools_run_deprecation_test",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
685 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
686 self.runDeprecationTestAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
687 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
688 "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
689 " activated deprecation warnings"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
690 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
691 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
692 self.runDeprecationTestAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
693 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
694 """<b>Run Testsuite (-Wall)</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
695 """<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
696 """ with activated deprecation warnings.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
697 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
698 )
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
699 self.runDeprecationTestAct.triggered.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
700 lambda: self.__runTestSuite(deprecation=True)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
701 )
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
702 self.actions.append(self.runDeprecationTestAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
703
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
704 self.runTestServerAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
705 self.tr("Run Testserver"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
706 self.tr("Run Test&server"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
707 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
708 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
709 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
710 "django_tools_run_test_server",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
711 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
712 self.runTestServerAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
713 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
714 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
715 self.runTestServerAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
716 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
717 """<b>Run Testserver</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
718 """<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
719 """ fixtures.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
720 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
721 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
722 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
723 self.actions.append(self.runTestServerAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
724
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
725 def __initAuthorizationActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
726 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
727 Private method to define the authorization actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
728 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
729 self.changePasswordAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
730 self.tr("Change Password"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
731 self.tr("Change &Password"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
732 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
733 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
734 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
735 "django_auth_changepassword",
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 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
738 self.changePasswordAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
739 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
740 """<b>Change Password</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
741 """<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
742 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
743 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
744 self.changePasswordAct.triggered.connect(self.__changePassword)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
745 self.actions.append(self.changePasswordAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
746
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
747 self.createSuperUserAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
748 self.tr("Create Superuser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
749 self.tr("Create &Superuser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
750 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
751 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
752 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
753 "django_auth_createsuperuser",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
754 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
755 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
756 self.createSuperUserAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
757 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
758 """<b>Create Superuser</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
759 """<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
760 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
761 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
762 self.createSuperUserAct.triggered.connect(self.__createSuperUser)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
763 self.actions.append(self.createSuperUserAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
764
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
765 def __initSessionActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
766 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
767 Private method to define the session actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
768 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
769 self.clearSessionsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
770 self.tr("Clear Sessions"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
771 self.tr("Clear &Sessions"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
772 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
773 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
774 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
775 "django_session_clearsessions",
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 self.clearSessionsAct.setStatusTip(self.tr("Clear expired sessions"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
778 self.clearSessionsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
779 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
780 """<b>Clear Sessions</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
781 """<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
782 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
783 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
784 self.clearSessionsAct.triggered.connect(self.__clearSessions)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
785 self.actions.append(self.clearSessionsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
786
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
787 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
788 """
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
789 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
790 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
791 self.showMigrationsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
792 self.tr("Show Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
793 self.tr("&Show Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
794 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
795 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
796 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
797 "django_migration_show",
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 self.showMigrationsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
800 self.tr("Show a list of available migrations")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
801 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
802 self.showMigrationsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
803 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
804 """<b>Show Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
805 """<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
806 """ project and their status.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
807 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
808 )
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
809 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
810 self.actions.append(self.showMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
811
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
812 self.showMigrationsPlanAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
813 self.tr("Show Migrations Plan"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
814 self.tr("Show Migrations &Plan"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
815 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
816 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
817 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
818 "django_migration_show_plan",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
819 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
820 self.showMigrationsPlanAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
821 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
822 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
823 self.showMigrationsPlanAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
824 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
825 """<b>Show Migrations Plan</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
826 """<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
827 """ project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
828 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
829 )
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
830 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
831 self.actions.append(self.showMigrationsPlanAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
832
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
833 self.migrateAllAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
834 self.tr("Apply All Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
835 self.tr("&Apply All Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
836 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
837 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
838 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
839 "django_migration_apply_all",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
840 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
841 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
842 self.migrateAllAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
843 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
844 """<b>Apply All Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
845 """<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
846 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
847 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
848 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
849 self.actions.append(self.migrateAllAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
850
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
851 self.migrateSelectedAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
852 self.tr("Apply Selected Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
853 self.tr("Apply Selected Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
854 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
855 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
856 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
857 "django_migration_apply_selected",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
858 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
859 self.migrateSelectedAct.setStatusTip(self.tr("Apply selected migrations"))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
860 self.migrateSelectedAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
861 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
862 """<b>Apply Selected Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
863 """<p>This applies selected migrations of the Django"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
864 """ project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
865 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
866 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
867 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
868 self.actions.append(self.migrateSelectedAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
869
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
870 self.unmigrateAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
871 self.tr("Unapply Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
872 self.tr("&Unapply Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
873 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
874 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
875 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
876 "django_migration_unapply",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
877 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
878 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
879 self.unmigrateAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
880 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
881 """<b>Unapply Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
882 """<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
883 """ project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
884 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
885 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
886 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
887 self.actions.append(self.unmigrateAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
888
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
889 self.makeMigrationsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
890 self.tr("Make Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
891 self.tr("&Make Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
892 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
893 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
894 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
895 "django_migration_make",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
896 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
897 self.makeMigrationsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
898 self.tr("Generate migrations for the project")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
899 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
900 self.makeMigrationsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
901 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
902 """<b>Make Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
903 """<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
904 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
905 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
906 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
907 self.actions.append(self.makeMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
908
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
909 self.squashMigrationsAct = EricAction(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
910 self.tr("Squash Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
911 self.tr("S&quash Migrations"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
912 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
913 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
914 self,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
915 "django_migration_squash",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
916 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
917 self.squashMigrationsAct.setStatusTip(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
918 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
919 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
920 self.squashMigrationsAct.setWhatsThis(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
921 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
922 """<b>Squash Migrations</b>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
923 """<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
924 """ Django project.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
925 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
926 )
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
927 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
928 self.actions.append(self.squashMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
929
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
930 def initMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
931 """
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
932 Public method to initialize the Django menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
933
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
934 @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
935 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
936 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
937 self.__menus = {} # clear menus references
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
938
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
939 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
940 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
941
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
942 menu.addAction(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
943 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
944 menu.addAction(self.runServerAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
945 menu.addAction(self.runBrowserAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
946 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
947 menu.addAction(self.startProjectAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
948 menu.addAction(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
949 menu.addAction(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
950 menu.addSeparator()
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
951 menu.addAction(self.checkAct)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
952 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
953 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
954 menu.addMenu(self.__initMigrationsMenu())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
955 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
956 menu.addMenu(self.__initToolsMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
957 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
958 menu.addAction(self.createCacheTableAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
959 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
960 menu.addMenu(self.__initTestingMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
961 menu.addSeparator()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
962 menu.addMenu(self.__initAuthorizationMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
963 menu.addSeparator()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
964 menu.addMenu(self.__initSessionMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
965 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
966 menu.addAction(self.aboutDjangoAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
967 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
968 menu.addAction(self.helpAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
969
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
970 self.__menus["main"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
971
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
972 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
973
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
974 def __initDatabaseMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
975 """
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
976 Private method to initialize the database menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
977
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
978 @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
979 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
980 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
981 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
982 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
983
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
984 menu.addAction(self.selectDatabaseNameAct)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
985 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
986 menu.addAction(self.inspectDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
987 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
988 menu.addAction(self.flushDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
989 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
990 menu.addAction(self.databaseClientAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
991 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
992 menu.addMenu(self.__initDatabaseSqlMenu())
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
993
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
994 self.__menus["database"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
995
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
996 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
997
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
998 def __initDatabaseSqlMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
999 """
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
1000 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
1001
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
1002 @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
1003 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1004 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1005 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
1006 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1007
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1008 menu.addAction(self.databaseSqlFlushAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1009 menu.addAction(self.databaseSqlResetSeqAct)
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
1010 menu.addSeparator()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
1011 menu.addAction(self.databaseSqlMigrateAct)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
1012 menu.addAction(self.databaseSqlMigrateBackwardsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1013
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
1014 self.__menus["sql"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1015
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1016 return menu
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 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
1019 """
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
1020 Private method to initialize the Migrations submenu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1021
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
1022 @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
1023 @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
1024 """
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
1025 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
1026 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1027
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
1028 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
1029 menu.addAction(self.showMigrationsPlanAct)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1030 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1031 menu.addAction(self.migrateAllAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1032 menu.addAction(self.migrateSelectedAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1033 menu.addAction(self.unmigrateAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1034 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
1035 menu.addAction(self.makeMigrationsAct)
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
1036 menu.addSeparator()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
1037 menu.addAction(self.squashMigrationsAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1038
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
1039 self.__menus["migrations"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1040
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
1041 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1042
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1043 def __initToolsMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1044 """
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
1045 Private method to initialize the tools menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1046
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
1047 @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
1048 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1049 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1050 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
1051 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1052
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1053 menu.addAction(self.diffSettingsAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1054 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1055 menu.addAction(self.runPythonShellAct)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1056 menu.addSeparator()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1057 menu.addAction(self.testEmailAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1058
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
1059 self.__menus["tools"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1060
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1061 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1062
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1063 def __initTestingMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1064 """
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
1065 Private method to initialize the testing menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1066
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
1067 @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
1068 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1069 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1070 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
1071 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1072
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1073 menu.addAction(self.dumpDataAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1074 menu.addAction(self.loadDataAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1075 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1076 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
1077 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
1078 menu.addAction(self.runTestServerAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1079
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
1080 self.__menus["testing"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1081
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1082 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1083
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1084 def __initAuthorizationMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1085 """
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
1086 Private method to initialize the authorization menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1087
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
1088 @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
1089 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1090 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1091 menu = QMenu(self.tr("&Authorization"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1092 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1093
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1094 menu.addAction(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1095 menu.addAction(self.createSuperUserAct)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1096
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
1097 self.__menus["authorization"] = menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1098
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1099 return menu
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1100
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1101 def __initSessionMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1102 """
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
1103 Private method to initialize the authorization menu.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1104
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
1105 @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
1106 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1107 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1108 menu = QMenu(self.tr("&Session"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1109 menu.setTearOffEnabled(True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1110
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1111 menu.addAction(self.clearSessionsAct)
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["session"] = 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
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
1117 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
1118 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1119 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
1120
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1121 @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
1122 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1123 @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
1124 name exists
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1125 @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
1126 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1127 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
1128 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
1129 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
1130 return None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1131
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
1132 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
1133 """
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 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
1135
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1136 @return menu names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1137 @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
1138 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1139 return list(self.__menus.keys())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1140
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1141 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1142 ## 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
1143 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1144
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
1145 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
1146 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1147 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
1148 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
1149 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1150 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
1151 editor = self.__plugin.getPreferences("TranslationsEditor")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1152 if editor:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1153 self.__translationsBrowser.addHookMethodAndMenuEntry(
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1154 "open",
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1155 self.openPOEditor,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1156 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
1157 )
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1158 else:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1159 self.__translationsBrowser.removeHookMethod("open")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1160
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1161 def projectOpenedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1162 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1163 Public method to add our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1164 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1165 if self.__ericProject.getProjectType() == "Django":
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1166 self.__formsBrowser = (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1167 ericApp().getObject("ProjectBrowser").getProjectBrowser("forms")
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1168 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1169 self.__formsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1170 "newForm", self.newForm, self.tr("New template...")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1171 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1172
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1173 self.__ericProject.projectLanguageAddedByCode.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1174 self.__projectLanguageAdded
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1175 )
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1176 self.__translationsBrowser = (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1177 ericApp().getObject("ProjectBrowser").getProjectBrowser("translations")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1178 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1179 self.__translationsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1180 "generateAll", self.updateCatalogs, self.tr("Update all catalogs")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1181 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1182 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1183 "generateSelected",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1184 self.updateSelectedCatalogs,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1185 self.tr("Update selected catalogs"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1186 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1187 self.__translationsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1188 "generateAllWithObsolete",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1189 self.updateCatalogsWithObsolete,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1190 self.tr("Update all catalogs (with obsolete)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1191 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1192 self.__translationsBrowser.addHookMethodAndMenuEntry(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1193 "generateSelectedWithObsolete",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1194 self.updateSelectedCatalogsWithObsolete,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1195 self.tr("Update selected catalogs (with obsolete)"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1196 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1197 self.__translationsBrowser.addHookMethodAndMenuEntry(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1198 "releaseAll", self.compileCatalogs, self.tr("Compile all catalogs")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1199 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1200 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1201 "releaseSelected",
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1202 self.compileSelectedCatalogs,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1203 self.tr("Compile selected catalogs"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1204 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1205
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1206 self.__hooksInstalled = True
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1207
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
1208 self.registerOpenHook()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1209
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1210 def projectClosedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1211 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1212 Public method to remove our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1213 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1214 if self.__hooksInstalled:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1215 self.__formsBrowser.removeHookMethod("newForm")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1216 self.__formsBrowser = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1217
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1218 self.__ericProject.projectLanguageAddedByCode.disconnect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1219 self.__projectLanguageAdded
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 self.__translationsBrowser.removeHookMethod("generateAll")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1222 self.__translationsBrowser.removeHookMethod("generateSelected")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1223 self.__translationsBrowser.removeHookMethod("generateAllWithObsolete")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1224 self.__translationsBrowser.removeHookMethod("generateSelectedWithObsolete")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1225 self.__translationsBrowser.removeHookMethod("releaseAll")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1226 self.__translationsBrowser.removeHookMethod("releaseSelected")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1227 self.__translationsBrowser.removeHookMethod("open")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1228 self.__translationsBrowser = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1229
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1230 self.__hooksInstalled = False
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1231
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1232 def newForm(self, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1233 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1234 Public method to create a new form.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1235
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1236 @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
1237 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1238 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1239 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
1240 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1241 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
1242 path,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1243 filter,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1244 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1245 EricFileDialog.DontConfirmOverwrite,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1246 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1247
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1248 if not fname:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1249 # 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
1250 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1251
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1252 ext = QFileInfo(fname).suffix()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1253 if not ext:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1254 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
1255 if ex:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1256 fname += ex
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1257
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1258 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
1259 res = EricMessageBox.yesNo(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1260 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1261 self.tr("New Form"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1262 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
1263 icon=EricMessageBox.Warning,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1264 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1265
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1266 if not res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1267 # 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
1268 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1269
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1270 try:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1271 with open(fname, "w") as f:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1272 f.write("<!DOCTYPE html>")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1273 f.write("<html>\n")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1274 f.write(" <head>\n")
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1275 f.write(' <meta content="" />\n')
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1276 f.write(" <title></title>\n")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1277 f.write(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1278 ' <link rel="stylesheet" type="text/css"' ' href="style.css"/>'
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1279 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1280 f.write(" <!--[if lte IE 7]>")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1281 f.write(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1282 ' <link rel="stylesheet" type="text/css"' ' href="ie.css"/>'
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1283 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1284 f.write(" <![endif]-->")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1285 f.write(" </head>\n")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1286 f.write("\n")
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1287 f.write(' <body class="bodyclass">\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1288 f.write(' <div id="container">')
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1289 f.write(" </div>")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1290 f.write(" </body>\n")
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1291 f.close()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1292 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
1293 except OSError as e:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1294 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1295 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1296 self.tr("New Form"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1297 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1298 "<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
1299 " created.<br> Problem: {1}</p>"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1300 ).format(fname, str(e)),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1301 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1302 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1303
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1304 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
1305 self.__formsBrowser.sourceFile.emit(fname)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1306
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1307 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1308 ## slots below implement general functionality
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1309 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1310
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1311 def projectClosed(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1312 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1313 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
1314 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1315 if self.__serverProc is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1316 self.__serverProcFinished()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1317 self.__setCurrentSite(None)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1318
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
1319 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
1320 """
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1321 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
1322 the environment.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1323
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1324 @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
1325 @type str
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1326 @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
1327 accessible via the searchpath defined by the PATH environment
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1328 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
1329 @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
1330 """
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
1331 paths = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1332
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
1333 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
1334 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
1335 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
1336 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
1337 return []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1338
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
1339 cur_path = os.path.join(os.curdir, file)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1340 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
1341 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
1342
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1343 path = os.getenv("PATH")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1344
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
1345 # 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
1346 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
1347 dirs = path.split(os.pathsep)
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
1348 for directory in dirs:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
1349 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
1350 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
1351 paths.append(exe)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1352
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
1353 return paths
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1354
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 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
1356 """
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
1357 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
1358
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1359 @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
1360 @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
1361 """
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
1362 variants = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1363 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
1364 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
1365 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
1366 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
1367 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
1368 else:
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1369 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
1370 if isWindowsPlatform():
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1371 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
1372 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
1373 else:
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1374 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
1375 try:
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1376 fullCmds = Utilities.getExecutablePaths(cmd)
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1377 except AttributeError:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1378 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
1379 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
1380 try:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1381 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
1382 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
1383 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
1384 l0 = ""
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1385 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
1386 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
1387 break
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1388
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
1389 return variants
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1390
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1391 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
1392 """
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1393 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
1394 given Python variant.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1395
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1396 @param variant Python variant to test for
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1397 @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
1398 @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
1399 @type str
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1400 @return flag indicating a suitable file was found
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1401 @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
1402 """
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1403 l0 = line0.lower()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1404 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
1405 ok |= "pypy3" in l0
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1406
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1407 return ok
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1408
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
1409 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
1410 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1411 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
1412
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
1413 @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
1414 for (one of '' or 'Python3')
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1415 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1416 @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
1417 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1418 """
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
1419 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1420 language = self.__ericProject.getProjectLanguage()
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1421 venvName = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1422 self.__plugin.getPreferences("VirtualEnvironmentNamePy3")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1423 if language == "Python3"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1424 else ""
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1425 )
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1426 if venvName:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1427 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
1428 if not virtEnv:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1429 virtEnv = os.path.dirname(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1430 self.__virtualEnvManager.getVirtualenvInterpreter(venvName)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1431 )
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1432 if virtEnv.endswith(("Scripts", "bin")):
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1433 virtEnv = os.path.dirname(virtEnv)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1434 else:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1435 virtEnv = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1436 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
1437 virtEnv = ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1438 return virtEnv
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1439
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1440 def __getDebugEnvironment(self, language=""):
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1441 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1442 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
1443
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1444 @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
1445 for (one of '' or 'Python3')
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1446 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1447 @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
1448 @rtype str
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1449 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1450 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1451 language = self.__ericProject.getProjectLanguage()
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1452 debugEnv = self.__getVirtualEnvironment(language)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1453 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
1454 if language == "Python3":
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1455 venvName = Preferences.getDebugger("Python3VirtualEnv")
34
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1456 else:
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1457 venvName = ""
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1458
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1459 if venvName:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1460 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
1461 else:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1462 debugEnv = ""
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1463 return debugEnv
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1464
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
1465 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
1466 """
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
1467 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
1468
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
1469 @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
1470 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
1471 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1472 @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
1473 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1474 """
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
1475 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1476 language = self.__ericProject.getProjectLanguage()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
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 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
1479 if virtualEnv:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1480 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
1481 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
1482 # 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
1483 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
1484 # PyPy
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1485 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
1486 ]:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1487 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
1488 break
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1489 else:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1490 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1491 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1492 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
1493 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
1494 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
1495 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
1496 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
1497 ]
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1498 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
1499 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
1500 break
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1501 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
1502 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1503 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1504 if isWindowsPlatform():
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1505 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
1506 for cmd in [
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1507 # 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
1508 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
1509 # PyPy
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1510 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
1511 ]:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1512 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
1513 break
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1514 else:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
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:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1517 if language == "Python3":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1518 cmds = [
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1519 "django-admin3",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1520 "django-admin3.py",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1521 "django-admin.py-3.10",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1522 "django-admin.py-3.9",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1523 "django-admin.py-3.8",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1524 "django-admin.py-3.7",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1525 "django-admin.py-3.6",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1526 ]
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1527 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
1528 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
1529 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
1530 for cmd in cmds:
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
1531 if Utilities.isinpath(cmd):
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
1532 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
1533 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
1534 cmd = ""
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1535
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1536 return cmd
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1537
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1538 def __getPythonExecutable(self):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1539 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1540 Private method to build the Python command.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1541
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1542 @return python command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1543 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1544 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1545 language = self.__ericProject.getProjectLanguage()
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1546 if language == "Python3":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1547 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
1548 if not venvName:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1549 # 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
1550 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
1551 else:
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1552 venvName = ""
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1553 python = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1554 self.__virtualEnvManager.getVirtualenvInterpreter(venvName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1555 if venvName
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1556 else ""
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1557 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1558
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1559 return python
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1560
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1561 def __djangoInfo(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1562 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1563 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
1564 """
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
1565 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
1566 url = "https://www.djangoproject.com"
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1567
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1568 msgBox = EricMessageBox.EricMessageBox(
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1569 EricMessageBox.Question,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1570 self.tr("About Django"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1571 self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1572 "<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
1573 " 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
1574 " design.</p>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1575 "<p><table>"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1576 "<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
1577 '<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
1578 "{1}</a></td></tr>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1579 "</table></p>"
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1580 ).format(version, url),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1581 modal=True,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1582 buttons=EricMessageBox.Ok,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1583 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1584 msgBox.setIconPixmap(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1585 UI.PixmapCache.getPixmap(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1586 os.path.join(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1587 "ProjectDjango", "icons", "django64-{0}".format(self.__iconSuffix)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1588 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1589 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1590 )
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1591 msgBox.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1592
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
1593 def getDjangoVersionString(self):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1594 """
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
1595 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
1596
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1597 @return Django version
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1598 @rtype str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1599 """
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
1600 djangoVersion = ""
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1601
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1602 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
1603 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
1604 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
1605 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
1606 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
1607 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
1608 cmd = self.__getPythonExecutable()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1609
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
1610 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
1611 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
1612 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
1613 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
1614 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
1615 if finished and process.exitCode() == 0:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1616 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
1617 djangoVersion = output.splitlines()[0].strip()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1618
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
1619 return djangoVersion
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1620
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
1621 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
1622 """
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
1623 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
1624
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
1625 @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
1626 @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
1627 """
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
1628 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
1629 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
1630 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
1631 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
1632 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
1633 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
1634 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
1635 djangoVersionList.append(part)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1636
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
1637 return tuple(djangoVersionList)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1638
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1639 def __getApplications(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1640 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1641 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
1642
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1643 @return list of application names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1644 @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
1645 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1646 applStr, ok = QInputDialog.getItem(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1647 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1648 self.tr("Select Applications"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1649 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
1650 self.getRecentApplications(),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1651 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1652 True,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1653 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1654 if ok and applStr != "":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1655 self.setMostRecentApplication(applStr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1656 return applStr.split()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1657 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1658 return []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1659
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1660 def __loadRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1661 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1662 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
1663 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1664 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1665 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1666 ra = Preferences.Prefs.rsettings.value(self.RecentApplicationsKey)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1667 if ra is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1668 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1669 self.__recentApplications = ra[:maxRecentApps]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1670
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1671 def __saveRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1672 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1673 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
1674 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1675 Preferences.Prefs.rsettings.setValue(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1676 self.RecentApplicationsKey, self.__recentApplications
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1677 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1678 Preferences.Prefs.rsettings.sync()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1679
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1680 def getRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1681 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1682 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
1683
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1684 @return list of recent applications entries (list of strings)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1685 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1686 self.__loadRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1687 return self.__recentApplications
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1688
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1689 def setMostRecentApplication(self, applStr):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1690 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1691 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
1692
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1693 @param applStr applications entry
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1694 @type str
1
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 if applStr in self.__recentApplications:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1697 self.__recentApplications.remove(applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1698 self.__recentApplications.insert(0, applStr)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1699
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1700 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1701 if len(self.__recentApplications) > maxRecentApps:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1702 self.__recentApplications = self.__recentApplications[:maxRecentApps]
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1703 self.__saveRecentApplications()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1704
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1705 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
1706 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1707 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
1708 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1709 self.__recentTestData = {
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1710 "RecentTestLabels": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1711 "RecentTestTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1712 "RecentTestExcludeTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1713 }
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1714 Preferences.Prefs.rsettings.sync()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1715 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
1716 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
1717 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
1718 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
1719 self.__recentTestData[key] = recent[:maxRecentTestData]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1720
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1721 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
1722 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1723 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
1724 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1725 for key in self.__recentTestData:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1726 Preferences.Prefs.rsettings.setValue(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1727 "Django/" + key, self.__recentTestData[key]
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1728 )
110
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
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1731 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
1732 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1733 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
1734
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1735 @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
1736 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1737 @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
1738 @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
1739 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1740 self.__loadRecentTestData()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1741 return self.__recentTestData[key]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1742
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1743 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
1744 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1745 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
1746
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1747 @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
1748 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1749 @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
1750 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1751 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1752 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
1753 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
1754 self.__recentTestData[key].insert(0, data)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1755
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1756 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
1757 if len(self.__recentTestData[key]) > maxRecentTestData:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1758 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
1759 self.__saveRecentTestData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1760
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1761 def getProjectPath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1762 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1763 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
1764
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1765 @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
1766 @rtype str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1767 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1768 return self.__ericProject.getProjectPath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1769
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1770 def __showHelpIndex(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1771 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1772 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
1773 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1774 page = os.path.join(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1775 os.path.dirname(__file__), "Documentation", "help", "index.html"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1776 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1777 self.__ui.launchHelpViewer(page)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1778
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1779 def __isSpawningConsole(self, consoleCmd):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1780 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1781 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
1782
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1783 @param consoleCmd console command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1784 @type str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1785 @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
1786 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
1787 @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
1788 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1789 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
1790 return (True, consoleCmd[1:])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1791 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1792 return (False, consoleCmd)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1793
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
1794 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
1795 """
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
1796 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
1797
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
1798 @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
1799 @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
1800 @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
1801 @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
1802 """
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
1803 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
1804 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
1805 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
1806 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
1807 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
1808 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
1809 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
1810 break
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1811
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1812 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1813 ## slots below implement creation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1814 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1815
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
1816 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
1817 """
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
1818 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
1819 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1820 if self.__ericProject.getProjectType() == "Django":
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1821 ppath = self.__ericProject.getProjectPath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1822
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
1823 # 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
1824 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
1825 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
1826 self.__ericProject.deleteFile("__init__.py")
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1827 self.__ericProject.saveProject()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1828
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1829 def startProjectOrApplication(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1830 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1831 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
1832 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1833 if self.__ericProject.getProjectType() == "Django":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1834 projectStr = self.tr("Project")
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1835 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
1836 selections = ["", projectStr, applStr]
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1837 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
1838 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1839 self.tr("Start Django"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1840 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1841 "Select if this project should be a "
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1842 "Django Project or Application.<br />"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1843 "Select the empty entry for none."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1844 ),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1845 selections,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1846 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1847 False,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1848 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1849 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
1850 if selection == projectStr:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1851 path, projectName = os.path.split(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1852 self.__ericProject.getProjectPath()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1853 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1854 self.__createProject(projectName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1855 elif selection == applStr:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1856 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
1857 self.__createApplication(applName, path)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1858
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1859 def __createProject(self, projectName, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1860 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1861 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
1862
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1863 @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
1864 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1865 @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
1866 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1867 @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
1868 @rtype bool
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1869 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1870 title = self.tr("Start Django Project")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1871
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1872 # 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
1873 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
1874 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
1875 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
1876 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
1877 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1878 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1879 """<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
1880 """ already. Shall it be removed and recreated?"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1881 """</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1882 ).format(ppath),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1883 )
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
1884 if not okToRemove:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1885 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
1886 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
1887 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1888 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1889 """<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
1890 """ manually.</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1891 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1892 )
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
1893 return True
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1894
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1895 shutil.rmtree(ppath, ignore_errors=True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1896
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1897 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
1898 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
1899 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
1900 if Utilities.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
1901 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
1902 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1903 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1904 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
1905 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
1906 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1907 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1908 """<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
1909 """ not in the path. Aborting...</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1910 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1911 )
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
1912 return False
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1913
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1914 args.append("startproject")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1915 args.append(projectName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1916
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1917 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1918 title, msgSuccess=self.tr("Django project created successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1919 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1920 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1921 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1922 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1923
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1924 # create the base directory for translations
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1925 i18nPath = os.path.join(path, projectName, "locale")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1926 if not os.path.exists(i18nPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1927 os.makedirs(i18nPath)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1928
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1929 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
1930 self.__setCurrentSite("")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1931 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1932 self.__setCurrentSite(projectName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1933
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1934 return res
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1935
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1936 def __startProject(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1937 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1938 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
1939 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1940 projectName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1941 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1942 self.tr("Start Django Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1943 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
1944 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1945 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1946 if ok and projectName != "":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1947 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
1948 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1949 # 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
1950 sitePath = os.path.join(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1951 self.__ericProject.getProjectPath(), projectName
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 for entry in os.walk(sitePath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1954 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1955 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
1956 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1957
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1958 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
1959 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1960 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
1961
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1962 @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
1963 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1964 @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
1965 @type str
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1966 @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
1967 @type bool
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1968 @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
1969 @rtype bool
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1970 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1971 title = self.tr("Start Django Application")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1972
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1973 # 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
1974 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
1975 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
1976 shutil.rmtree(apath, ignore_errors=True)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1977
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1978 args = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1979 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
1980 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
1981 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
1982 if Utilities.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
1983 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
1984 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1985 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1986 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
1987 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
1988 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1989 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1990 """<p>The <b>django-admin.py</b> script"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1991 """ is not in the path."""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1992 """ Aborting...</p>"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1993 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1994 )
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1995 return False
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1996 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1997 args.append(self.__getPythonExecutable())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1998 args.append("manage.py")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1999 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2000 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2001 except DjangoNoSiteSelectedError:
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2002 return False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2003 args.append("startapp")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2004 args.append(applName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2005
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2006 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2007 title, msgSuccess=self.tr("Django application created successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2008 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2009 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2010 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2011 dia.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2012 return res
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2013
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2014 def __startGlobalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2015 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2016 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
2017 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2018 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2019 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2020 self.tr("Start Global Django Application"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2021 self.tr("Enter the name of the new global Django" " application."),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2022 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2023 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2024 if ok and applName != "":
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2025 res = self.__createApplication(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2026 applName, self.__ericProject.getProjectPath()
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 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2029 # 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
2030 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
2031 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2032 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2033 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
2034 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2035
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2036 def __startLocalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2037 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2038 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
2039 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2040 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2041 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2042 self.tr("Start Local Django Application"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2043 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
2044 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2045 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2046 if ok and applName != "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2047 res = self.__createApplication(applName, "", False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2048 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2049 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2050 # 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
2051 appPath = os.path.join(self.__sitePath(), applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2052 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2053 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2054 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
2055 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2056 except DjangoNoSiteSelectedError:
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2057 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2058
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2059 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2060 ## methods below implement site related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2061 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2062
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2063 def __findSites(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2064 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2065 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
2066
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2067 @return list of sites
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2068 @rtype list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2069 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2070 sites = []
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2071 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
2072 if os.path.basename(file) == "manage.py":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2073 sites.append(os.path.dirname(file))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2074 return sites
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2075
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2076 def __selectSite(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2077 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2078 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
2079 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2080 sites = self.__findSites()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2081 if len(sites) == 1:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2082 site = sites[0]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2083 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2084 if self.__currentSite is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2085 if self.__currentSite in sites:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2086 cur = sites.index(self.__currentSite)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2087 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2088 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2089 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2090 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2091 site, ok = QInputDialog.getItem(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2092 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2093 self.tr("Select Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2094 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
2095 sites,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2096 cur,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2097 False,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2098 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2099 if not ok:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2100 site = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2101 self.__setCurrentSite(site)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2102
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2103 def __sitePath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2104 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2105 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
2106
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2107 @return path of the site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2108 @rtype str
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2109 @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
2110 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2111 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2112 self.__selectSite()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2113
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2114 if self.__currentSite is None:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2115 raise DjangoNoSiteSelectedError
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2116 else:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2117 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
2118 return path
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2119
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2120 def __setCurrentSite(self, site):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2121 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2122 Private slot to set the current site.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2123
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2124 @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
2125 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2126 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2127 self.__currentSite = site
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2128 if self.__currentSite is None:
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2129 curSite = self.tr("None")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2130 elif self.__currentSite == "":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2131 curSite = self.tr("Project")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2132 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2133 curSite = self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2134 self.selectSiteAct.setText(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2135 self.tr("&Current Django project ({0})").format(curSite)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2136 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2137
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2138 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
2139 self.__ericProject.setTranslationPattern("")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2140 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2141 self.__ericProject.setTranslationPattern(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2142 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
2143 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2144
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2145 def __site(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2146 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2147 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
2148
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2149 @return name of the site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2150 @rtype str
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2151 @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
2152 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2153 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2154 self.__selectSite()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2155
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2156 if self.__currentSite is None:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2157 raise DjangoNoSiteSelectedError
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2158 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2159 return self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2160
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2161 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2162 ## slots below implement run functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2163 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2164
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2165 def __runServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2166 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2167 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
2168 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2169 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2170 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2171 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2172 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2173 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2174 args[0] = Utilities.getExecutablePath(args[0])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2175 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2176 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2177 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
2178 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
2179 args.append("--ipv6")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2180 if not self.__plugin.getPreferences("UseThreading"):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2181 args.append("--nothreading")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2182 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
2183 if addr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2184 args.append(addr)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2185
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2186 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
2187 if Utilities.isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2188 serverProcStarted, pid = QProcess.startDetached(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2189 args[0], args[1:], self.__sitePath()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2190 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2191 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2192 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
2193 self.__serverProcFinished()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2194
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2195 self.__serverProc = QProcess()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2196 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
2197 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
2198 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
2199 serverProcStarted = self.__serverProc.waitForStarted()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2200 if not serverProcStarted:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2201 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2202 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2203 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2204 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
2205 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2206
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2207 def __serverProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2208 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2209 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
2210 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2211 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2212 self.__serverProc is not None
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2213 and self.__serverProc.state() != QProcess.ProcessState.NotRunning
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2214 ):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2215 self.__serverProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2216 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
2217 self.__serverProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2218 self.__serverProc = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2219
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2220 def __runBrowser(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2221 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2222 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
2223 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2224 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
2225 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
2226 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
2227 # test for an IPv6 and port address
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2228 if "]:" in addr:
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2229 addr, port = addr.rsplit(":", 1)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2230 elif ":" in addr:
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2231 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
2232 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2233 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
2234 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
2235 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
2236 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
2237 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
2238 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2239 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
2240 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
2241 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
2242 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
2243 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
2244 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
2245 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
2246 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
2247 if not res:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2248 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
2249 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2250 self.tr("Run Web-Browser"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2251 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2252 "Could not start the web-browser for the" ' url "{0}".'
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2253 ).format(url.toString()),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2254 )
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
2255 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
2256 self.__ui.launchHelpViewer(url)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2257
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2258 ##################################################################
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2259 ## 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
2260 ## database names
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2261 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2262
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2263 def __loadRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2264 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2265 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
2266 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2267 self.__recentDatabaseNames = [""]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2268 Preferences.Prefs.rsettings.sync()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2269 rdb = Preferences.Prefs.rsettings.value(self.RecentDatabaseNamesKey)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2270 if rdb is not None:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2271 maxRecentDatabaseNames = self.__plugin.getPreferences(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2272 "RecentNumberDatabaseNames"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2273 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2274 self.__recentDatabaseNames = rdb[:maxRecentDatabaseNames]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2275
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2276 def __saveRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2277 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2278 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
2279 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2280 Preferences.Prefs.rsettings.setValue(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2281 self.RecentDatabaseNamesKey, self.__recentDatabaseNames
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2282 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2283 Preferences.Prefs.rsettings.sync()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2284
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2285 def getRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2286 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2287 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
2288
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2289 @return list of recently used database names
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2290 @rtype list of str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2291 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2292 self.__loadRecentDatabaseNames()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2293 return self.__recentDatabaseNames
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 setMostRecentDatabaseNames(self, dbName):
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 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
2298
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2299 @param dbName database name
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2300 @type str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2301 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2302 if dbName in self.__recentDatabaseNames:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2303 self.__recentDatabaseNames.remove(dbName)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2304 self.__recentDatabaseNames.insert(0, dbName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2305
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2306 maxRecentDatabaseNames = self.__plugin.getPreferences(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2307 "RecentNumberDatabaseNames"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2308 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2309 if len(self.__recentDatabaseNames) > maxRecentDatabaseNames:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2310 self.__recentDatabaseNames = self.__recentDatabaseNames[
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2311 :maxRecentDatabaseNames
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2312 ]
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2313 self.__saveRecentDatabaseNames()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2314
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2315 def __selectDatabaseName(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2316 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2317 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
2318 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2319 recentDatabases = self.getRecentDatabaseNames()[:]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2320 if "" not in recentDatabases:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2321 recentDatabases.insert(1, "")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2322
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2323 selectedDatabase, ok = QInputDialog.getItem(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2324 self.__ui,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2325 self.tr("Database Name"),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2326 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
2327 recentDatabases,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2328 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2329 True,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2330 )
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 if ok:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2333 self.setMostRecentDatabaseNames(selectedDatabase)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2334 self.__setCurrentDatabase(selectedDatabase)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2335
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2336 def __setCurrentDatabase(self, database):
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 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
2339
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2340 @param database name of the database
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2341 @type str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2342 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2343 if database is None:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2344 database = self.getRecentDatabaseNames()[0]
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2345
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2346 self.__currentDatabase = database
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2347 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
2348 self.selectDatabaseNameAct.setText(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2349 self.tr("&Current Database ({0})").format(curDb)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2350 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2351
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2352 def currentDatabase(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2353 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2354 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
2355
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2356 @return database name
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2357 @rtype str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2358 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2359 return self.__currentDatabase
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2360
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2361 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2362 ## slots below implement database related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2363 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2364
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2365 def __databaseInspect(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2366 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2367 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
2368 module.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2369 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2370 title = self.tr("Introspect Database")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2371
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2372 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2373 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2374 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2375 args.append("inspectdb")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2376 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2377 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2378
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2379 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2380 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2381 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2382 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2383
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2384 dia = DjangoDialog(title, fixed=True, linewrap=False)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2385 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
2386 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2387 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2388
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2389 def __databaseFlush(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2390 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2391 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
2392 their installation.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2393 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2394 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2395 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2396 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2397 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2398
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2399 title = self.tr("Flush Database")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2400
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2401 res = EricMessageBox.yesNo(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2402 self.__ui,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2403 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2404 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2405 """Flushing the database will destroy all data.""" """ Are you sure?"""
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2406 ),
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 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2409 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2410 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2411 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2412 args.append("flush")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2413 args.append("--noinput")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2414 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2415 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2416
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2417 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2418 title, msgSuccess=self.tr("Database tables flushed" " successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2419 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2420 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
2421 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2422 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2423
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2424 def __runDatabaseClient(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2425 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2426 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
2427 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2428 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2429 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2430 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2431 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2432 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2433 args[0] = Utilities.getExecutablePath(args[0])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2434 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2435 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2436 args.append("dbshell")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2437 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2438 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2439 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
2440 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
2441 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
2442 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
2443 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2444 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2445 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2446 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2447 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
2448 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2449
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2450 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2451 ## 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
2452 #######################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2453
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2454 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
2455 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2456 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
2457
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2458 @param title dialog title
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2459 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2460 @param command Django sql... command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2461 @type str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2462 @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
2463 to work on
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2464 @type bool
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2465 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2466 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2467 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2468 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2469 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2470
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2471 if requestApps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2472 apps = self.__getApplications()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2473 if not apps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2474 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2475 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2476 apps = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2477
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2478 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2479 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2480 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2481 args.append(command)
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2482 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2483 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
2484 args += apps
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2485
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2486 fileFilter = self.tr("SQL Files (*.sql)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2487
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2488 dia = DjangoDialog(title, fixed=True, linewrap=False, saveFilters=fileFilter)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2489 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
2490 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2491 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2492
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2493 def __databaseSqlFlushDatabase(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2494 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2495 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
2496 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
2497 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2498 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
2499
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2500 def __databaseSqlResetSequences(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2501 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2502 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
2503 one or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2504 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2505 self.__sqlCommand(self.tr("Reset Sequences"), "sqlsequencereset")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2506
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2507 def __databaseSqlMigrate(self, backwards=False):
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2508 """
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2509 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
2510 application.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2511
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2512 @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
2513 a migration
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2514 @type bool
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2515 """
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2516 try:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2517 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2518 except DjangoNoSiteSelectedError:
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2519 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2520
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2521 migrations = self.__getMigrations()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2522 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2523 EricMessageBox.information(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2524 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
2525 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2526 return
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 title = self.tr("SQL Migrate")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2529
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2530 from .DjangoMigrationSelectionDialog import DjangoMigrationSelectionDialog
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2531
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2532 dlg = DjangoMigrationSelectionDialog(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2533 migrations, migrationRequired=True, suffix=self.__iconSuffix
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2534 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2535 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
2536 app, migration = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2537
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2538 args = []
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2539 args.append(self.__getPythonExecutable())
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2540 args.append("manage.py")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2541 args.append("sqlmigrate")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2542 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2543 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
2544 if backwards:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2545 args.append("--backwards")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2546 args.append(app)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2547 args.append(migration)
180
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 fileFilter = self.tr("SQL Files (*.sql)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2550
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2551 dia = DjangoDialog(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2552 title, fixed=True, linewrap=False, saveFilters=fileFilter
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2553 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2554 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
2555 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2556 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2557
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2558 ##################################################################
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
2559 ## 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
2560 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2561
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
2562 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
2563 """
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
2564 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
2565 """
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
2566 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
2567 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2568 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
2569 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2570
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
2571 from .DjangoMigrationsListDialog import DjangoMigrationsListDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2572
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
2573 self.__migrationsListDialog = DjangoMigrationsListDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2574 DjangoMigrationsListDialog.MigrationsListMode, self, self.__ui
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2575 )
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
2576 self.__migrationsListDialog.show()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2577 self.__migrationsListDialog.start(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2578 self.__getPythonExecutable(), path, self.__currentDatabase
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2579 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2580
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
2581 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
2582 """
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
2583 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
2584 """
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
2585 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
2586 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2587 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
2588 return
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 from .DjangoMigrationsListDialog import DjangoMigrationsListDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2591
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
2592 self.__migrationsPlanDialog = DjangoMigrationsListDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2593 DjangoMigrationsListDialog.MigrationsPlanMode, self, self.__ui
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2594 )
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
2595 self.__migrationsPlanDialog.show()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2596 self.__migrationsPlanDialog.start(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2597 self.__getPythonExecutable(), path, self.__currentDatabase
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2598 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2599
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2600 def __applyAllMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2601 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2602 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
2603 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2604 self.applyMigrations()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2605
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2606 def __applySelectedMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2607 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2608 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
2609 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2610 migrations = self.__getMigrations()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2611 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2612 EricMessageBox.information(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2613 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2614 self.tr("Apply Selected Migrations"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2615 self.tr("""No migrations available."""),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2616 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2617 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2618
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2619 from .DjangoMigrationSelectionDialog import DjangoMigrationSelectionDialog
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2620
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2621 dlg = DjangoMigrationSelectionDialog(migrations, suffix=self.__iconSuffix)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2622 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
2623 app, migration = dlg.getData()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2624 self.applyMigrations(app=app, migration=migration)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2625
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2626 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
2627 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2628 Public slot to apply migrations.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2629
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2630 @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
2631 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2632 @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
2633 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2634 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2635 title = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2636 self.tr("Unapply Migrations")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2637 if migration == "zero"
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2638 else self.tr("Apply Migrations")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2639 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2640
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2641 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2642 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2643 except DjangoNoSiteSelectedError:
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2644 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2645
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2646 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2647 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2648 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2649 args.append("migrate")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2650 args.append("--noinput")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2651 if app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2652 args.append(app)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2653 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2654 args.append(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 dia = DjangoDialog(title)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2657 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2658 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2659 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2660
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2661 def __unapplyMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2662 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2663 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
2664 """
176
1395e0583f4e Updated version info to indicate relation to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
2665 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
2666 if not apps:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2667 EricMessageBox.information(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2668 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2669 self.tr("Unapply Migrations"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2670 self.tr("""No migrations available."""),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2671 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2672 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2673
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2674 app, ok = QInputDialog.getItem(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2675 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2676 self.tr("Unapply Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2677 self.tr("Select an application:"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2678 [""] + apps,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2679 0,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2680 False,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2681 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2682 if ok and app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2683 self.applyMigrations(app=app, migration="zero")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2684
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2685 def __getMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2686 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2687 Private method to get the available migrations.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2688
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2689 @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
2690 @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
2691 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
2692 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2693 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2694 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2695 except DjangoNoSiteSelectedError:
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2696 return {}
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2697
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2698 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2699 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2700 args.append("showmigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2701 args.append("--list")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2702 if self.__currentDatabase:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2703 args.append("--database={0}".format(self.__currentDatabase))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2704
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2705 migrations = {}
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2706 proc = QProcess()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2707 if path:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2708 proc.setWorkingDirectory(path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2709 proc.start(self.__getPythonExecutable(), args)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2710 if proc.waitForStarted() and proc.waitForFinished():
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2711 output = str(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2712 proc.readAllStandardOutput(),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2713 Preferences.getSystem("IOEncoding"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2714 "replace",
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2715 )
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2716 if output:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2717 recentApp = ""
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2718 for line in output.splitlines():
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2719 if not line.startswith(" "):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2720 # application name
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2721 recentApp = line.strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2722 migrations[recentApp] = []
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2723 else:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2724 # migration name
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2725 line = line.strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2726 applied = line[1] != " "
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2727 name = line[3:].strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2728 if recentApp:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2729 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
2730 return migrations
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2731
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2732 def __makeMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2733 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2734 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
2735 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2736 from .DjangoMakeMigrationsDialog import DjangoMakeMigrationsDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2737
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2738 dlg = DjangoMakeMigrationsDialog(self.getRecentApplications())
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2739 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2740 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
2741 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2742 self.setMostRecentApplication(apps)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2743 apps = apps.split()
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2744 self.makeMigrations(apps, migration, dryRun, empty, merge)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2745
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2746 def makeMigrations(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2747 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
2748 ):
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2749 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2750 Public method to generate migrations.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2751
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2752 @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
2753 @type list of str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2754 @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
2755 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2756 @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
2757 @type bool
104
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2758 @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
2759 @type bool
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2760 @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
2761 @type bool
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2762 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2763 title = self.tr("Make Migrations")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2764
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2765 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2766 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2767 except DjangoNoSiteSelectedError:
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2768 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2769
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2770 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2771 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2772 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2773 args.append("makemigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2774 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2775 args.append("--name")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2776 args.append(migration.replace(" ", "_"))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2777 if dryRun:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2778 args.append("--dry-run")
104
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2779 if empty:
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2780 args.append("--empty")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2781 if merge:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2782 args.append("--merge")
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2783 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2784 args += apps
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2785
102
7e2351e4d729 Added functionality to enter data to be sent to the Django process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
2786 dia = DjangoDialog(title, showInput=True)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2787 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2788 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2789 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2790
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2791 def __squashMigrations(self):
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2792 """
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2793 Private slot to squash migrations.
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2794 """
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2795 migrations = self.__getMigrations()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2796 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2797 EricMessageBox.information(
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2798 None,
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2799 self.tr("Squash Migrations"),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2800 self.tr("""No migrations available."""),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2801 )
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2802 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2803
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2804 from .DjangoSquashMigrationSelectionDialog import (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2805 DjangoSquashMigrationSelectionDialog,
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2806 )
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2807
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2808 dlg = DjangoSquashMigrationSelectionDialog(migrations, self, self.__iconSuffix)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2809 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2810 app, start, end, noOptimize, name = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2811
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2812 title = self.tr("Squash Migrations")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2813
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2814 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2815 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2816 except DjangoNoSiteSelectedError:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2817 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2818
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2819 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2820 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2821 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2822 args.append("squashmigrations")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2823 args.append("--noinput")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2824 if noOptimize:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2825 args.append("--no-optimize")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2826 if name:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2827 args.append("--squashed-name={0}".format(name))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2828 args.append(app)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2829 if start:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2830 args.append(start)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2831 args.append(end)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2832
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2833 dia = DjangoDialog(title)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2834 res = dia.startProcess(args, path)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2835 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2836 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2837
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
2838 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2839 ## slots below implement some tool functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2840 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2841
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2842 def __diffSettings(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2843 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2844 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
2845 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2846 title = self.tr("Diff Settings")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2847
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2848 from .DjangoDiffsettingsDataDialog import DjangoDiffsettingsDataDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2849
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2850 dlg = DjangoDiffsettingsDataDialog(self, self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2851 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2852 showAll, defaultModule, outputFormat = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2853
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2854 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2855 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2856 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2857 args.append("diffsettings")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2858 if showAll:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2859 args.append("--all")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2860 if defaultModule:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2861 args.append("--default={0}".format(defaultModule))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2862 if outputFormat:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2863 args.append("--output={0}".format(outputFormat))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2864
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2865 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2866 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2867 except DjangoNoSiteSelectedError:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2868 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2869
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2870 dia = DjangoDialog(title, fixed=True, linewrap=False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2871 res = dia.startProcess(args, path, False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2872 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2873 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2874
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2875 def __runPythonShell(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2876 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2877 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
2878 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2879 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2880 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2881 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2882 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2883 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2884 args[0] = Utilities.getExecutablePath(args[0])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2885 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2886 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2887 args.append("shell")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2888 args.append(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2889 "--interface={0}".format(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2890 self.__plugin.getPreferences("Python3ConsoleType")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2891 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2892 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2893 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
2894 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
2895 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
2896 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
2897 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2898 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2899 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2900 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2901 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
2902 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2903
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2904 def __sendTestEmail(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2905 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2906 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
2907 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2908 title = self.tr("Send Test Email")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2909
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2910 from .DjangoSendTestEmailDataDialog import DjangoSendTestEmailDataDialog
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2911
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2912 dlg = DjangoSendTestEmailDataDialog(self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2913 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2914 managers, admins, recipients = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2915
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2916 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2917 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2918 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2919 args.append("sendtestemail")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2920 if managers:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2921 args.append("--managers")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2922 if admins:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2923 args.append("--admins")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2924 args.extend(recipients)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2925
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2926 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2927 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2928 except DjangoNoSiteSelectedError:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2929 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2930
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2931 dia = DjangoDialog(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2932 title,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2933 linewrap=False,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2934 msgSuccess=self.tr("Test Email sent successfully."),
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2935 msgError=self.tr("Test Email could not be sent."),
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2936 )
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2937 res = dia.startProcess(args, path, False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2938 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2939 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2940
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2941 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2942 ## slots below implement caching functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2943 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2944
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2945 def __createCacheTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2946 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2947 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
2948 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2949 title = self.tr("Create Cache Tables")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2950
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2951 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2952 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2953 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2954 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2955
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2956 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2957 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2958 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2959 args.append("createcachetable")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2960 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2961 args.append("--database={0}".format(self.__currentDatabase))
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(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2964 title, msgSuccess=self.tr("Cache tables created successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2965 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2966 res = dia.startProcess(args, wd)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2967 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2968 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2969
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2970 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2971 ## slots below implement testing functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2972 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2973
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2974 def __dumpData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2975 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2976 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
2977 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2978 title = self.tr("Dump Data")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2979
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2980 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2981 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2982 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2983 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2984
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2985 from .DjangoDumpdataDataDialog import DjangoDumpdataDataDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2986
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2987 dlg = DjangoDumpdataDataDialog(self, self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2988 if dlg.exec() == QDialog.DialogCode.Accepted:
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
2989 appls, excls, dumpFormat, indent = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
2990
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2991 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2992 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2993 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2994 args.append("dumpdata")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
2995 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
2996 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
2997 for excl in excls:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2998 args.append("--exclude={0}".format(excl))
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2999 if self.__currentDatabase:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3000 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
3001 args += appls
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3002
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3003 if dumpFormat == "json":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3004 fileFilters = self.tr("JSON Files (*.json)")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3005 elif dumpFormat == "xml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3006 fileFilters = self.tr("XML Files (*.xml)")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
3007 elif dumpFormat == "yaml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3008 fileFilters = self.tr("YAML Files (*.yaml)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3009
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3010 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3011 title, fixed=True, linewrap=False, saveFilters=fileFilters
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3012 )
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3013 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
3014 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3015 dia.exec()
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 def __loadData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3018 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3019 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
3020 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3021 title = self.tr("Load Data")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3022
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3023 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3024 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3025 except DjangoNoSiteSelectedError:
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3026 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3027
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3028 from .DjangoLoaddataDataDialog import DjangoLoaddataDataDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3029
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3030 dlg = DjangoLoaddataDataDialog(self, self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3031 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3032 fixtures, excludes, appLabel, ignore = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3033
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3034 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3035 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3036 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3037 args.append("loaddata")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3038 for excl in excludes:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3039 args.append("--exclude={0}".format(excl))
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3040 if ignore:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3041 args.append("--ignorenonexistent")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3042 if appLabel:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3043 args.append("--app={0}".format(appLabel))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3044 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3045 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
3046 args += fixtures
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3047
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3048 dia = DjangoDialog(title)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3049 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
3050 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3051 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3052
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
3053 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
3054 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3055 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
3056
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
3057 @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
3058 @type bool
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3059 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3060 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3061 self.__plugin.getPreferences("ConsoleCommandNoClose")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3062 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3063 if consoleCmd:
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
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
3069 from .DjangoTestDataDialog import DjangoTestDataDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3070
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
3071 dlg = DjangoTestDataDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3072 self, self.__plugin.getPreferences("KeepTestDatabase"), self.__ui
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3073 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3074 if dlg.exec() == QDialog.DialogCode.Accepted:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3075 labels, pattern, tags, excludeTags, keep, reverse = dlg.getData()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3076
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
3077 self.__plugin.setPreferences("KeepTestDatabase", keep)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3078
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3079 args = Utilities.parseOptionString(consoleCmd)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3080 args[0] = Utilities.getExecutablePath(args[0])
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3081 args.append(self.__getPythonExecutable())
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3082 if deprecation:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3083 args.append("-Wall")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3084 args.append("manage.py")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3085 args.append("test")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3086 if pattern:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3087 args.append("--pattern=" + pattern)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3088 for tag in tags:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3089 args.append("--tag=" + tag)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3090 for tag in excludeTags:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3091 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
3092 if keep:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3093 args.append("--keepdb")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3094 if reverse:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3095 args.append("--reverse")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3096 args.extend(labels)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3097
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3098 self.__adjustWorkingDirectory(args, wd)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3099 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
3100 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3101 EricMessageBox.critical(
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
3102 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3103 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3104 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
3105 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3106
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3107 def __runTestServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3108 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3109 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
3110 fixtures.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3111 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3112 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3113 self.__plugin.getPreferences("ConsoleCommand")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3114 )[1]
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3115 if consoleCmd:
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3116 from .DjangoRunTestServerDataDialog import DjangoRunTestServerDataDialog
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3117
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3118 dlg = DjangoRunTestServerDataDialog(self, self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3119 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
3120 fixtures = dlg.getData()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3121
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3122 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3123 args[0] = Utilities.getExecutablePath(args[0])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3124 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3125 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3126 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
3127 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
3128 args.append("--ipv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3129 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
3130 if addr:
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
3131 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
3132 args += fixtures
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3133
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3134 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
3135 if Utilities.isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3136 serverProcStarted, pid = QProcess.startDetached(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3137 args[0], args[1:], self.__sitePath()
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3138 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3139 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3140 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
3141 self.__testServerProcFinished()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3142
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3143 self.__testServerProc = QProcess()
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3144 self.__testServerProc.finished.connect(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3145 self.__serverProcFinished
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3146 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3147 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
3148 self.__testServerProc.start(args[0], args[1:])
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3149 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
3150 if not serverProcStarted:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3151 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3152 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3153 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3154 self.tr("The Django test server could not be" " started."),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3155 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3156
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3157 def __testServerProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3158 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3159 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
3160 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3161 if (
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3162 self.__testServerProc is not None
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3163 and self.__testServerProc.state() != QProcess.ProcessState.NotRunning
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3164 ):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3165 self.__testServerProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3166 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
3167 self.__testServerProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3168 self.__testServerProc = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3169
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3170 ##################################################################
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3171 ## slots below implement authorization functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3172 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3173
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3174 def __changePassword(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3175 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3176 Private slot to change the password of a user.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3177 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3178 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3179 self.__plugin.getPreferences("ConsoleCommandNoClose")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3180 )[1]
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3181 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3182 userName, ok = QInputDialog.getText(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3183 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3184 self.tr("Change Password"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3185 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
3186 QLineEdit.EchoMode.Normal,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3187 )
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3188 if ok and userName != "":
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3189 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3190 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3191 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3192 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3193 args.append("changepassword")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3194 args.append(userName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3195 with contextlib.suppress(DjangoNoSiteSelectedError):
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3196 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
3197 self.__adjustWorkingDirectory(args, wd)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3198 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
3199 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3200 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3201 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3202 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3203 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
3204 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3205
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3206 def __createSuperUser(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3207 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3208 Private slot to create a super user account.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3209 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3210 consoleCmd = self.__isSpawningConsole(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3211 self.__plugin.getPreferences("ConsoleCommandNoClose")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3212 )[1]
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3213 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3214 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3215 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3216 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3217 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3218 args.append("createsuperuser")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3219 with contextlib.suppress(DjangoNoSiteSelectedError):
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3220 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
3221 self.__adjustWorkingDirectory(args, wd)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3222 started, pid = QProcess.startDetached(args[0], args[1:], wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3223 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3224 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3225 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3226 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3227 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
3228 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3229
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3230 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3231 ## slots below implement session functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3232 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3233
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3234 def __clearSessions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3235 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3236 Private slot to clear expired sessions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3237 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3238 title = self.tr("Clear Sessions")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3239
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3240 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3241 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3242 except DjangoNoSiteSelectedError:
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3243 return
180
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 args = []
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3246 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3247 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3248 args.append("clearsessions")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3249
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3250 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3251 title, msgSuccess=self.tr("Expired sessions cleared successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3252 )
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3253 res = dia.startProcess(args, wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3254 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3255 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3256
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3257 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3258 ## slots below implement translation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3259 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3260
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3261 def __getLocale(self, filename):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3262 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3263 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
3264
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3265 @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
3266 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3267 @return extracted locale or None
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3268 @rtype str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3269 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3270 if self.__ericProject.getTranslationPattern():
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3271 pattern = self.__ericProject.getTranslationPattern().replace(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3272 "%language%", "(.*?)"
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3273 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3274 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
3275 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
3276 loc = match.group(1)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3277 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3278 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3279 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3280 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3281 loc = None
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3282
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3283 return loc
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3284
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3285 def __normalizeList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3286 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3287 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
3288
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3289 @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
3290 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3291 @return normalized file names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3292 @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
3293 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3294 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3295 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3296 if filename.endswith(".mo"):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3297 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
3298 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
3299 nfilenames.append(filename)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3300
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3301 return nfilenames
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3302
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3303 def __siteFilteredList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3304 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3305 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
3306
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3307 @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
3308 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3309 @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
3310 @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
3311 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3312 site = self.__site()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3313 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3314 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3315 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
3316 nfilenames.append(filename)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3317
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3318 return nfilenames
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3319
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3320 def __projectLanguageAdded(self, code):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3321 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3322 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
3323
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3324 @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
3325 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3326 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3327 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
3328
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3329 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3330 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3331 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3332 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3333 args.append("--locale={0}".format(code))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3334
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3335 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3336 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3337 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3338 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3339 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3340 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3341 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3342 "No current site selected or no site created yet." " Aborting..."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3343 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3344 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3345 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3346
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3347 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3348 title, msgSuccess=self.tr("\nMessage catalog initialized successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3349 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3350 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
3351 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3352 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3353
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3354 langFile = self.__ericProject.getTranslationPattern().replace(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3355 "%language%", code
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3356 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3357 self.__ericProject.appendFile(langFile)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3358
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3359 def updateSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3360 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3361 Public method to update the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3362
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3363 @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
3364 @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
3365 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3366 title = self.tr("Updating message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3367
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3368 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3369 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3370 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3371 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3372 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3373 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3374 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3375 "No current site selected or no site created yet." " Aborting..."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3376 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3377 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3378 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3379
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3380 argsLists = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3381
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3382 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
3383 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3384 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3385 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3386 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3387 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3388 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3389 args.append("--no-obsolete")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3390 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
3391 argsLists.append(args)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3392
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3393 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3394 EricMessageBox.warning(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3395 None, title, self.tr("No locales detected. Aborting...")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3396 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3397 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3398
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3399 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3400 title, msgSuccess=self.tr("\nMessage catalogs updated successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3401 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3402 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
3403 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3404 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3405
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3406 def updateSelectedCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3407 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3408 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
3409
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3410 @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
3411 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3412 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3413 title = self.tr("Updating message catalogs (keeping obsolete" " messages)")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3414
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3415 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3416 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3417 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3418 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3419 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3420 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3421 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3422 "No current site selected or no site created yet." " Aborting..."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3423 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3424 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3425 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3426
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3427 argsLists = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3428
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3429 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
3430 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3431 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3432 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3433 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3434 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3435 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3436 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
3437 argsLists.append(args)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3438
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3439 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3440 EricMessageBox.warning(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3441 None, title, self.tr("No locales detected. Aborting...")
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 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3444
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3445 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3446 title, msgSuccess=self.tr("\nMessage catalogs updated successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3447 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3448 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
3449 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3450 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3451
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3452 def updateCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3453 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3454 Public method to update the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3455
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3456 @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
3457 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3458 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3459 title = self.tr("Updating message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3460
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3461 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3462 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3463 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3464 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3465 args.append("--all")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3466 args.append("--no-obsolete")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3467
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3468 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3469 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3470 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3471 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3472 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3473 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3474 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3475 "No current site selected or no site created yet." " Aborting..."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3476 ),
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 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3479
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3480 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3481 title, msgSuccess=self.tr("\nMessage catalogs updated successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3482 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3483 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
3484 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3485 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3486
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3487 def updateCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3488 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3489 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
3490
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3491 @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
3492 @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
3493 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3494 title = self.tr("Updating message catalogs (keeping obsolete" " messages)")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3495
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3496 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3497 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3498 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3499 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3500 args.append("--all")
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 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3503 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3504 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3505 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3506 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3507 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3508 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3509 "No current site selected or no site created yet." " Aborting..."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3510 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3511 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3512 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3513
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3514 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3515 title, msgSuccess=self.tr("\nMessage catalogs updated successfully.")
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 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
3518 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3519 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3520
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3521 def compileSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3522 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3523 Public method to update the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3524
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3525 @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
3526 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3527 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3528 title = self.tr("Compiling message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3529
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3530 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3531 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3532 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3533 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3534 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3535 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3536 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3537 "No current site selected or no site created yet." " Aborting..."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3538 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3539 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3540 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3541
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3542 argsLists = []
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3543
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3544 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
3545 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3546 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3547 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3548 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3549 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3550 args.append("compilemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3551 args.append("--locale={0}".format(locale))
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3552 if self.__plugin.getPreferences("FuzzyTranslations"):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3553 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
3554 argsLists.append(args)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3555
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3556 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3557 EricMessageBox.warning(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3558 None, title, self.tr("No locales detected. Aborting...")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3559 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3560 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3561
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3562 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3563 title, msgSuccess=self.tr("\nMessage catalogs compiled successfully.")
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3564 )
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3565 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
3566 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3567 dia.exec()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3568
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3569 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
3570 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
3571 fullName = os.path.join(entry[0], fileName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3572 if fullName.endswith(".mo"):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3573 self.__ericProject.appendFile(fullName)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3574
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3575 def compileCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3576 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3577 Public method to compile the message catalogs.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3578
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3579 @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
3580 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3581 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3582 title = self.tr("Compiling message catalogs")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3583
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3584 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3585 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3586 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3587 args.append("compilemessages")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3588 if self.__plugin.getPreferences("FuzzyTranslations"):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3589 args.append("--use-fuzzy")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3590
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3591 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3592 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3593 except DjangoNoSiteSelectedError:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3594 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3595 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3596 title,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3597 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3598 "No current site selected or no site created yet." " Aborting..."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3599 ),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3600 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3601 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3602
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3603 dia = DjangoDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3604 title, msgSuccess=self.tr("\nMessage catalogs compiled successfully.")
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.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
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
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
3616 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
3617 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3618 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
3619
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3620 @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
3621 @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
3622 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3623 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
3624 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
3625 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
3626 wd = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3627 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
3628 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
3629 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
3630 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3631 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3632 None,
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3633 self.tr("Process Generation Error"),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3634 self.tr(
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3635 "The translations editor process ({0}) could" " not be started."
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3636 ).format(os.path.basename(editor)),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3637 )
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3638
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3639 ##################################################################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3640 ## slots below implement check functions
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3641 ##################################################################
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3642
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3643 def __performCheck(self):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3644 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3645 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
3646 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3647 try:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3648 path = self.__sitePath()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3649 except DjangoNoSiteSelectedError:
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3650 return
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3651
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3652 from .DjangoCheckOptionsDialog import DjangoCheckOptionsDialog
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3653
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3654 dlg = DjangoCheckOptionsDialog(
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3655 self.__getPythonExecutable(),
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3656 path,
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3657 self.getRecentApplications(),
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3658 self.__plugin.getPreferences("CheckDeployMode"),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3659 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3660 if dlg.exec() == QDialog.DialogCode.Accepted:
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3661 deploy, tags, appsStr, settingsFile = dlg.getData()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3662 self.__plugin.setPreferences("CheckDeployMode", deploy)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3663 if appsStr != "":
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3664 self.setMostRecentApplication(appsStr)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3665 apps = appsStr.split()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
3666
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3667 args = []
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3668 args.append(self.__getPythonExecutable())
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3669 args.append("manage.py")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3670 args.append("check")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3671 for tag in tags:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3672 args.append("--tag")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3673 args.append(tag)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3674 if deploy:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3675 args.append("--deploy")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3676 if settingsFile:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3677 args.append("--settings={0}".format(settingsFile))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3678 args += apps
180
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 dia = DjangoDialog(self.tr("Check Project"))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3681 res = dia.startProcess(args, path, mergedOutput=True)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3682 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3683 dia.exec()

eric ide

mercurial