ProjectDjango/Project.py

Thu, 30 Dec 2021 11:58:36 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 30 Dec 2021 11:58:36 +0100
branch
eric7
changeset 176
1395e0583f4e
parent 175
30cb5e553e7e
child 178
60c87e256fc7
permissions
-rw-r--r--

Updated version info to indicate relation to eric7.

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
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 class DjangoNoSiteSelectedException(Exception):
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 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 pass
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
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
40 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
41 """
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 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
43 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
44 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
45 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
46 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
47 none is already running, passing the command line arguments in args.
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
48
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
49 @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
50 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
51 @param args list of parameters
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
52 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
53 @param mode access mode
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
54 @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
55 """
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
56 if args is None:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
57 args = []
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
58
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
59 if (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
60 cmd.endswith(('gnome-terminal', 'konsole', 'xfce4-terminal',
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
61 'mate-terminal')) and
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
62 '-e' in args
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
63 ):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
64 index = args.index('-e') + 1
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
65 cargs = ' '.join(args[index:])
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
66 args[index:] = [cargs]
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
67
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
68 super().start(cmd, args, mode)
27
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
69
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
70 @staticmethod
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
71 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
72 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
73 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
74 if none is already running, passing the command line arguments in args.
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
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
76 @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
77 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
78 @param args list of parameters
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
79 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
80 @param path new working directory
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
81 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
82 @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
83 @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
84 """
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
85 if args is None:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
86 args = []
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
87
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
88 if (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
89 cmd.endswith(('gnome-terminal', 'konsole', 'xfce4-terminal',
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
90 'mate-terminal')) and
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
91 '-e' in args
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
92 ):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
93 index = args.index('-e') + 1
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
94 cargs = ' '.join(args[index:])
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
95 args[index:] = [cargs]
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
96
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
97 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
98
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
99
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 class Project(QObject):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 Class implementing the Django project support.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 RecentApplicationsKey = "Django/RecentApplications"
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
105 RecentDatabaseNamesKey = "Django/RecentDatabaseNames"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
107 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
108 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 Constructor
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 @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
112 @type ProjectDjangoPlugin
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
113 @param iconSuffix suffix for the icons
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
114 @type str
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
115 @param parent parent
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
116 @type QObject
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
118 super().__init__(parent)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 self.__plugin = plugin
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
121 self.__iconSuffix = iconSuffix
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.__ui = parent
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
123
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
124 self.__ericProject = ericApp().getObject("Project")
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
125 self.__virtualEnvManager = ericApp().getObject("VirtualEnvManager")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 self.__hooksInstalled = False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127
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
128 self.__menus = {} # dictionary with references to menus
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 self.__serverProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 self.__testServerProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 self.__loadRecentApplications()
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
135
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
136 self.__recentDatabaseNames = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
137 self.__loadRecentDatabaseNames()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
138
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
139 self.__recentTestData = {
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
140 "RecentTestLabels": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
141 "RecentTestTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
142 "RecentTestExcludeTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
143 }
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
144 self.__loadRecentTestData()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 def initActions(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 """
11
5eda53fad138 Fixed a few bugs (copy-paste issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
148 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
149 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self.actions = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
152 self.selectSiteAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
153 self.tr('Current Project'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
154 "",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
155 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
156 self, 'django_current_project')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
157 self.selectSiteAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 'Selects the current project'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
159 self.selectSiteAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """<b>Current Project</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 """<p>Selects the current project. Used for multi-project """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 """Django projects to switch between the projects.</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
164 self.selectSiteAct.triggered.connect(self.__selectSite)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.actions.append(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 self.__setCurrentSite(None)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 ## start actions below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
172 self.startProjectAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
173 self.tr('Start Project'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
174 self.tr('Start &Project'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
175 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
176 self, 'django_start_project')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
177 self.startProjectAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 'Starts a new Django project'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
179 self.startProjectAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 """<b>Start Project</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
181 """<p>Starts a new Django project using "django-admin.py"""
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
182 """ startproject".</p>"""
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
184 self.startProjectAct.triggered.connect(self.__startProject)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 self.actions.append(self.startProjectAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
187 self.startGlobalApplicationAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
188 self.tr('Start Application (global)'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
189 self.tr('Start Application (&global)'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
190 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
191 self, 'django_start_global_application')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
192 self.startGlobalApplicationAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 'Starts a new global Django application'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
194 self.startGlobalApplicationAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 """<b>Start Application (global)</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 """<p>Starts a new global Django application using"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 """ "django-admin.py startapp".</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
199 self.startGlobalApplicationAct.triggered.connect(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 self.__startGlobalApplication)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 self.actions.append(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
203 self.startLocalApplicationAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
204 self.tr('Start Application (local)'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
205 self.tr('Start Application (&local)'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
206 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
207 self, 'django_start_local_application')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
208 self.startLocalApplicationAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 'Starts a new local Django application'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
210 self.startLocalApplicationAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 """<b>Start Application (local)</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 """<p>Starts a new local Django application using"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 """ "manage.py startapp".</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
215 self.startLocalApplicationAct.triggered.connect(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 self.__startLocalApplication)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 self.actions.append(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
219 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
220 ## run actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
221 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
222
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
223 self.runServerAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
224 self.tr('Run Server'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
225 self.tr('Run &Server'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
226 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
227 self, 'django_run_server')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
228 self.runServerAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
229 'Starts the Django Web server'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
230 self.runServerAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
231 """<b>Run Server</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
232 """<p>Starts the Django Web server using "manage.py"""
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
233 """ runserver".</p>"""
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
234 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
235 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
236 self.actions.append(self.runServerAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
237
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
238 self.runBrowserAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
239 self.tr('Run Web-Browser'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
240 self.tr('Run &Web-Browser'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
241 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
242 self, 'django_run_browser')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
243 self.runBrowserAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
244 'Starts the default Web-Browser with the URL of the Django Web'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
245 ' server'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
246 self.runBrowserAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
247 """<b>Run Web-Browser</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
248 """<p>Starts the default Web-Browser with the URL of the """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
249 """Django Web server.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
250 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
251 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
252 self.actions.append(self.runBrowserAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
253
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
254 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
255 ## caching actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
256 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
257
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
258 self.createCacheTableAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
259 self.tr('Create Cache Tables'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
260 self.tr('C&reate Cache Tables'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
261 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
262 self, 'django_create_cache_tables')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
263 self.createCacheTableAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
264 'Creates the tables needed to use the SQL cache backend'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
265 self.createCacheTableAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
266 """<b>Create Cache Tables</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
267 """<p>Creates the tables needed to use the SQL cache"""
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
268 """ backend.</p>"""
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
269 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
270 self.createCacheTableAct.triggered.connect(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
271 self.__createCacheTables)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
272 self.actions.append(self.createCacheTableAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
273
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 ## help action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
278 self.helpAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
279 self.tr('Help'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
280 self.tr('&Help'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
281 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
282 self, 'django_help')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
283 self.helpAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 'Shows the Django help index'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
285 self.helpAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 """<b>Help</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 """<p>Shows the Django help index page.</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
289 self.helpAct.triggered.connect(self.__showHelpIndex)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 self.actions.append(self.helpAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 ## about action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
296 self.aboutDjangoAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
297 self.tr('About Django'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
298 self.tr('About D&jango'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
299 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
300 self, 'django_about')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
301 self.aboutDjangoAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 'Shows some information about Django'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
303 self.aboutDjangoAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 """<b>About Django</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 """<p>Shows some information about Django.</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
307 self.aboutDjangoAct.triggered.connect(self.__djangoInfo)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 self.actions.append(self.aboutDjangoAct)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
309
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
310 ##############################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
311 ## check action below ##
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
312 ##############################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
313
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
314 self.checkAct = EricAction(
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
315 self.tr('Check Project'),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
316 self.tr('Check Project'),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
317 0, 0,
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
318 self, 'django_check_project')
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
319 self.checkAct.setStatusTip(self.tr(
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
320 'Inspects the Django project for common problems'))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
321 self.checkAct.setWhatsThis(self.tr(
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
322 """<b>Check Project</b>"""
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
323 """<p>This inspects the Django project for common problems.</p>"""
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
324 ))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
325 self.checkAct.triggered.connect(self.__performCheck)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
326 self.actions.append(self.checkAct)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
327
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
328 self.__initDatabaseActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
329 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
330 self.__initMigrationActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
331 self.__initToolsActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
332 self.__initTestingActions()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
333 self.__initAuthorizationActions()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
334 self.__initSessionActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
335
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
336 def __initDatabaseActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
337 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
338 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
339 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
340 self.selectDatabaseNameAct = EricAction(
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
341 self.tr('Current Database'),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
342 "",
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
343 0, 0,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
344 self, 'django_current_database')
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
345 self.selectDatabaseNameAct.setStatusTip(self.tr(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
346 'Selects the current database'))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
347 self.selectDatabaseNameAct.setWhatsThis(self.tr(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
348 """<b>Current Database</b>"""
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
349 """<p>Selects the database name to be used by all database"""
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
350 """ actions. An empty database name indicates to use the default"""
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
351 """ name.</p>"""
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
352 ))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
353 self.selectDatabaseNameAct.triggered.connect(self.__selectDatabaseName)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
354 self.actions.append(self.selectDatabaseNameAct)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
355 self.__setCurrentDatabase(None)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
356
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
357 self.inspectDatabaseAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
358 self.tr('Introspect'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
359 self.tr('&Introspect'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
360 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
361 self, 'django_database_inspect')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
362 self.inspectDatabaseAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
363 'Introspects the database tables and outputs a Django model'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
364 ' module'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
365 self.inspectDatabaseAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
366 """<b>Introspect</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
367 """<p>Introspects the database tables and outputs a """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
368 """Django model module.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
369 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
370 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
371 self.actions.append(self.inspectDatabaseAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
372
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
373 self.flushDatabaseAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
374 self.tr('Flush'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
375 self.tr('&Flush'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
376 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
377 self, 'django_database_flush')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
378 self.flushDatabaseAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
379 'Returns all database tables to the state just after their'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
380 ' installation'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
381 self.flushDatabaseAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
382 """<b>Flush</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
383 """<p>Returns all database tables to the state """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
384 """just after their installation.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
385 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
386 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
387 self.actions.append(self.flushDatabaseAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
388
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
389 self.databaseClientAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
390 self.tr('Start Client Console'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
391 self.tr('Start &Client Console'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
392 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
393 self, 'django_database_client')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
394 self.databaseClientAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
395 'Starts a console window for the database client'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
396 self.databaseClientAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
397 """<b>Start Client Console</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
398 """<p>Starts a console window for the database client.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
399 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
400 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
401 self.actions.append(self.databaseClientAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
402
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
403 def __initDatabaseSqlActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
404 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
405 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
406 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
407 self.databaseSqlFlushAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
408 self.tr('Flush Database'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
409 self.tr('&Flush Database'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
410 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
411 self, 'django_database_sql_flush_database')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
412 self.databaseSqlFlushAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
413 'Prints a list of statements to return all database tables to the'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
414 ' state just after their installation'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
415 self.databaseSqlFlushAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
416 """<b>Flush Database</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
417 """<p>Prints a list of statements to return all database tables"""
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
418 """ to the state just after their installation.</p>"""
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
419 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
420 self.databaseSqlFlushAct.triggered.connect(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
421 self.__databaseSqlFlushDatabase)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
422 self.actions.append(self.databaseSqlFlushAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
423
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
424 self.databaseSqlResetSeqAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
425 self.tr('Reset Sequences'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
426 self.tr('Reset &Sequences'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
427 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
428 self, 'django_database_sql_reset_sequences')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
429 self.databaseSqlResetSeqAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
430 'Prints 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
431 'one or more applications'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
432 self.databaseSqlResetSeqAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
433 """<b>Reset Sequences</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
434 """<p>Prints 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
435 """one or more applications.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
436 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
437 self.databaseSqlResetSeqAct.triggered.connect(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
438 self.__databaseSqlResetSequences)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
439 self.actions.append(self.databaseSqlResetSeqAct)
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
440
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
441 self.databaseSqlMigrateAct = EricAction(
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
442 self.tr('Apply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
443 self.tr('&Apply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
444 0, 0,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
445 self, 'django_database_sql_apply_migration')
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
446 self.databaseSqlMigrateAct.setStatusTip(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
447 'Prints the SQL statements to apply a migration of an'
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
448 ' application'))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
449 self.databaseSqlMigrateAct.setWhatsThis(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
450 """<b>Apply Migration</b>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
451 """<p>Prints the SQL statements to apply a migration of an"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
452 """ application.</p>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
453 ))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
454 self.databaseSqlMigrateAct.triggered.connect(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
455 self.__databaseSqlMigrate)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
456 self.actions.append(self.databaseSqlMigrateAct)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
457
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
458 self.databaseSqlMigrateBackwardsAct = EricAction(
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
459 self.tr('Unapply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
460 self.tr('&Unapply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
461 0, 0,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
462 self, 'django_database_sql_unapply_migration')
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
463 self.databaseSqlMigrateBackwardsAct.setStatusTip(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
464 'Prints the SQL statements to unapply a migration of an'
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
465 ' application'))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
466 self.databaseSqlMigrateBackwardsAct.setWhatsThis(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
467 """<b>Unapply Migration</b>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
468 """<p>Prints the SQL statements to unapply a migration of an"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
469 """ application.</p>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
470 ))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
471 self.databaseSqlMigrateBackwardsAct.triggered.connect(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
472 lambda: self.__databaseSqlMigrate(backwards=True))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
473 self.actions.append(self.databaseSqlMigrateBackwardsAct)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
474
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
475 def __initToolsActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
476 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
477 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
478 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
479 self.diffSettingsAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
480 self.tr('Diff Settings'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
481 self.tr('&Diff Settings'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
482 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
483 self, 'django_tools_diffsettings')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
484 self.diffSettingsAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
485 'Shows the modification made to the settings'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
486 self.diffSettingsAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
487 """<b>Diff Settings</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
488 """<p>Shows the modification made to the settings.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
489 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
490 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
491 self.actions.append(self.diffSettingsAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
492
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
493 self.runPythonShellAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
494 self.tr('Start Python Console'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
495 self.tr('Start &Python Console'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
496 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
497 self, 'django_tools_pythonconsole')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
498 self.runPythonShellAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
499 'Starts a Python interactive interpreter'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
500 self.runPythonShellAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
501 """<b>Start Python Console</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
502 """<p>Starts a Python interactive interpreter.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
503 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
504 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
505 self.actions.append(self.runPythonShellAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
506
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
507 self.testEmailAct = EricAction(
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
508 self.tr('Send Test Email'),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
509 self.tr('Send Test &Email'),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
510 0, 0,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
511 self, 'django_tools_sendtestemail')
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
512 self.testEmailAct.setStatusTip(self.tr(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
513 'Send a test email through Django'))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
514 self.testEmailAct.setWhatsThis(self.tr(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
515 """<b>Send Test Email</b>"""
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
516 """<p>Sends a test email to confirm email sending through Django"""
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
517 """ is working.</p>"""
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
518 ))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
519 self.testEmailAct.triggered.connect(self.__sendTestEmail)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
520 self.actions.append(self.testEmailAct)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
521
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
522 def __initTestingActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
523 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
524 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
525 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
526 self.dumpDataAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
527 self.tr('Dump Data'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
528 self.tr('&Dump Data'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
529 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
530 self, 'django_tools_dumpdata')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
531 self.dumpDataAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
532 'Dump the database data to a fixture'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
533 self.dumpDataAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
534 """<b>Dump Data</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
535 """<p>Dump the database data to a fixture.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
536 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
537 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
538 self.actions.append(self.dumpDataAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
539
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
540 self.loadDataAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
541 self.tr('Load Data'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
542 self.tr('&Load Data'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
543 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
544 self, 'django_tools_loaddata')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
545 self.loadDataAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
546 'Load data from fixture files'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
547 self.loadDataAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
548 """<b>Load Data</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
549 """<p>Load data from fixture files.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
550 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
551 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
552 self.actions.append(self.loadDataAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
553
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
554 self.runTestAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
555 self.tr('Run Testsuite'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
556 self.tr('Run &Testsuite'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
557 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
558 self, 'django_tools_run_test')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
559 self.runTestAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
560 'Run the test suite for applications or the whole site'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
561 self.runTestAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
562 """<b>Run Testsuite</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
563 """<p>Run the test suite for applications or the whole site.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
564 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
565 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
566 self.actions.append(self.runTestAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
567
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
568 self.runDeprecationTestAct = EricAction(
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
569 self.tr('Run Testsuite (-Wall)'),
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
570 self.tr('Run Testsuite (-Wall)'),
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
571 0, 0,
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
572 self, 'django_tools_run_deprecation_test')
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
573 self.runDeprecationTestAct.setStatusTip(self.tr(
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
574 'Run the test suite for applications or the whole site with'
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
575 ' activated 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
576 self.runDeprecationTestAct.setWhatsThis(self.tr(
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
577 """<b>Run Testsuite (-Wall)</b>"""
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
578 """<p>Run the test suite for applications or the whole site"""
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
579 """ with activated deprecation warnings.</p>"""
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
580 ))
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
581 self.runDeprecationTestAct.triggered.connect(
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
582 lambda: self.__runTestSuite(deprecation=True))
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
583 self.actions.append(self.runDeprecationTestAct)
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
584
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
585 self.runTestServerAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
586 self.tr('Run Testserver'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
587 self.tr('Run Test&server'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
588 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
589 self, 'django_tools_run_test_server')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
590 self.runTestServerAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
591 'Run a development server with data from a set of fixtures'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
592 self.runTestServerAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
593 """<b>Run Testserver</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
594 """<p>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
595 """ fixtures.</p>"""
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
596 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
597 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
598 self.actions.append(self.runTestServerAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
599
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
600 def __initAuthorizationActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
601 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
602 Private method to define the authorization actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
603 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
604 self.changePasswordAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
605 self.tr('Change Password'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
606 self.tr('Change &Password'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
607 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
608 self, 'django_auth_changepassword')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
609 self.changePasswordAct.setStatusTip(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
610 'Change the password of a user'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
611 self.changePasswordAct.setWhatsThis(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
612 """<b>Change Password</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
613 """<p>Change the password of a user of the Django project.</p>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
614 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
615 self.changePasswordAct.triggered.connect(self.__changePassword)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
616 self.actions.append(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
617
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
618 self.createSuperUserAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
619 self.tr('Create Superuser'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
620 self.tr('Create &Superuser'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
621 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
622 self, 'django_auth_createsuperuser')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
623 self.createSuperUserAct.setStatusTip(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
624 'Create a superuser account'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
625 self.createSuperUserAct.setWhatsThis(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
626 """<b>Create Superuser</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
627 """<p>Create a superuser account for the Django project.</p>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
628 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
629 self.createSuperUserAct.triggered.connect(self.__createSuperUser)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
630 self.actions.append(self.createSuperUserAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
631
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
632 def __initSessionActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
633 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
634 Private method to define the session actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
635 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
636 self.clearSessionsAct = EricAction(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
637 self.tr('Clear Sessions'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
638 self.tr('Clear &Sessions'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
639 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
640 self, 'django_session_clearsessions')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
641 self.clearSessionsAct.setStatusTip(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
642 'Clear expired sessions'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
643 self.clearSessionsAct.setWhatsThis(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
644 """<b>Clear Sessions</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
645 """<p>Clear expired sessions of the Django project.</p>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
646 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
647 self.clearSessionsAct.triggered.connect(self.__clearSessions)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
648 self.actions.append(self.clearSessionsAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
649
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
650 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
651 """
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
652 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
653 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
654 self.showMigrationsAct = EricAction(
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
655 self.tr('Show Migrations'),
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
656 self.tr('&Show Migrations'),
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
657 0, 0,
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
658 self, 'django_migration_show')
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
659 self.showMigrationsAct.setStatusTip(self.tr(
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
660 'Show a list of available migrations'))
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
661 self.showMigrationsAct.setWhatsThis(self.tr(
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
662 """<b>Show Migrations</b>"""
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
663 """<p>This shows a list of available migrations of the Django"""
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
664 """ project and their status.</p>"""
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
665 ))
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
666 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
667 self.actions.append(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
668
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
669 self.showMigrationsPlanAct = EricAction(
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
670 self.tr('Show 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
671 self.tr('Show 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
672 0, 0,
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
673 self, 'django_migration_show_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
674 self.showMigrationsPlanAct.setStatusTip(self.tr(
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
675 'Show a list with 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
676 self.showMigrationsPlanAct.setWhatsThis(self.tr(
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
677 """<b>Show Migrations Plan</b>"""
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
678 """<p>This shows a list with the migrations plan of the Django"""
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
679 """ project.</p>"""
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
680 ))
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
681 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
682 self.actions.append(self.showMigrationsPlanAct)
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
683
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
684 self.migrateAllAct = EricAction(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
685 self.tr('Apply All Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
686 self.tr('&Apply All Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
687 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
688 self, 'django_migration_apply_all')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
689 self.migrateAllAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
690 'Apply all available migrations'))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
691 self.migrateAllAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
692 """<b>Apply All Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
693 """<p>This applies all migrations of the Django project.</p>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
694 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
695 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
696 self.actions.append(self.migrateAllAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
697
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
698 self.migrateSelectedAct = EricAction(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
699 self.tr('Apply Selected Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
700 self.tr('Apply Selected Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
701 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
702 self, 'django_migration_apply_selected')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
703 self.migrateSelectedAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
704 'Apply selected migrations'))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
705 self.migrateSelectedAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
706 """<b>Apply Selected Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
707 """<p>This applies selected migrations of the Django"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
708 """ project.</p>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
709 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
710 self.migrateSelectedAct.triggered.connect(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
711 self.__applySelectedMigrations)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
712 self.actions.append(self.migrateSelectedAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
713
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
714 self.unmigrateAct = EricAction(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
715 self.tr('Unapply Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
716 self.tr('&Unapply Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
717 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
718 self, 'django_migration_unapply')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
719 self.unmigrateAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
720 'Unapply all migrations for an app'))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
721 self.unmigrateAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
722 """<b>Unapply Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
723 """<p>This unapplies all migrations for an app of the Django"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
724 """ project.</p>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
725 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
726 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
727 self.actions.append(self.unmigrateAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
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.makeMigrationsAct = EricAction(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
730 self.tr('Make Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
731 self.tr('&Make Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
732 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
733 self, 'django_migration_make')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
734 self.makeMigrationsAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
735 'Generate migrations for the project'))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
736 self.makeMigrationsAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
737 """<b>Make Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
738 """<p>This generates migrations for the Django project.</p>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
739 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
740 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
741 self.actions.append(self.makeMigrationsAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
742
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
743 self.squashMigrationsAct = EricAction(
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
744 self.tr('Squash Migrations'),
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
745 self.tr('S&quash Migrations'),
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
746 0, 0,
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
747 self, 'django_migration_squash')
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
748 self.squashMigrationsAct.setStatusTip(self.tr(
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
749 'Squash migrations of an application of the project'))
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
750 self.squashMigrationsAct.setWhatsThis(self.tr(
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
751 """<b>Squash Migrations</b>"""
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
752 """<p>This squashes migrations of an application of the"""
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
753 """ Django project.</p>"""
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
754 ))
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
755 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
756 self.actions.append(self.squashMigrationsAct)
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
757
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 def initMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759 """
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
760 Public method to initialize the Django menu.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
761
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
762 @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
763 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
764 """
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
765 self.__menus = {} # clear menus references
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
766
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
767 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
768 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 menu.addAction(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
772 menu.addAction(self.runServerAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
773 menu.addAction(self.runBrowserAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
774 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775 menu.addAction(self.startProjectAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776 menu.addAction(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777 menu.addAction(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
778 menu.addSeparator()
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
779 menu.addAction(self.checkAct)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
780 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
781 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
782 menu.addMenu(self.__initMigrationsMenu())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
783 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784 menu.addMenu(self.__initToolsMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
786 menu.addAction(self.createCacheTableAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 menu.addMenu(self.__initTestingMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 menu.addSeparator()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
790 menu.addMenu(self.__initAuthorizationMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
791 menu.addSeparator()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
792 menu.addMenu(self.__initSessionMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
793 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794 menu.addAction(self.aboutDjangoAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
795 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796 menu.addAction(self.helpAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
797
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
798 self.__menus["main"] = menu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
799
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
800 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
801
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
802 def __initDatabaseMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
803 """
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
804 Private method to initialize the database menu.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
805
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
806 @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
807 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
808 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
809 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
810 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
811
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
812 menu.addAction(self.selectDatabaseNameAct)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
813 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
814 menu.addAction(self.inspectDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
816 menu.addAction(self.flushDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
818 menu.addAction(self.databaseClientAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820 menu.addMenu(self.__initDatabaseSqlMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821
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
822 self.__menus["database"] = menu
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
823
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 def __initDatabaseSqlMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 """
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
828 Private method to initialize the database SQL submenu.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
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 @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
831 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
833 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
834 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
836 menu.addAction(self.databaseSqlFlushAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
837 menu.addAction(self.databaseSqlResetSeqAct)
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
838 menu.addSeparator()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
839 menu.addAction(self.databaseSqlMigrateAct)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
840 menu.addAction(self.databaseSqlMigrateBackwardsAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841
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
842 self.__menus["sql"] = menu
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
843
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
844 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
845
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
846 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
847 """
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
848 Private method to initialize the Migrations submenu.
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
849
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
850 @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
851 @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
852 """
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
853 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
854 menu.setTearOffEnabled(True)
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
855
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
856 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
857 menu.addAction(self.showMigrationsPlanAct)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
858 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
859 menu.addAction(self.migrateAllAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
860 menu.addAction(self.migrateSelectedAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
861 menu.addAction(self.unmigrateAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
862 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
863 menu.addAction(self.makeMigrationsAct)
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
864 menu.addSeparator()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
865 menu.addAction(self.squashMigrationsAct)
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
866
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
867 self.__menus["migrations"] = menu
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
868
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
869 return menu
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
870
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 def __initToolsMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
872 """
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
873 Private method to initialize the tools menu.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874
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
875 @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
876 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
878 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
879 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
880
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
881 menu.addAction(self.diffSettingsAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
882 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
883 menu.addAction(self.runPythonShellAct)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
884 menu.addSeparator()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
885 menu.addAction(self.testEmailAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
886
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
887 self.__menus["tools"] = menu
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
888
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
889 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
890
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
891 def __initTestingMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
892 """
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
893 Private method to initialize the testing menu.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
894
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
895 @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
896 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
898 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
899 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
900
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
901 menu.addAction(self.dumpDataAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
902 menu.addAction(self.loadDataAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
904 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
905 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
906 menu.addAction(self.runTestServerAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907
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
908 self.__menus["testing"] = menu
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
909
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 return menu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
911
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
912 def __initAuthorizationMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
913 """
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
914 Private method to initialize the authorization menu.
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
915
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
916 @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
917 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
918 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
919 menu = QMenu(self.tr("&Authorization"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
920 menu.setTearOffEnabled(True)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
921
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
922 menu.addAction(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
923 menu.addAction(self.createSuperUserAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
924
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
925 self.__menus["authorization"] = menu
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
926
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
927 return menu
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
928
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
929 def __initSessionMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
930 """
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
931 Private method to initialize the authorization menu.
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
932
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
933 @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
934 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
935 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
936 menu = QMenu(self.tr("&Session"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
937 menu.setTearOffEnabled(True)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
938
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
939 menu.addAction(self.clearSessionsAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
940
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
941 self.__menus["session"] = menu
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
942
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
943 return menu
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
944
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
945 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
946 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
947 Public method to get a reference to the requested menu.
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
948
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
949 @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
950 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
951 @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
952 name exists
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
953 @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
954 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
955 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
956 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
957 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
958 return None
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
959
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
960 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
961 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
962 Public method to get the names of all 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
963
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
964 @return menu names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
965 @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
966 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
967 return list(self.__menus.keys())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
968
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
969 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
970 ## 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
971 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
972
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
973 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
974 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
975 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
976 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
977 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
978 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
979 editor = self.__plugin.getPreferences("TranslationsEditor")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
980 if editor:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
981 self.__translationsBrowser.addHookMethodAndMenuEntry(
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
982 "open",
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
983 self.openPOEditor,
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
984 self.tr("Open with {0}").format(
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
985 os.path.basename(editor)))
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
986 else:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
987 self.__translationsBrowser.removeHookMethod("open")
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
988
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
989 def projectOpenedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
990 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
991 Public method to add our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
992 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
993 if self.__ericProject.getProjectType() == "Django":
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
994 self.__formsBrowser = (
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
995 ericApp().getObject("ProjectBrowser")
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
996 .getProjectBrowser("forms")
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
997 )
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
998 self.__formsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
999 "newForm",
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1000 self.newForm, self.tr("New template..."))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1001
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1002 self.__ericProject.projectLanguageAddedByCode.connect(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1003 self.__projectLanguageAdded)
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1004 self.__translationsBrowser = (
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1005 ericApp().getObject("ProjectBrowser")
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1006 .getProjectBrowser("translations"))
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1007 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1008 "generateAll",
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1009 self.updateCatalogs, self.tr("Update all catalogs"))
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1010 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1011 "generateSelected",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1012 self.updateSelectedCatalogs,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1013 self.tr("Update selected catalogs"))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1014 self.__translationsBrowser.addHookMethodAndMenuEntry(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1015 "generateAllWithObsolete", self.updateCatalogsWithObsolete,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1016 self.tr("Update all catalogs (with obsolete)"))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1017 self.__translationsBrowser.addHookMethodAndMenuEntry(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1018 "generateSelectedWithObsolete",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1019 self.updateSelectedCatalogsWithObsolete,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1020 self.tr("Update selected catalogs (with obsolete)"))
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1021 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1022 "releaseAll",
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1023 self.compileCatalogs, self.tr("Compile all catalogs"))
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1024 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1025 "releaseSelected",
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1026 self.compileSelectedCatalogs,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1027 self.tr("Compile selected catalogs"))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1028
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1029 self.__hooksInstalled = True
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
1030
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1031 self.registerOpenHook()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1032
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1033 def projectClosedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1034 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1035 Public method to remove our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1036 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1037 if self.__hooksInstalled:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1038 self.__formsBrowser.removeHookMethod("newForm")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1039 self.__formsBrowser = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1040
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1041 self.__ericProject.projectLanguageAddedByCode.disconnect(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1042 self.__projectLanguageAdded)
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1043 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1044 "generateAll")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1045 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1046 "generateSelected")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1047 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1048 "generateAllWithObsolete")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1049 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1050 "generateSelectedWithObsolete")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1051 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1052 "releaseAll")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1053 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1054 "releaseSelected")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1055 self.__translationsBrowser.removeHookMethod("open")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1056 self.__translationsBrowser = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1057
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1058 self.__hooksInstalled = False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1059
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1060 def newForm(self, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1061 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1062 Public method to create a new form.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1063
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1064 @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
1065 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1066 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1067 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
1068 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1069 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
1070 path,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1071 filter,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1072 None,
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1073 EricFileDialog.DontConfirmOverwrite)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1074
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1075 if not fname:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1076 # 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
1077 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1078
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1079 ext = QFileInfo(fname).suffix()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1080 if not ext:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1081 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
1082 if ex:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1083 fname += ex
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1084
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1085 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
1086 res = EricMessageBox.yesNo(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1087 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1088 self.tr("New Form"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1089 self.tr("The file already exists! Overwrite it?"),
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1090 icon=EricMessageBox.Warning)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1091
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1092 if not res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1093 # 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
1094 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1095
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1096 try:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1097 with open(fname, "w") as f:
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1098 f.write('<!DOCTYPE html>')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1099 f.write('<html>\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1100 f.write(' <head>\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1101 f.write(' <meta content="" />\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1102 f.write(' <title></title>\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1103 f.write(' <link rel="stylesheet" type="text/css"'
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1104 ' href="style.css"/>')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1105 f.write(' <!--[if lte IE 7]>')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1106 f.write(' <link rel="stylesheet" type="text/css"'
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1107 ' href="ie.css"/>')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1108 f.write(' <![endif]-->')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1109 f.write(' </head>\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1110 f.write('\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1111 f.write(' <body class="bodyclass">\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1112 f.write(' <div id="container">')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1113 f.write(' </div>')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1114 f.write(' </body>\n')
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1115 f.close()
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1116 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
1117 except OSError as e:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1118 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1119 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1120 self.tr("New Form"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1121 self.tr("<p>The new form file <b>{0}</b> could not be"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1122 " created.<br> Problem: {1}</p>")
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1123 .format(fname, str(e)))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1124 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1125
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1126 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
1127 self.__formsBrowser.sourceFile.emit(fname)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1128
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1129 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1130 ## slots below implement general functionality
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1131 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1132
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1133 def projectClosed(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1134 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1135 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
1136 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1137 if self.__serverProc is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1138 self.__serverProcFinished()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1139 self.__setCurrentSite(None)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1140
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
1141 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
1142 """
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1143 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
1144 the environment.
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
1145
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1146 @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
1147 @type str
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1148 @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
1149 accessible via the searchpath defined by the PATH environment
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1150 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
1151 @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
1152 """
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
1153 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
1154
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
1155 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
1156 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
1157 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
1158 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
1159 return []
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
1160
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
1161 cur_path = os.path.join(os.curdir, file)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1162 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
1163 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
1164
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
1165 path = os.getenv('PATH')
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
1166
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
1167 # 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
1168 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
1169 dirs = path.split(os.pathsep)
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
1170 for directory in dirs:
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
1171 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
1172 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
1173 paths.append(exe)
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
1174
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
1175 return 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
1176
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
1177 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
1178 """
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
1179 Public method to get the supported Python variants.
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
1180
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1181 @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
1182 @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
1183 """
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
1184 variants = []
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1185 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
1186 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
1187 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
1188 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
1189 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
1190 else:
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1191 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
1192 if isWindowsPlatform():
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1193 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
1194 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
1195 else:
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1196 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
1197 try:
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1198 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
1199 except AttributeError:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1200 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
1201 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
1202 try:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1203 with open(fullCmd, 'r', encoding='utf-8') as f:
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1204 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
1205 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
1206 l0 = ""
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1207 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
1208 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
1209 break
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
1210
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
1211 return variants
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
1212
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1213 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
1214 """
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1215 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
1216 given Python variant.
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1217
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1218 @param variant Python variant to test for
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1219 @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
1220 @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
1221 @type str
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1222 @return flag indicating a suitable file was found
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1223 @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
1224 """
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1225 l0 = line0.lower()
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1226 ok = (variant.lower() in l0 or
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1227 "{0}.".format(variant[-1]) in l0)
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1228 ok |= "pypy3" in l0
132
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1229
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1230 return ok
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1231
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
1232 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
1233 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1234 Private method to get the path of the virtual environment.
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1235
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
1236 @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
1237 for (one of '' or 'Python3')
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1238 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1239 @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
1240 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1241 """
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
1242 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1243 language = self.__ericProject.getProjectLanguage()
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1244 venvName = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1245 self.__plugin.getPreferences("VirtualEnvironmentNamePy3")
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1246 if language == "Python3" else
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1247 ""
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1248 )
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1249 if venvName:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1250 virtEnv = self.__virtualEnvManager.getVirtualenvDirectory(
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1251 venvName)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1252 if not virtEnv:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1253 virtEnv = os.path.dirname(
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1254 self.__virtualEnvManager.getVirtualenvInterpreter(
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1255 venvName))
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1256 if virtEnv.endswith(("Scripts", "bin")):
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1257 virtEnv = os.path.dirname(virtEnv)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1258 else:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1259 virtEnv = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1260 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
1261 virtEnv = ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1262 return virtEnv
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1263
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1264 def __getDebugEnvironment(self, language=""):
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1265 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1266 Private method to get the path of the debugger environment.
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1267
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1268 @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
1269 for (one of '' or 'Python3')
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1270 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1271 @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
1272 @rtype str
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1273 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1274 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1275 language = self.__ericProject.getProjectLanguage()
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1276 debugEnv = self.__getVirtualEnvironment(language)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1277 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
1278 if language == "Python3":
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1279 venvName = Preferences.getDebugger("Python3VirtualEnv")
34
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1280 else:
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1281 venvName = ""
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1282
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1283 if venvName:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1284 debugEnv = self.__virtualEnvManager.getVirtualenvDirectory(
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1285 venvName)
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1286 else:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1287 debugEnv = ""
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1288 return debugEnv
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1289
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
1290 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
1291 """
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
1292 Private method to build a django-admin.py command.
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1293
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
1294 @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
1295 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
1296 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1297 @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
1298 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1299 """
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
1300 if not language:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1301 language = self.__ericProject.getProjectLanguage()
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
1302
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
1303 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
1304 if virtualEnv:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1305 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
1306 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
1307 # standard Python
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1308 os.path.join(virtualEnv, "Scripts", "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
1309 # PyPy
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1310 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
1311 ]:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1312 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
1313 break
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1314 else:
576cb5a3b035 Changed to use virtual environments manager as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 125
diff changeset
1315 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1316 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1317 cmds = [
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1318 os.path.join(virtualEnv, "bin", "django-admin.py"),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1319 os.path.join(virtualEnv, "bin", "django-admin"),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1320 os.path.join(virtualEnv, "local", "bin",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1321 "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
1322 os.path.join(virtualEnv, "local", "bin", "django-admin"),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1323 ]
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1324 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
1325 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
1326 break
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1327 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
1328 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1329 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1330 if isWindowsPlatform():
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1331 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
1332 for cmd in [
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1333 # standard Python
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1334 os.path.join(debugEnv, "Scripts", "django-admin.py"),
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1335 # PyPy
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1336 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
1337 ]:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1338 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
1339 break
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1340 else:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1341 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1342 else:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1343 if language == "Python3":
38
3ce20c97fca9 Added some more django-admin.py alternatives to search for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
1344 cmds = ["django-admin3.py", "django-admin3",
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1345 "django-admin.py-3.10",
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1346 "django-admin.py-3.9", "django-admin.py-3.8",
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1347 "django-admin.py-3.7", "django-admin.py-3.6",
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1348 ]
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1349 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
1350 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
1351 cmds.extend(["django-admin.py", "django-admin"])
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
1352 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
1353 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
1354 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
1355 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
1356 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
1357
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1358 return cmd
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1359
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1360 def __getPythonExecutable(self):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1361 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1362 Private method to build the Python command.
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1363
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1364 @return python command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1365 @rtype str
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1366 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1367 language = self.__ericProject.getProjectLanguage()
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1368 if language == "Python3":
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1369 venvName = self.__plugin.getPreferences(
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1370 "VirtualEnvironmentNamePy3")
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1371 if not venvName:
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1372 # 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
1373 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
1374 else:
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1375 venvName = ""
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1376 python = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1377 self.__virtualEnvManager.getVirtualenvInterpreter(venvName)
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1378 if venvName else
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1379 ""
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1380 )
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1381
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1382 return python
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1383
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1384 def __djangoInfo(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1385 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1386 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
1387 """
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
1388 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
1389 url = "https://www.djangoproject.com"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1390
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1391 msgBox = EricMessageBox.EricMessageBox(
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1392 EricMessageBox.Question,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1393 self.tr("About Django"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1394 self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1395 "<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
1396 " 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
1397 " design.</p>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1398 "<p><table>"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1399 "<tr><td>Version:</td><td>{0}</td></tr>"
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1400 "<tr><td>URL:</td><td><a href=\"{1}\">"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1401 "{1}</a></td></tr>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1402 "</table></p>"
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1403 ).format(version, url),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1404 modal=True,
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1405 buttons=EricMessageBox.Ok)
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1406 msgBox.setIconPixmap(UI.PixmapCache.getPixmap(
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
1407 os.path.join("ProjectDjango", "icons",
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
1408 "django64-{0}".format(self.__iconSuffix))))
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1409 msgBox.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1410
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
1411 def getDjangoVersionString(self):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1412 """
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
1413 Public method to get the Django version as a string.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1414
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1415 @return Django version
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1416 @rtype str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1417 """
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
1418 djangoVersion = ""
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
1419
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
1420 args = ['--version']
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
1421 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
1422 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
1423 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
1424 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
1425 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
1426 cmd = 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
1427
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
1428 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
1429 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
1430 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
1431 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
1432 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
1433 if finished and process.exitCode() == 0:
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
1434 output = str(process.readAllStandardOutput(), ioEncoding,
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
1435 'replace')
159
e08458938716 Fixed a bug determining the Django version (issue 331).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 148
diff changeset
1436 djangoVersion = output.splitlines()[0].strip()
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
1437
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
1438 return djangoVersion
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1439
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
1440 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
1441 """
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
1442 Public method to get the Django version as a tuple.
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
1443
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
1444 @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
1445 @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
1446 """
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
1447 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
1448 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
1449 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
1450 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
1451 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
1452 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
1453 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
1454 djangoVersionList.append(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
1455
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
1456 return tuple(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
1457
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1458 def __getApplications(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1459 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1460 Private method to ask the user for a list of application names.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1461
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1462 @return list of application names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1463 @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
1464 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1465 applStr, ok = QInputDialog.getItem(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1466 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1467 self.tr("Select Applications"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1468 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
1469 self.getRecentApplications(),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1470 0, True)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1471 if ok and applStr != "":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1472 self.setMostRecentApplication(applStr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1473 return applStr.split()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1474 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1475 return []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1476
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1477 def __loadRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1478 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1479 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
1480 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1481 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1482 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1483 ra = Preferences.Prefs.rsettings.value(self.RecentApplicationsKey)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1484 if ra is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1485 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1486 self.__recentApplications = ra[:maxRecentApps]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1487
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1488 def __saveRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1489 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1490 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
1491 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1492 Preferences.Prefs.rsettings.setValue(self.RecentApplicationsKey,
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1493 self.__recentApplications)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1494 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1495
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1496 def getRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1497 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1498 Public method to get the list of recent applications.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1499
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1500 @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
1501 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1502 self.__loadRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1503 return self.__recentApplications
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1504
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1505 def setMostRecentApplication(self, applStr):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1506 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1507 Public method to set the most recently used applications entry.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1508
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1509 @param applStr applications entry
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1510 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1511 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1512 if applStr in self.__recentApplications:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1513 self.__recentApplications.remove(applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1514 self.__recentApplications.insert(0, applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1515
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1516 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1517 if len(self.__recentApplications) > maxRecentApps:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1518 self.__recentApplications = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1519 self.__recentApplications[:maxRecentApps])
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1520 self.__saveRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1521
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1522 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
1523 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1524 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
1525 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1526 self.__recentTestData = {
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1527 "RecentTestLabels": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1528 "RecentTestTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1529 "RecentTestExcludeTags": [],
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1530 }
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1531 Preferences.Prefs.rsettings.sync()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1532 maxRecentTestData = self.__plugin.getPreferences(
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1533 "RecentNumberTestData")
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1534 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
1535 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
1536 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
1537 self.__recentTestData[key] = recent[:maxRecentTestData]
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1538
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1539 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
1540 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1541 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
1542 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1543 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
1544 Preferences.Prefs.rsettings.setValue("Django/" + key,
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1545 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
1546 Preferences.Prefs.rsettings.sync()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1547
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1548 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
1549 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1550 Public method to get the list of recent test data.
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1551
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1552 @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
1553 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1554 @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
1555 @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
1556 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1557 self.__loadRecentTestData()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1558 return 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
1559
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1560 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
1561 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1562 Public method to set the most recently used test data entry.
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1563
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1564 @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
1565 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1566 @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
1567 @type str
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1568 """
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1569 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
1570 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
1571 self.__recentTestData[key].insert(0, data)
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1572
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1573 maxRecentTestData = self.__plugin.getPreferences(
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1574 "RecentNumberTestData")
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1575 if len(self.__recentTestData[key]) > maxRecentTestData:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1576 self.__recentTestData[key] = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1577 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
1578 self.__saveRecentTestData()
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
1579
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1580 def getProjectPath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1581 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1582 Public method to get the path of the eric7 project.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1583
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1584 @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
1585 @rtype str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1586 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1587 return self.__ericProject.getProjectPath()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1588
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1589 def __showHelpIndex(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1590 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1591 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
1592 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1593 page = os.path.join(os.path.dirname(__file__),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1594 "Documentation", "help", "index.html")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1595 self.__ui.launchHelpViewer(page)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1596
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1597 def __isSpawningConsole(self, consoleCmd):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1598 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1599 Private method to check, if the given console is a spawning console.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1600
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1601 @param consoleCmd console command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1602 @type str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1603 @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
1604 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
1605 @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
1606 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1607 if consoleCmd and consoleCmd[0] == '@':
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1608 return (True, consoleCmd[1:])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1609 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1610 return (False, consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1611
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
1612 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
1613 """
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
1614 Private method to adjust the working directory in the arguments list.
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
1615
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
1616 @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
1617 @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
1618 @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
1619 @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
1620 """
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
1621 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
1622 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
1623 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
1624 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
1625 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
1626 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
1627 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
1628 break
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
1629
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1630 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1631 ## slots below implement creation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1632 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1633
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
1634 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
1635 """
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
1636 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
1637 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1638 if self.__ericProject.getProjectType() == "Django":
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1639 ppath = self.__ericProject.getProjectPath()
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
1640
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
1641 # 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
1642 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
1643 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
1644 self.__ericProject.deleteFile("__init__.py")
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1645 self.__ericProject.saveProject()
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
1646
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1647 def startProjectOrApplication(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1648 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1649 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
1650 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1651 if self.__ericProject.getProjectType() == "Django":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1652 projectStr = self.tr("Project")
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1653 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
1654 selections = ["", projectStr, applStr]
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1655 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
1656 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1657 self.tr("Start Django"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1658 self.tr("Select if this project should be a "
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1659 "Django Project or Application.<br />"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1660 "Select the empty entry for none."),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1661 selections,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1662 0, False)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1663 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
1664 if selection == projectStr:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1665 path, projectName = os.path.split(
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1666 self.__ericProject.getProjectPath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1667 self.__createProject(projectName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1668 elif selection == applStr:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1669 path, applName = os.path.split(
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1670 self.__ericProject.getProjectPath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1671 self.__createApplication(applName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1672
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1673 def __createProject(self, projectName, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1674 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1675 Private slot to create a new Django project.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1676
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1677 @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
1678 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1679 @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
1680 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1681 @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
1682 @rtype bool
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1683 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1684 title = self.tr("Start Django Project")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1685
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1686 # 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
1687 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
1688 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
1689 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
1690 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
1691 title,
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
1692 self.tr("""<p>The Django project path <b>{0}</b> exists"""
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
1693 """ already. Shall it be removed and recreated?"""
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
1694 """</p>""").format(ppath))
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
1695 if not okToRemove:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1696 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
1697 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
1698 title,
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
1699 self.tr("""<p>Please add the files to the eric project"""
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
1700 """ manually.</p>"""))
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
1701 return True
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
1702
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1703 shutil.rmtree(ppath, ignore_errors=True)
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1704
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1705 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
1706 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
1707 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
1708 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
1709 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
1710 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1711 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1712 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
1713 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
1714 title,
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
1715 self.tr("""<p>The <b>django-admin.py</b> script is"""
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
1716 """ not in the path. Aborting...</p>"""))
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
1717 return False
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1718
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1719 args.append("startproject")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1720 args.append(projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1721
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1722 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1723 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1724 msgSuccess=self.tr("Django project created successfully."))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1725 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1726 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1727 dia.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1728
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1729 # create the base directory for translations
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1730 i18nPath = os.path.join(path, projectName, "locale")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1731 if not os.path.exists(i18nPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1732 os.makedirs(i18nPath)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1733
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1734 if (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1735 os.path.join(path, projectName) ==
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1736 self.__ericProject.getProjectPath()
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1737 ):
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1738 self.__setCurrentSite("")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1739 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1740 self.__setCurrentSite(projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1741
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1742 return res
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1743
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1744 def __startProject(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1745 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1746 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
1747 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1748 projectName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1749 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1750 self.tr("Start Django Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1751 self.tr("Enter the name of the new Django project."),
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1752 QLineEdit.EchoMode.Normal)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1753 if ok and projectName != "":
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1754 res = self.__createProject(projectName,
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1755 self.__ericProject.getProjectPath())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1756 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1757 # search for new files and add them to the project
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1758 sitePath = os.path.join(self.__ericProject.getProjectPath(),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1759 projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1760 for entry in os.walk(sitePath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1761 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1762 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
1763 self.__ericProject.appendFile(fullName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1764
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1765 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
1766 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1767 Private slot to create a new Django application.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1768
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1769 @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
1770 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1771 @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
1772 @type str
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1773 @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
1774 @type bool
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1775 @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
1776 @rtype bool
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1777 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1778 title = self.tr("Start Django Application")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1779
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1780 # 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
1781 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
1782 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
1783 shutil.rmtree(apath, ignore_errors=True)
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1784
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1785 args = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1786 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
1787 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
1788 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
1789 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
1790 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
1791 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1792 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1793 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
1794 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
1795 title,
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
1796 self.tr("""<p>The <b>django-admin.py</b> script"""
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
1797 """ is not in the path."""
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
1798 """ Aborting...</p>"""))
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
1799 return False
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1800 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1801 args.append(self.__getPythonExecutable())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1802 args.append("manage.py")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1803 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1804 path = self.__sitePath()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1805 except DjangoNoSiteSelectedException:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1806 return False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1807 args.append("startapp")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1808 args.append(applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1809
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1810 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1811 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1812 msgSuccess=self.tr("Django application created successfully."))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1813 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1814 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
1815 dia.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1816 return res
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1817
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1818 def __startGlobalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1819 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1820 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
1821 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1822 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1823 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1824 self.tr("Start Global Django Application"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1825 self.tr("Enter the name of the new global Django"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1826 " application."),
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1827 QLineEdit.EchoMode.Normal)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1828 if ok and applName != "":
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1829 res = self.__createApplication(applName,
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1830 self.__ericProject.getProjectPath())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1831 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1832 # search for new files and add them to the project
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1833 appPath = os.path.join(self.__ericProject.getProjectPath(),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1834 applName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1835 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1836 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1837 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
1838 self.__ericProject.appendFile(fullName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1839
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1840 def __startLocalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1841 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1842 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
1843 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1844 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1845 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1846 self.tr("Start Local Django Application"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1847 self.tr("Enter the name of the new local Django application."),
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1848 QLineEdit.EchoMode.Normal)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1849 if ok and applName != "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1850 res = self.__createApplication(applName, "", False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1851 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1852 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1853 # 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
1854 appPath = os.path.join(self.__sitePath(), applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1855 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1856 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1857 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
1858 self.__ericProject.appendFile(fullName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1859 except DjangoNoSiteSelectedException:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1860 return
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1861
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1862 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1863 ## methods below implement site related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1864 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1865
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1866 def __findSites(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1867 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1868 Private method to determine the relative path to all manage.py scripts.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1869
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1870 @return list of sites
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1871 @rtype list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1872 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1873 sites = []
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1874 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
1875 if os.path.basename(file) == "manage.py":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1876 sites.append(os.path.dirname(file))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1877 return sites
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1878
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1879 def __selectSite(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1880 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1881 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
1882 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1883 sites = self.__findSites()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1884 if len(sites) == 1:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1885 site = sites[0]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1886 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1887 if self.__currentSite is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1888 if self.__currentSite in sites:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1889 cur = sites.index(self.__currentSite)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1890 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1891 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1892 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1893 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1894 site, ok = QInputDialog.getItem(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1895 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1896 self.tr("Select Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1897 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
1898 sites,
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1899 cur, False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1900 if not ok:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1901 site = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1902 self.__setCurrentSite(site)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1903
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1904 def __sitePath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1905 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1906 Private method to calculate the full path of the Django site.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1907
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1908 @return path of the site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1909 @rtype str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1910 @exception DjangoNoSiteSelectedException raised, if no site is selected
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1911 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1912 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1913 self.__selectSite()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1914
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1915 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1916 raise DjangoNoSiteSelectedException
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1917 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1918 path = os.path.join(self.__ericProject.getProjectPath(),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1919 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
1920 return path
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1921
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1922 def __setCurrentSite(self, site):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1923 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1924 Private slot to set the current site.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1925
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1926 @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
1927 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1928 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1929 self.__currentSite = site
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1930 if self.__currentSite is None:
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1931 curSite = self.tr("None")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1932 elif self.__currentSite == "":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1933 curSite = self.tr("Project")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1934 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1935 curSite = self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1936 self.selectSiteAct.setText(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1937 self.tr('&Current Django project ({0})').format(curSite))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1938
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1939 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
1940 self.__ericProject.setTranslationPattern("")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1941 else:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1942 self.__ericProject.setTranslationPattern(
163
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1943 os.path.join(site, "locale", "%language%", "LC_MESSAGES",
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1944 "django.po")
1622130167bb Fixed a few bugs and code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 161
diff changeset
1945 )
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1946
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1947 def __site(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1948 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1949 Private method to get the name of the current site.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1950
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1951 @return name of the site
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
1952 @rtype str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1953 @exception DjangoNoSiteSelectedException raised, if no site is selected
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1954 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1955 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1956 self.__selectSite()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1957
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1958 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1959 raise DjangoNoSiteSelectedException
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1960 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1961 return self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1962
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1963 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1964 ## slots below implement run functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1965 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1966
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1967 def __runServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1968 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1969 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
1970 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1971 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1972 self.__plugin.getPreferences("ConsoleCommand"))[1]
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1973 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1974 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1975 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
1976 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1977 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1978 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
1979 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
1980 args.append("--ipv6")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1981 if not self.__plugin.getPreferences("UseThreading"):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1982 args.append("--nothreading")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1983 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
1984 if addr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1985 args.append(addr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1986
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1987 with contextlib.suppress(DjangoNoSiteSelectedException):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1988 if Utilities.isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1989 serverProcStarted, pid = QProcess.startDetached(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1990 args[0], args[1:], self.__sitePath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1991 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1992 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
1993 self.__serverProcFinished()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1994
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1995 self.__serverProc = QProcess()
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1996 self.__serverProc.finished.connect(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1997 self.__serverProcFinished)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1998 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
1999 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
2000 serverProcStarted = self.__serverProc.waitForStarted()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2001 if not serverProcStarted:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2002 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2003 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2004 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2005 self.tr('The Django server could not be started.'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2006
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2007 def __serverProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2008 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2009 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
2010 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2011 if (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2012 self.__serverProc is not None and
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2013 self.__serverProc.state() != QProcess.ProcessState.NotRunning
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2014 ):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2015 self.__serverProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2016 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
2017 self.__serverProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2018 self.__serverProc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2019
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2020 def __runBrowser(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2021 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2022 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
2023 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2024 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
2025 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
2026 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
2027 # test for an IPv6 and port address
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
2028 if ']:' in addr:
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
2029 addr, port = addr.rsplit(':', 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
2030 elif ':' in addr:
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
2031 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
2032 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2033 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
2034 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
2035 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
2036 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
2037 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
2038 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2039 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
2040 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
2041 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
2042 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
2043 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
2044 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
2045 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
2046 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
2047 if not res:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2048 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
2049 None,
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
2050 self.tr('Run Web-Browser'),
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
2051 self.tr('Could not start the web-browser for the'
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
2052 ' url "{0}".').format(url.toString()))
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
2053 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
2054 self.__ui.launchHelpViewer(url)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2055
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2056 ##################################################################
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2057 ## 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
2058 ## database names
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2059 ##################################################################
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2060
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2061 def __loadRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2062 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2063 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
2064 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2065 self.__recentDatabaseNames = [""]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2066 Preferences.Prefs.rsettings.sync()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2067 rdb = Preferences.Prefs.rsettings.value(self.RecentDatabaseNamesKey)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2068 if rdb is not None:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2069 maxRecentDatabaseNames = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2070 self.__plugin.getPreferences("RecentNumberDatabaseNames"))
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2071 self.__recentDatabaseNames = rdb[:maxRecentDatabaseNames]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2072
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2073 def __saveRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2074 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2075 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
2076 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2077 Preferences.Prefs.rsettings.setValue(self.RecentDatabaseNamesKey,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2078 self.__recentDatabaseNames)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2079 Preferences.Prefs.rsettings.sync()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2080
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2081 def getRecentDatabaseNames(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2082 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2083 Public method to get the list of recently used database names.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2084
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2085 @return list of recently used database names
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2086 @rtype list of str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2087 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2088 self.__loadRecentDatabaseNames()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2089 return self.__recentDatabaseNames
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2090
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2091 def setMostRecentDatabaseNames(self, dbName):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2092 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2093 Public method to set the most recently used database names.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2094
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2095 @param dbName database name
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2096 @type str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2097 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2098 if dbName in self.__recentDatabaseNames:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2099 self.__recentDatabaseNames.remove(dbName)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2100 self.__recentDatabaseNames.insert(0, dbName)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2101
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2102 maxRecentDatabaseNames = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2103 self.__plugin.getPreferences("RecentNumberDatabaseNames"))
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2104 if len(self.__recentDatabaseNames) > maxRecentDatabaseNames:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2105 self.__recentDatabaseNames = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2106 self.__recentDatabaseNames[:maxRecentDatabaseNames])
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2107 self.__saveRecentDatabaseNames()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2108
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2109 def __selectDatabaseName(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2110 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2111 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
2112 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2113 recentDatabases = self.getRecentDatabaseNames()[:]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2114 if "" not in recentDatabases:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2115 recentDatabases.insert(1, "")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2116
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2117 selectedDatabase, ok = QInputDialog.getItem(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2118 self.__ui,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2119 self.tr("Database Name"),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2120 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
2121 recentDatabases,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2122 0, True)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2123
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2124 if ok:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2125 self.setMostRecentDatabaseNames(selectedDatabase)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2126 self.__setCurrentDatabase(selectedDatabase)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2127
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2128 def __setCurrentDatabase(self, database):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2129 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2130 Private method to set the database name to be used.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2131
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2132 @param database name of the database
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2133 @type str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2134 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2135 if database is None:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2136 database = self.getRecentDatabaseNames()[0]
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2137
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2138 self.__currentDatabase = database
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2139 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
2140 self.selectDatabaseNameAct.setText(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2141 self.tr('&Current Database ({0})').format(curDb))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2142
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2143 def currentDatabase(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2144 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2145 Public method to get the database name to be used.
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2146
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2147 @return database name
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2148 @rtype str
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2149 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2150 return self.__currentDatabase
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2151
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2152 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2153 ## slots below implement database related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2154 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2155
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2156 def __databaseInspect(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2157 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2158 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
2159 module.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2160 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2161 title = self.tr("Introspect Database")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2162
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2163 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2164 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2165 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2166 args.append("inspectdb")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2167 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2168 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
2169
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2170 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2171 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2172 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2173 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2174
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2175 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
2176 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
2177 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2178 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2179
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2180 def __databaseFlush(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2181 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2182 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
2183 their installation.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2184 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2185 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2186 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2187 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2188 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2189
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2190 title = self.tr("Flush Database")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2191
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2192 res = EricMessageBox.yesNo(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2193 self.__ui,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2194 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2195 self.tr("""Flushing the database will destroy all data."""
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2196 """ Are you sure?"""))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2197 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2198 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2199 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2200 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2201 args.append("flush")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2202 args.append("--noinput")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2203 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2204 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
2205
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2206 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2207 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2208 msgSuccess=self.tr("Database tables flushed"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2209 " successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2210 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
2211 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2212 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2213
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2214 def __runDatabaseClient(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2215 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2216 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
2217 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2218 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2219 self.__plugin.getPreferences("ConsoleCommand"))[1]
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2220 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2221 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2222 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
2223 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2224 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2225 args.append("dbshell")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2226 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2227 args.append("--database={0}".format(self.__currentDatabase))
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2228 with contextlib.suppress(DjangoNoSiteSelectedException):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2229 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
2230 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
2231 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
2232 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2233 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2234 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2235 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2236 self.tr('The Django process could not be started.'))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2237
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2238 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2239 ## 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
2240 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2241
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2242 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
2243 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2244 Private method to perform an SQL creation function.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2245
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2246 @param title dialog title
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2247 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2248 @param command Django sql... command
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2249 @type str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2250 @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
2251 to work on
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2252 @type bool
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2253 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2254 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2255 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2256 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2257 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2258
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2259 if requestApps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2260 apps = self.__getApplications()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2261 if not apps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2262 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2263 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2264 apps = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2265
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2266 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2267 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2268 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2269 args.append(command)
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2270 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2271 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
2272 args += apps
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2273
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2274 fileFilter = self.tr("SQL Files (*.sql)")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2275
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2276 dia = DjangoDialog(title, fixed=True, linewrap=False,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2277 saveFilters=fileFilter)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2278 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
2279 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2280 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2281
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2282 def __databaseSqlFlushDatabase(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2283 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2284 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
2285 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
2286 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2287 self.__sqlCommand(self.tr("Flush Database"), "sqlflush", False)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2288
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2289 def __databaseSqlResetSequences(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2290 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2291 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
2292 one or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2293 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2294 self.__sqlCommand(self.tr("Reset Sequences"), "sqlsequencereset")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2295
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2296 def __databaseSqlMigrate(self, backwards=False):
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2297 """
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2298 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
2299 application.
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2300
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2301 @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
2302 a migration
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2303 @type bool
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2304 """
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2305 try:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2306 path = self.__sitePath()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2307 except DjangoNoSiteSelectedException:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2308 return
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2309
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2310 migrations = self.__getMigrations()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2311 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2312 EricMessageBox.information(
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2313 None,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2314 self.tr("SQL Migrate"),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2315 self.tr("""No migrations available."""))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2316 return
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2317
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2318 title = self.tr("SQL Migrate")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2319
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2320 from .DjangoMigrationSelectionDialog import (
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2321 DjangoMigrationSelectionDialog
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2322 )
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2323 dlg = DjangoMigrationSelectionDialog(migrations,
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
2324 migrationRequired=True,
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
2325 suffix=self.__iconSuffix)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2326 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
2327 app, migration = dlg.getData()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2328
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2329 args = []
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2330 args.append(self.__getPythonExecutable())
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2331 args.append("manage.py")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2332 args.append("sqlmigrate")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2333 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2334 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
2335 if backwards:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2336 args.append("--backwards")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2337 args.append(app)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2338 args.append(migration)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2339
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2340 fileFilter = self.tr("SQL Files (*.sql)")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2341
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2342 dia = DjangoDialog(title, fixed=True, linewrap=False,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2343 saveFilters=fileFilter)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2344 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
2345 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2346 dia.exec()
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2347
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2348 ##################################################################
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
2349 ## 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
2350 ##################################################################
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
2351
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
2352 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
2353 """
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
2354 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
2355 """
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
2356 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
2357 path = self.__sitePath()
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
2358 except DjangoNoSiteSelectedException:
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
2359 return
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
2360
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
2361 from .DjangoMigrationsListDialog import DjangoMigrationsListDialog
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
2362 self.__migrationsListDialog = DjangoMigrationsListDialog(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2363 DjangoMigrationsListDialog.MigrationsListMode, self, self.__ui)
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
2364 self.__migrationsListDialog.show()
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2365 self.__migrationsListDialog.start(self.__getPythonExecutable(), path,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2366 self.__currentDatabase)
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
2367
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
2368 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
2369 """
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
2370 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
2371 """
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
2372 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
2373 path = self.__sitePath()
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
2374 except DjangoNoSiteSelectedException:
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
2375 return
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
2376
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
2377 from .DjangoMigrationsListDialog import DjangoMigrationsListDialog
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
2378 self.__migrationsPlanDialog = DjangoMigrationsListDialog(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2379 DjangoMigrationsListDialog.MigrationsPlanMode, self, self.__ui)
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
2380 self.__migrationsPlanDialog.show()
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2381 self.__migrationsPlanDialog.start(self.__getPythonExecutable(), path,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2382 self.__currentDatabase)
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
2383
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2384 def __applyAllMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2385 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2386 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
2387 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2388 self.applyMigrations()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2389
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2390 def __applySelectedMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2391 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2392 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
2393 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2394 migrations = self.__getMigrations()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2395 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2396 EricMessageBox.information(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2397 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2398 self.tr("Apply Selected Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2399 self.tr("""No migrations available."""))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2400 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2401
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2402 from .DjangoMigrationSelectionDialog import (
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2403 DjangoMigrationSelectionDialog
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2404 )
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
2405 dlg = DjangoMigrationSelectionDialog(migrations,
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
2406 suffix=self.__iconSuffix)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2407 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
2408 app, migration = dlg.getData()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2409 self.applyMigrations(app=app, migration=migration)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2410
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2411 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
2412 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2413 Public slot to apply migrations.
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2414
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2415 @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
2416 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2417 @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
2418 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2419 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2420 title = (
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2421 self.tr("Unapply Migrations")
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2422 if migration == "zero" else
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2423 self.tr("Apply Migrations")
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2424 )
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2425
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2426 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2427 path = self.__sitePath()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2428 except DjangoNoSiteSelectedException:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2429 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2430
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2431 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2432 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2433 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2434 args.append("migrate")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2435 args.append("--noinput")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2436 if app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2437 args.append(app)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2438 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2439 args.append(migration)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2440
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2441 dia = DjangoDialog(title)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2442 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2443 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2444 dia.exec()
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2445
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2446 def __unapplyMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2447 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2448 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
2449 """
176
1395e0583f4e Updated version info to indicate relation to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
2450 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
2451 if not apps:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2452 EricMessageBox.information(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2453 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2454 self.tr("Unapply Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2455 self.tr("""No migrations available."""))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2456 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2457
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2458 app, ok = QInputDialog.getItem(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2459 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2460 self.tr("Unapply Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2461 self.tr("Select an application:"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2462 [""] + apps,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2463 0, False)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2464 if ok and app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2465 self.applyMigrations(app=app, migration="zero")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2466
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2467 def __getMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2468 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2469 Private method to get the available migrations.
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2470
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2471 @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
2472 @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
2473 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
2474 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2475 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2476 path = self.__sitePath()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2477 except DjangoNoSiteSelectedException:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2478 return {}
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2479
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2480 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2481 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2482 args.append("showmigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2483 args.append("--list")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2484 if self.__currentDatabase:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2485 args.append("--database={0}".format(self.__currentDatabase))
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2486
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2487 migrations = {}
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2488 proc = QProcess()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2489 if path:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2490 proc.setWorkingDirectory(path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2491 proc.start(self.__getPythonExecutable(), args)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2492 if proc.waitForStarted() and proc.waitForFinished():
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2493 output = str(proc.readAllStandardOutput(),
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2494 Preferences.getSystem("IOEncoding"), 'replace')
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2495 if output:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2496 recentApp = ""
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2497 for line in output.splitlines():
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2498 if not line.startswith(" "):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2499 # application name
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2500 recentApp = line.strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2501 migrations[recentApp] = []
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2502 else:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2503 # migration name
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2504 line = line.strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2505 applied = line[1] != " "
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2506 name = line[3:].strip()
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2507 if recentApp:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2508 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
2509 return migrations
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2510
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2511 def __makeMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2512 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2513 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
2514 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2515 from .DjangoMakeMigrationsDialog import DjangoMakeMigrationsDialog
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2516 dlg = DjangoMakeMigrationsDialog(self.getRecentApplications())
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2517 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2518 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
2519 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2520 self.setMostRecentApplication(apps)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2521 apps = apps.split()
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2522 self.makeMigrations(apps, migration, dryRun, empty, merge)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2523
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2524 def makeMigrations(self, apps, migration=None, dryRun=False, empty=False,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2525 merge=False):
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2526 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2527 Public method to generate migrations.
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2528
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2529 @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
2530 @type list of str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2531 @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
2532 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2533 @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
2534 @type bool
104
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2535 @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
2536 @type bool
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2537 @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
2538 @type bool
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2539 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2540 title = self.tr("Make Migrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2541
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2542 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2543 path = self.__sitePath()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2544 except DjangoNoSiteSelectedException:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2545 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2546
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2547 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2548 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2549 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2550 args.append("makemigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2551 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2552 args.append("--name")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2553 args.append(migration.replace(" ", "_"))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2554 if dryRun:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2555 args.append("--dry-run")
104
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2556 if empty:
4cd211a73b3e Added functionality to create an empty migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
2557 args.append("--empty")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2558 if merge:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2559 args.append("--merge")
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2560 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2561 args += apps
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2562
102
7e2351e4d729 Added functionality to enter data to be sent to the Django process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 96
diff changeset
2563 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
2564 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2565 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2566 dia.exec()
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2567
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2568 def __squashMigrations(self):
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2569 """
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2570 Private slot to squash migrations.
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2571 """
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2572 migrations = self.__getMigrations()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2573 if not migrations:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2574 EricMessageBox.information(
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2575 None,
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2576 self.tr("Squash Migrations"),
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2577 self.tr("""No migrations available."""))
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2578 return
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2579
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2580 from .DjangoSquashMigrationSelectionDialog import (
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2581 DjangoSquashMigrationSelectionDialog
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2582 )
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2583 dlg = DjangoSquashMigrationSelectionDialog(
148
4cb7aa43845d Replaced pixmap icons by vector icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 146
diff changeset
2584 migrations, self, self.__iconSuffix)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2585 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2586 app, start, end, noOptimize, name = dlg.getData()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2587
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2588 title = self.tr("Squash Migrations")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2589
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2590 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2591 path = self.__sitePath()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2592 except DjangoNoSiteSelectedException:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2593 return
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2594
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2595 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2596 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2597 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2598 args.append("squashmigrations")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2599 args.append("--noinput")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2600 if noOptimize:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2601 args.append("--no-optimize")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2602 if name:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2603 args.append("--squashed-name={0}".format(name))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2604 args.append(app)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2605 if start:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2606 args.append(start)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2607 args.append(end)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2608
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2609 dia = DjangoDialog(title)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2610 res = dia.startProcess(args, path)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2611 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2612 dia.exec()
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2613
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
2614 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2615 ## slots below implement some tool functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2616 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2617
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2618 def __diffSettings(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2619 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2620 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
2621 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2622 title = self.tr("Diff Settings")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2623
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2624 from .DjangoDiffsettingsDataDialog import DjangoDiffsettingsDataDialog
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2625 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
2626 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2627 showAll, defaultModule, outputFormat = dlg.getData()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2628
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2629 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2630 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2631 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2632 args.append("diffsettings")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2633 if showAll:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2634 args.append("--all")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2635 if defaultModule:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2636 args.append("--default={0}".format(defaultModule))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2637 if outputFormat:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2638 args.append("--output={0}".format(outputFormat))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2639
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2640 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2641 path = self.__sitePath()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2642 except DjangoNoSiteSelectedException:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2643 return
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2644
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2645 dia = DjangoDialog(title, fixed=True, linewrap=False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2646 res = dia.startProcess(args, path, False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2647 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2648 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2649
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2650 def __runPythonShell(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2651 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2652 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
2653 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2654 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2655 self.__plugin.getPreferences("ConsoleCommand"))[1]
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2656 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2657 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2658 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
2659 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2660 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2661 args.append("shell")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2662 args.append("--interface={0}".format(
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2663 self.__plugin.getPreferences("Python3ConsoleType")))
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2664 with contextlib.suppress(DjangoNoSiteSelectedException):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2665 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
2666 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
2667 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
2668 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2669 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2670 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2671 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2672 self.tr('The Django process could not be started.'))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2673
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2674 def __sendTestEmail(self):
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2675 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2676 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
2677 """
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2678 title = self.tr("Send Test Email")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2679
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2680 from .DjangoSendTestEmailDataDialog import (
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2681 DjangoSendTestEmailDataDialog
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2682 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2683 dlg = DjangoSendTestEmailDataDialog(self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2684 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2685 managers, admins, recipients = dlg.getData()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2686
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2687 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2688 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2689 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2690 args.append("sendtestemail")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2691 if managers:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2692 args.append("--managers")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2693 if admins:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2694 args.append("--admins")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2695 args.extend(recipients)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2696
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2697 try:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2698 path = self.__sitePath()
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2699 except DjangoNoSiteSelectedException:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2700 return
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2701
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2702 dia = DjangoDialog(
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2703 title,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2704 linewrap=False,
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2705 msgSuccess=self.tr("Test Email sent successfully."),
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2706 msgError=self.tr("Test Email could not be sent.")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2707 )
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2708 res = dia.startProcess(args, path, False)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2709 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2710 dia.exec()
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2711
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2712 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2713 ## slots below implement caching functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2714 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2715
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2716 def __createCacheTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2717 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2718 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
2719 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2720 title = self.tr("Create Cache Tables")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2721
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2722 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2723 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2724 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2725 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2726
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2727 args = []
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2728 args.append(self.__getPythonExecutable())
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2729 args.append("manage.py")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2730 args.append("createcachetable")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2731 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2732 args.append("--database={0}".format(self.__currentDatabase))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2733
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2734 dia = DjangoDialog(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2735 title,
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2736 msgSuccess=self.tr("Cache tables created successfully."))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2737 res = dia.startProcess(args, wd)
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2738 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2739 dia.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2740
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2741 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2742 ## slots below implement testing functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2743 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2744
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2745 def __dumpData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2746 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2747 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
2748 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2749 title = self.tr("Dump Data")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2750
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2751 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2752 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2753 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2754 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2755
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2756 from .DjangoDumpdataDataDialog import DjangoDumpdataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2757 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
2758 if dlg.exec() == QDialog.DialogCode.Accepted:
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
2759 appls, excls, dumpFormat, indent = dlg.getData()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2760
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2761 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2762 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2763 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2764 args.append("dumpdata")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
2765 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
2766 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
2767 for excl in excls:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2768 args.append("--exclude={0}".format(excl))
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2769 if self.__currentDatabase:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2770 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
2771 args += appls
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2772
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
2773 if dumpFormat == "json":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2774 fileFilters = self.tr("JSON Files (*.json)")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
2775 elif dumpFormat == "xml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2776 fileFilters = self.tr("XML Files (*.xml)")
96
8ecf7b5a134a Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
2777 elif dumpFormat == "yaml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2778 fileFilters = self.tr("YAML Files (*.yaml)")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2779
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2780 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2781 title, fixed=True, linewrap=False, saveFilters=fileFilters)
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2782 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
2783 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2784 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2785
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2786 def __loadData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2787 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2788 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
2789 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2790 title = self.tr("Load Data")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2791
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2792 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2793 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2794 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2795 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2796
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2797 from .DjangoLoaddataDataDialog import DjangoLoaddataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2798 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
2799 if dlg.exec() == QDialog.DialogCode.Accepted:
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2800 fixtures, excludes, appLabel, ignore = dlg.getData()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2801
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2802 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2803 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2804 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2805 args.append("loaddata")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2806 for excl in excludes:
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2807 args.append("--exclude={0}".format(excl))
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2808 if ignore:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2809 args.append("--ignorenonexistent")
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2810 if appLabel:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2811 args.append("--app={0}".format(appLabel))
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2812 if self.__currentDatabase:
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2813 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
2814 args += fixtures
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2815
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2816 dia = DjangoDialog(title)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2817 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
2818 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
2819 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2820
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
2821 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
2822 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2823 Private slot to run the test suite for applications or the whole site.
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
2824
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
2825 @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
2826 @type bool
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2827 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2828 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2829 self.__plugin.getPreferences("ConsoleCommandNoClose"))[1]
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2830 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2831 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2832 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2833 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2834 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2835
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
2836 from .DjangoTestDataDialog import DjangoTestDataDialog
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
2837 dlg = DjangoTestDataDialog(
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 115
diff changeset
2838 self, self.__plugin.getPreferences("KeepTestDatabase"),
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 115
diff changeset
2839 self.__ui)
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2840 if dlg.exec() == QDialog.DialogCode.Accepted:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2841 labels, pattern, tags, excludeTags, keep, reverse = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2842 dlg.getData())
110
da5ee5012004 Added a dialog to enter data for running Django unit tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
2843
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
2844 self.__plugin.setPreferences("KeepTestDatabase", keep)
5c6209f8abf0 Added capability to save the last state of the "Keep Test Database" flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 115
diff changeset
2845
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2846 args = Utilities.parseOptionString(consoleCmd)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2847 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
2848 args.append(self.__getPythonExecutable())
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2849 if deprecation:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2850 args.append("-Wall")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2851 args.append("manage.py")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2852 args.append("test")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2853 if pattern:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2854 args.append("--pattern=" + pattern)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2855 for tag in tags:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2856 args.append("--tag=" + tag)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2857 for tag in excludeTags:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2858 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
2859 if keep:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2860 args.append("--keepdb")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2861 if reverse:
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2862 args.append("--reverse")
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2863 args.extend(labels)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2864
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2865 self.__adjustWorkingDirectory(args, wd)
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2866 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
2867 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2868 EricMessageBox.critical(
113
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2869 None,
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2870 self.tr('Process Generation Error'),
9b7adb12b409 Fixed some stupid bugs introduced by the last extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 110
diff changeset
2871 self.tr('The Django process could not be started.'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2872
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2873 def __runTestServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2874 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2875 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
2876 fixtures.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2877 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2878 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2879 self.__plugin.getPreferences("ConsoleCommand"))[1]
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2880 if consoleCmd:
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2881 from .DjangoRunTestServerDataDialog import (
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2882 DjangoRunTestServerDataDialog
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2883 )
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2884 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
2885 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
2886 fixtures = dlg.getData()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2887
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2888 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2889 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
2890 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2891 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2892 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
2893 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
2894 args.append("--ipv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2895 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
2896 if addr:
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2897 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
2898 args += fixtures
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2899
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2900 with contextlib.suppress(DjangoNoSiteSelectedException):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2901 if Utilities.isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2902 serverProcStarted, pid = QProcess.startDetached(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2903 args[0], args[1:], self.__sitePath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2904 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2905 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
2906 self.__testServerProcFinished()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2907
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2908 self.__testServerProc = QProcess()
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2909 self.__testServerProc.finished.connect(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2910 self.__serverProcFinished)
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2911 self.__testServerProc.setWorkingDirectory(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2912 self.__sitePath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2913 self.__testServerProc.start(args[0], args[1:])
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2914 serverProcStarted = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2915 self.__testServerProc.waitForStarted())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2916 if not serverProcStarted:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2917 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2918 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2919 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2920 self.tr('The Django test server could not be'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2921 ' started.'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2922
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2923 def __testServerProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2924 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2925 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
2926 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2927 if (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2928 self.__testServerProc is not None and
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2929 self.__testServerProc.state() != QProcess.ProcessState.NotRunning
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
2930 ):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2931 self.__testServerProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2932 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
2933 self.__testServerProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2934 self.__testServerProc = None
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2935
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2936 ##################################################################
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2937 ## slots below implement authorization functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2938 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2939
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2940 def __changePassword(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2941 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2942 Private slot to change the password of a user.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2943 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2944 consoleCmd = self.__isSpawningConsole(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2945 self.__plugin.getPreferences("ConsoleCommandNoClose"))[1]
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2946 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2947 userName, ok = QInputDialog.getText(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2948 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2949 self.tr("Change Password"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2950 self.tr("Enter the name of the user:"),
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2951 QLineEdit.EchoMode.Normal)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2952 if ok and userName != "":
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2953 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2954 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2955 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2956 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2957 args.append("changepassword")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2958 args.append(userName)
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2959 with contextlib.suppress(DjangoNoSiteSelectedException):
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2960 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
2961 self.__adjustWorkingDirectory(args, wd)
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2962 started, pid = QProcess.startDetached(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2963 args[0], args[1:], wd)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2964 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2965 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2966 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2967 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2968 self.tr('The Django process could not be'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2969 ' started.'))
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2970
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2971 def __createSuperUser(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2972 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2973 Private slot to create a super user account.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2974 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2975 consoleCmd = self.__isSpawningConsole(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2976 self.__plugin.getPreferences("ConsoleCommandNoClose"))[1]
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2977 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2978 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2979 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2980 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2981 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2982 args.append("createsuperuser")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2983 with contextlib.suppress(DjangoNoSiteSelectedException):
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2984 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
2985 self.__adjustWorkingDirectory(args, wd)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2986 started, pid = QProcess.startDetached(args[0], args[1:], wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2987 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
2988 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2989 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2990 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2991 self.tr('The Django process could not be started.'))
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2992
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2993 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2994 ## slots below implement session functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2995 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2996
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2997 def __clearSessions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2998 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2999 Private slot to clear expired sessions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3000 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3001 title = self.tr("Clear Sessions")
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3002
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3003 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3004 wd = self.__sitePath()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3005 except DjangoNoSiteSelectedException:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3006 return
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3007
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3008 args = []
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3009 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3010 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3011 args.append("clearsessions")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3012
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3013 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3014 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3015 msgSuccess=self.tr("Expired sessions cleared successfully."))
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3016 res = dia.startProcess(args, wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3017 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3018 dia.exec()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3019
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
3020 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3021 ## slots below implement translation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3022 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3023
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3024 def __getLocale(self, filename):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3025 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3026 Private method to extract the locale out of a file name.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3027
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3028 @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
3029 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3030 @return extracted locale or None
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3031 @rtype str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3032 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3033 if self.__ericProject.getTranslationPattern():
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3034 pattern = (
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3035 self.__ericProject.getTranslationPattern()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3036 .replace("%language%", "(.*?)")
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3037 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3038 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
3039 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
3040 loc = match.group(1)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3041 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3042 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3043 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3044 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3045 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3046
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3047 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3048
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3049 def __normalizeList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3050 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3051 Private method to normalize a list of file names.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3052
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3053 @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
3054 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3055 @return normalized file names
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3056 @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
3057 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3058 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3059 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3060 if filename.endswith(".mo"):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3061 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
3062 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
3063 nfilenames.append(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3064
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3065 return nfilenames
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3066
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3067 def __siteFilteredList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3068 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3069 Private method to filter a list of file names by site.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3070
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3071 @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
3072 @type list of str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3073 @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
3074 @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
3075 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3076 site = self.__site()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3077 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3078 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3079 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
3080 nfilenames.append(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3081
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3082 return nfilenames
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3083
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3084 def __projectLanguageAdded(self, code):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3085 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3086 Private slot handling the addition of a new language.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3087
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3088 @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
3089 @type str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3090 """
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3091 title = (
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3092 self.tr("Initializing message catalog for '{0}'")
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3093 .format(code)
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3094 )
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3095
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3096 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3097 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3098 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3099 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3100 args.append("--locale={0}".format(code))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3101
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3102 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3103 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3104 except DjangoNoSiteSelectedException:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3105 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3106 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3107 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3108 self.tr('No current site selected or no site created yet.'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3109 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3110 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3111
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3112 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3113 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3114 msgSuccess=self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3115 "\nMessage catalog initialized successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3116 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
3117 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3118 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3119
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3120 langFile = (
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3121 self.__ericProject.getTranslationPattern()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3122 .replace("%language%", code)
161
208fced62e00 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 159
diff changeset
3123 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3124 self.__ericProject.appendFile(langFile)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3125
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3126 def updateSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3127 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3128 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3129
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3130 @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
3131 @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
3132 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3133 title = self.tr("Updating message catalogs")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3134
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3135 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3136 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3137 except DjangoNoSiteSelectedException:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3138 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3139 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3140 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3141 self.tr('No current site selected or no site created yet.'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3142 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3143 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3144
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3145 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3146
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3147 for filename in self.__normalizeList(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3148 self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3149 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3150 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3151 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3152 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3153 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3154 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3155 args.append("--no-obsolete")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3156 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
3157 argsLists.append(args)
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 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3160 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3161 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3162 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3163 self.tr('No locales detected. Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3164 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3165
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3166 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3167 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3168 msgSuccess=self.tr("\nMessage catalogs updated successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3169 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
3170 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3171 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3172
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3173 def updateSelectedCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3174 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3175 Public method to update the message catalogs keeping obsolete messages.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3176
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3177 @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
3178 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3179 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3180 title = self.tr("Updating message catalogs (keeping obsolete"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3181 " messages)")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3182
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3183 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3184 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3185 except DjangoNoSiteSelectedException:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3186 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3187 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3188 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3189 self.tr('No current site selected or no site created yet.'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3190 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3191 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3192
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3193 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3194
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3195 for filename in self.__normalizeList(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3196 self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3197 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3198 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3199 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3200 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3201 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3202 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3203 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
3204 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3205
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3206 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3207 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3208 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3209 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3210 self.tr('No locales detected. Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3211 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3212
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3213 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3214 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3215 msgSuccess=self.tr("\nMessage catalogs updated successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3216 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
3217 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3218 dia.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3219
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3220 def updateCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3221 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3222 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3223
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3224 @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
3225 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3226 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3227 title = self.tr("Updating message catalogs")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3228
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3229 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3230 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3231 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3232 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3233 args.append("--all")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3234 args.append("--no-obsolete")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3235
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3236 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3237 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3238 except DjangoNoSiteSelectedException:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3239 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3240 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3241 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3242 self.tr('No current site selected or no site created yet.'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3243 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3244 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3245
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3246 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3247 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3248 msgSuccess=self.tr("\nMessage catalogs updated successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3249 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
3250 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3251 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3252
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3253 def updateCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3254 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3255 Public method to update the message catalogs keeping obsolete messages.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3256
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3257 @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
3258 @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
3259 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3260 title = self.tr("Updating message catalogs (keeping obsolete"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3261 " messages)")
2
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 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3264 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3265 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3266 args.append("makemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3267 args.append("--all")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3268
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3269 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3270 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3271 except DjangoNoSiteSelectedException:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3272 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3273 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3274 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3275 self.tr('No current site selected or no site created yet.'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3276 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3277 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3278
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3279 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3280 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3281 msgSuccess=self.tr("\nMessage catalogs updated successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3282 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
3283 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3284 dia.exec()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3285
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3286 def compileSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3287 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3288 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3289
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3290 @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
3291 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3292 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3293 title = self.tr("Compiling message catalogs")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3294
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3295 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3296 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3297 except DjangoNoSiteSelectedException:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3298 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3299 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3300 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3301 self.tr('No current site selected or no site created yet.'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3302 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3303 return
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 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3306
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3307 for filename in self.__normalizeList(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3308 self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3309 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3310 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3311 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3312 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3313 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3314 args.append("compilemessages")
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
3315 args.append("--locale={0}".format(locale))
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3316 if self.__plugin.getPreferences("FuzzyTranslations"):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3317 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
3318 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3319
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3320 if len(argsLists) == 0:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3321 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3322 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3323 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3324 self.tr('No locales detected. Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3325 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3326
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3327 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3328 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3329 msgSuccess=self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3330 "\nMessage catalogs compiled successfully."))
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3331 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
3332 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3333 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3334
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3335 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
3336 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
3337 fullName = os.path.join(entry[0], fileName)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3338 if fullName.endswith('.mo'):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3339 self.__ericProject.appendFile(fullName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3340
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3341 def compileCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3342 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3343 Public method to compile the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3344
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3345 @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
3346 @type list of str
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3347 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3348 title = self.tr("Compiling message catalogs")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3349
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3350 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3351 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3352 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3353 args.append("compilemessages")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3354 if self.__plugin.getPreferences("FuzzyTranslations"):
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
3355 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
3356
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3357 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3358 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3359 except DjangoNoSiteSelectedException:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3360 EricMessageBox.warning(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3361 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3362 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3363 self.tr('No current site selected or no site created yet.'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3364 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3365 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3366
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3367 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3368 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3369 msgSuccess=self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3370 "\nMessage catalogs compiled successfully."))
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3371 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
3372 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3373 dia.exec()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3374
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3375 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
3376 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
3377 fullName = os.path.join(entry[0], fileName)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3378 if fullName.endswith('.mo'):
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3379 self.__ericProject.appendFile(fullName)
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
3380
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3381 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
3382 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3383 Public method to edit the given file in an external .po 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
3384
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3385 @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
3386 @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
3387 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3388 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
3389 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
3390 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
3391 wd = self.__sitePath()
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3392 except DjangoNoSiteSelectedException:
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3393 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
3394 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
3395 if not started:
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3396 EricMessageBox.critical(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3397 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3398 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3399 self.tr('The translations editor process ({0}) could'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3400 ' not be started.')
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3401 .format(os.path.basename(editor)))
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3402
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3403 ##################################################################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3404 ## slots below implement check functions
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3405 ##################################################################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3406
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3407 def __performCheck(self):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3408 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3409 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
3410 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3411 try:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3412 path = self.__sitePath()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3413 except DjangoNoSiteSelectedException:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3414 return
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3415
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3416 from .DjangoCheckOptionsDialog import DjangoCheckOptionsDialog
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3417 dlg = DjangoCheckOptionsDialog(
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3418 self.__getPythonExecutable(), path, self.getRecentApplications(),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3419 self.__plugin.getPreferences("CheckDeployMode"),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3420 )
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
3421 if dlg.exec() == QDialog.DialogCode.Accepted:
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3422 deploy, tags, appsStr, settingsFile = dlg.getData()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3423 self.__plugin.setPreferences("CheckDeployMode", deploy)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3424 if appsStr != "":
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3425 self.setMostRecentApplication(appsStr)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3426 apps = appsStr.split()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3427
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3428 args = []
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3429 args.append(self.__getPythonExecutable())
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3430 args.append("manage.py")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3431 args.append("check")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3432 for tag in tags:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3433 args.append("--tag")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3434 args.append(tag)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3435 if deploy:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3436 args.append("--deploy")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3437 if settingsFile:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3438 args.append("--settings={0}".format(settingsFile))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3439 args += apps
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3440
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3441 dia = DjangoDialog(self.tr("Check Project"))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3442 res = dia.startProcess(args, path, mergedOutput=True)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3443 if res:
165
80afe6639c6c Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 163
diff changeset
3444 dia.exec()

eric ide

mercurial