ProjectDjango/Project.py

Tue, 20 Dec 2016 16:15:21 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 20 Dec 2016 16:15:21 +0100
changeset 78
5822c2e2b1c7
parent 77
f8e92eaaba6e
child 80
34b6482eb9f6
permissions
-rw-r--r--

Added support for the check command.

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
63
f9b4ceeb0fdc Updated copyright for 2016.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
3 # Copyright (c) 2013 - 2016 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
47
19da3417eb3d Added the Python2 compatibility flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
10 from __future__ import unicode_literals
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
11 try:
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
12 str = unicode # __IGNORE_WARNING__
47
19da3417eb3d Added the Python2 compatibility flag.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 40
diff changeset
13 except NameError:
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
14 pass
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
15
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 import sys
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 import os
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
18 import re
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
19 import shutil
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
21 from PyQt5.QtCore import QObject, QTimer, QUrl, QFileInfo
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
22 from PyQt5.QtGui import QDesktopServices
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
23 from PyQt5.QtWidgets import QMenu, QInputDialog, QLineEdit, QDialog
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
24 from PyQt5.QtCore import QProcess as QProcessPyQt
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 from E5Gui.E5Application import e5App
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
27 from E5Gui import E5MessageBox, E5FileDialog
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 from E5Gui.E5Action import E5Action
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
30 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
31
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 from .DjangoDialog import DjangoDialog
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 import Preferences
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 import Utilities
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
36 import UI.PixmapCache
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
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 class DjangoNoSiteSelectedException(Exception):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 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
42 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 pass
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
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
46 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
47 """
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 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
49 """
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
50 def start(self, cmd, args=[], mode=QProcessPyQt.ReadWrite):
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
51 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
52 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
53 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
54
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 @param cmd start the given program cmd (string)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
56 @keyparam args list of parameters (list of strings)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
57 @keyparam mode access mode (QIODevice.OpenMode)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
58 """
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
59 if cmd.endswith('gnome-terminal') and args[0] == '-e':
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
60 args = ['-e', ' '.join(args[1:])]
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
61
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
62 super(QProcess, self).start(cmd, args, mode)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
63
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
64 @staticmethod
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
65 def 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
66 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
67 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
68 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
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 @param cmd start the given program cmd (string)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
71 @keyparam args list of parameters (list of strings)
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 @keyparam path new working directory (string)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
73 @return tuple of successful start and process id (boolean, integer)
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
74 """
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 if cmd.endswith('gnome-terminal') and args[0] == '-e':
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
76 args = ['-e', ' '.join(args[1:])]
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
77
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
78 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
79
47709d773da5 Show version of Django under Windows. Call of terminals (gnome) fixed for Linux.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 26
diff changeset
80
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 class Project(QObject):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 Class implementing the Django project support.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 RecentApplicationsKey = "Django/RecentApplications"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 def __init__(self, plugin, parent=None):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Constructor
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @param plugin reference to the plugin object
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 @param parent parent (QObject)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
94 super(Project, self).__init__(parent)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 self.__plugin = plugin
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 self.__ui = parent
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.__e5project = e5App().getObject("Project")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.__hooksInstalled = False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100
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
101 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
102
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.__serverProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 self.__testServerProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 self.__loadRecentApplications()
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 def initActions(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 """
11
5eda53fad138 Fixed a few bugs (copy-paste issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
111 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
112 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.actions = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
115 self.selectSiteAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
116 self.tr('Current Project'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
117 "",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
118 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
119 self, 'django_current_project')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
120 self.selectSiteAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 'Selects the current project'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
122 self.selectSiteAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """<b>Current Project</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 """<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
125 """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
126 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
127 self.selectSiteAct.triggered.connect(self.__selectSite)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 self.actions.append(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 self.__setCurrentSite(None)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 ## start actions below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
135 self.startProjectAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
136 self.tr('Start Project'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
137 self.tr('Start &Project'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
138 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
139 self, 'django_start_project')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
140 self.startProjectAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 'Starts a new Django project'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
142 self.startProjectAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 """<b>Start Project</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
144 """<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
145 """ startproject".</p>"""
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
147 self.startProjectAct.triggered.connect(self.__startProject)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 self.actions.append(self.startProjectAct)
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.startGlobalApplicationAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
151 self.tr('Start Application (global)'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
152 self.tr('Start Application (&global)'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
153 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
154 self, 'django_start_global_application')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
155 self.startGlobalApplicationAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 'Starts a new global Django application'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
157 self.startGlobalApplicationAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 """<b>Start Application (global)</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 """<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
160 """ "django-admin.py startapp".</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
162 self.startGlobalApplicationAct.triggered.connect(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 self.__startGlobalApplication)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 self.actions.append(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 self.startLocalApplicationAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
167 self.tr('Start Application (local)'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
168 self.tr('Start Application (&local)'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
169 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
170 self, 'django_start_local_application')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
171 self.startLocalApplicationAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 'Starts a new local Django application'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
173 self.startLocalApplicationAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 """<b>Start Application (local)</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 """<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
176 """ "manage.py startapp".</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
178 self.startLocalApplicationAct.triggered.connect(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 self.__startLocalApplication)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 self.actions.append(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
182 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
183 ## run actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
184 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
185
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
186 self.runServerAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
187 self.tr('Run Server'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
188 self.tr('Run &Server'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
189 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
190 self, 'django_run_server')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
191 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
192 'Starts the Django Web server'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
193 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
194 """<b>Run Server</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
195 """<p>Starts the Django Web server using "manage.py"""
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
196 """ runserver".</p>"""
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
197 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
198 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
199 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
200
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
201 self.runBrowserAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
202 self.tr('Run Web-Browser'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
203 self.tr('Run &Web-Browser'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
204 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
205 self, 'django_run_browser')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
206 self.runBrowserAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
207 '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
208 ' server'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
209 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
210 """<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
211 """<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
212 """Django Web server.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
213 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
214 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
215 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
216
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
217 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
218 ## caching actions below ##
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
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
221 self.createCacheTableAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
222 self.tr('Create Cache Tables'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
223 self.tr('C&reate Cache Tables'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
224 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
225 self, 'django_create_cache_tables')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
226 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
227 '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
228 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
229 """<b>Create Cache Tables</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
230 """<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
231 """ backend.</p>"""
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
232 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
233 self.createCacheTableAct.triggered.connect(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
234 self.__createCacheTables)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
235 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
236
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 ## help action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
241 self.helpAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
242 self.tr('Help'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
243 self.tr('&Help'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
244 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
245 self, 'django_help')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
246 self.helpAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 'Shows the Django help index'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
248 self.helpAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 """<b>Help</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 """<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
251 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
252 self.helpAct.triggered.connect(self.__showHelpIndex)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 self.actions.append(self.helpAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 ## about action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
259 self.aboutDjangoAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
260 self.tr('About Django'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
261 self.tr('About D&jango'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
262 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
263 self, 'django_about')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
264 self.aboutDjangoAct.setStatusTip(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 'Shows some information about Django'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
266 self.aboutDjangoAct.setWhatsThis(self.tr(
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 """<b>About Django</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 """<p>Shows some information about Django.</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
270 self.aboutDjangoAct.triggered.connect(self.__djangoInfo)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 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
272
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
273 ##############################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
274 ## check action below ##
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
275 ##############################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
276
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
277 self.checkAct = E5Action(
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
278 self.tr('Check Project'),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
279 self.tr('Check Project'),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
280 0, 0,
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
281 self, 'django_check_project')
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
282 self.checkAct.setStatusTip(self.tr(
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
283 'Inspects the Django project for common problems'))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
284 self.checkAct.setWhatsThis(self.tr(
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
285 """<b>Check Project</b>"""
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
286 """<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
287 ))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
288 self.checkAct.triggered.connect(self.__performCheck)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
289 self.actions.append(self.checkAct)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
290
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
291 self.__initDatabaseActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
292 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
293 self.__initMigrationActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
294 self.__initToolsActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
295 self.__initTestingActions()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
296 self.__initAuthorizationActions()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
297 self.__initSessionActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
298
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
299 def __initDatabaseActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
300 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
301 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
302 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
303 self.syncDatabaseAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
304 self.tr('Synchronize'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
305 self.tr('&Synchronize'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
306 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
307 self, 'django_database_syncdb')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
308 self.syncDatabaseAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
309 'Synchronizes the database'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
310 self.syncDatabaseAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
311 """<b>Synchronize</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
312 """<p>Synchronizes the database.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
313 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
314 self.syncDatabaseAct.triggered.connect(self.__databaseSynchronize)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
315 self.actions.append(self.syncDatabaseAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
316
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
317 self.inspectDatabaseAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
318 self.tr('Introspect'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
319 self.tr('&Introspect'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
320 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
321 self, 'django_database_inspect')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
322 self.inspectDatabaseAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
323 'Introspects the database tables and outputs a Django model'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
324 ' module'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
325 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
326 """<b>Introspect</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
327 """<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
328 """Django model module.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
329 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
330 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
331 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
332
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
333 self.flushDatabaseAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
334 self.tr('Flush'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
335 self.tr('&Flush'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
336 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
337 self, 'django_database_flush')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
338 self.flushDatabaseAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
339 '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
340 ' installation'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
341 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
342 """<b>Flush</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
343 """<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
344 """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
345 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
346 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
347 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
348
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
349 self.databaseClientAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
350 self.tr('Start Client Console'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
351 self.tr('Start &Client Console'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
352 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
353 self, 'django_database_client')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
354 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
355 '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
356 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
357 """<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
358 """<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
359 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
360 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
361 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
362
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
363 def __initDatabaseSqlActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
364 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
365 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
366 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
367 self.databaseSqlCreateTablesAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
368 self.tr('Create Tables'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
369 self.tr('Create &Tables'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
370 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
371 self, 'django_database_sql_create_tables')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
372 self.databaseSqlCreateTablesAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
373 'Prints the CREATE TABLE SQL statements for one or more'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
374 ' applications'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
375 self.databaseSqlCreateTablesAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
376 """<b>Create Tables</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
377 """<p>Prints the CREATE TABLE SQL statements for one or """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
378 """more applications.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
379 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
380 self.databaseSqlCreateTablesAct.triggered.connect(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
381 self.__databaseSqlCreateTables)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
382 self.actions.append(self.databaseSqlCreateTablesAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
383
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
384 self.databaseSqlCreateIndexesAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
385 self.tr('Create Indexes'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
386 self.tr('Create &Indexes'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
387 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
388 self, 'django_database_sql_create_indexes')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
389 self.databaseSqlCreateIndexesAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
390 'Prints the CREATE INDEX SQL statements for one or more'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
391 ' applications'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
392 self.databaseSqlCreateIndexesAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
393 """<b>Create Indexes</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
394 """<p>Prints the CREATE INDEX SQL statements for one or """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
395 """more applications.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
396 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
397 self.databaseSqlCreateIndexesAct.triggered.connect(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
398 self.__databaseSqlCreateIndexes)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
399 self.actions.append(self.databaseSqlCreateIndexesAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
400
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
401 self.databaseSqlCreateEverythingAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
402 self.tr('Create Everything'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
403 self.tr('Create &Everything'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
404 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
405 self, 'django_database_sql_create_everything')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
406 self.databaseSqlCreateEverythingAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
407 'Prints the CREATE ... SQL statements for one or more'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
408 ' applications'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
409 self.databaseSqlCreateEverythingAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
410 """<b>Create Everything</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
411 """<p>Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
412 """statements for 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
413 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
414 self.databaseSqlCreateEverythingAct.triggered.connect(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
415 self.__databaseSqlCreateEverything)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
416 self.actions.append(self.databaseSqlCreateEverythingAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
417
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
418 self.databaseSqlCustomAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
419 self.tr('Custom Statements'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
420 self.tr('&Custom Statements'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
421 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
422 self, 'django_database_sql_custom')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
423 self.databaseSqlCustomAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
424 'Prints the custom table modifying SQL statements for '
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
425 'one or more applications'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
426 self.databaseSqlCustomAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
427 """<b>Custom Statements</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
428 """<p>Prints the custom table modifying SQL statements """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
429 """for 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
430 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
431 self.databaseSqlCustomAct.triggered.connect(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
432 self.__databaseSqlCustom)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
433 self.actions.append(self.databaseSqlCustomAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
434
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
435 self.databaseSqlDropTablesAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
436 self.tr('Drop Tables'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
437 self.tr('&Drop Tables'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
438 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
439 self, 'django_database_sql_drop_tables')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
440 self.databaseSqlDropTablesAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
441 'Prints the DROP TABLE SQL statements for '
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
442 'one or more applications'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
443 self.databaseSqlDropTablesAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
444 """<b>Drop Tables</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
445 """<p>Prints the DROP TABLE SQL statements """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
446 """for 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
447 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
448 self.databaseSqlDropTablesAct.triggered.connect(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
449 self.__databaseSqlDropTables)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
450 self.actions.append(self.databaseSqlDropTablesAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
451
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
452 self.databaseSqlDropIndexesAct = E5Action(
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
453 self.tr('Drop Indexes'),
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
454 self.tr('&Drop Indexes'),
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
455 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
456 self, 'django_database_sql_drop_indexes')
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
457 self.databaseSqlDropIndexesAct.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
458 'Prints the DROP INDEX SQL statements for '
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
459 'one or more applications'))
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
460 self.databaseSqlDropIndexesAct.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
461 """<b>Drop Indexes</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
462 """<p>Prints the DROP INDEX SQL statements """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
463 """for one or more applications.</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
464 ))
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
465 self.databaseSqlDropIndexesAct.triggered.connect(
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
466 self.__databaseSqlDropIndexes)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
467 self.actions.append(self.databaseSqlDropIndexesAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
468
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
469 self.databaseSqlFlushAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
470 self.tr('Flush Database'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
471 self.tr('&Flush Database'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
472 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
473 self, 'django_database_sql_flush_database')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
474 self.databaseSqlFlushAct.setStatusTip(self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
475 '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
476 ' state just after their installation'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
477 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
478 """<b>Flush Database</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
479 """<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
480 """ 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
481 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
482 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
483 self.__databaseSqlFlushDatabase)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
484 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
485
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
486 self.databaseSqlResetSeqAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
487 self.tr('Reset Sequences'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
488 self.tr('Reset &Sequences'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
489 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
490 self, 'django_database_sql_reset_sequences')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
491 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
492 '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
493 'one or more applications'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
494 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
495 """<b>Reset Sequences</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
496 """<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
497 """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
498 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
499 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
500 self.__databaseSqlResetSequences)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
501 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
502
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
503 self.databaseSqlMigrateAct = E5Action(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
504 self.tr('Apply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
505 self.tr('&Apply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
506 0, 0,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
507 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
508 self.databaseSqlMigrateAct.setStatusTip(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
509 '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
510 ' application'))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
511 self.databaseSqlMigrateAct.setWhatsThis(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
512 """<b>Apply Migration</b>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
513 """<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
514 """ application.</p>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
515 ))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
516 self.databaseSqlMigrateAct.triggered.connect(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
517 self.__databaseSqlMigrate)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
518 self.actions.append(self.databaseSqlMigrateAct)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
519
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
520 self.databaseSqlMigrateBackwardsAct = E5Action(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
521 self.tr('Unapply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
522 self.tr('&Unapply Migration'),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
523 0, 0,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
524 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
525 self.databaseSqlMigrateBackwardsAct.setStatusTip(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
526 '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
527 ' application'))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
528 self.databaseSqlMigrateBackwardsAct.setWhatsThis(self.tr(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
529 """<b>Unapply Migration</b>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
530 """<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
531 """ application.</p>"""
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
532 ))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
533 self.databaseSqlMigrateBackwardsAct.triggered.connect(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
534 lambda: self.__databaseSqlMigrate(backwards=True))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
535 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
536
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
537 def __initToolsActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
538 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
539 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
540 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
541 self.diffSettingsAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
542 self.tr('Diff Settings'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
543 self.tr('&Diff Settings'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
544 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
545 self, 'django_tools_diffsettings')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
546 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
547 'Shows the modification made to the settings'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
548 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
549 """<b>Diff Settings</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
550 """<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
551 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
552 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
553 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
554
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
555 self.cleanupAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
556 self.tr('Cleanup'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
557 self.tr('&Cleanup'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
558 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
559 self, 'django_tools_cleanup')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
560 self.cleanupAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
561 'Cleans out old data from the database'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
562 self.cleanupAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
563 """<b>Cleanup</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
564 """<p>Cleans out old data from the database.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
565 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
566 self.cleanupAct.triggered.connect(self.__cleanup)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
567 self.actions.append(self.cleanupAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
568
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
569 self.validateAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
570 self.tr('Validate'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
571 self.tr('&Validate'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
572 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
573 self, 'django_tools_validate')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
574 self.validateAct.setStatusTip(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
575 'Validates all installed models'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
576 self.validateAct.setWhatsThis(self.tr(
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
577 """<b>Validate</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
578 """<p>Validates all installed models.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
579 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
580 self.validateAct.triggered.connect(self.__validate)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
581 self.actions.append(self.validateAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
582
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
583 self.runPythonShellAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
584 self.tr('Start Python Console'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
585 self.tr('Start &Python Console'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
586 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
587 self, 'django_tools_pythonconsole')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
588 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
589 'Starts a Python interactive interpreter'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
590 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
591 """<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
592 """<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
593 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
594 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
595 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
596
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
597 def __initTestingActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
598 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
599 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
600 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
601 self.dumpDataAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
602 self.tr('Dump Data'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
603 self.tr('&Dump Data'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
604 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
605 self, 'django_tools_dumpdata')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
606 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
607 'Dump the database data to a fixture'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
608 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
609 """<b>Dump Data</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
610 """<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
611 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
612 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
613 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
614
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
615 self.loadDataAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
616 self.tr('Load Data'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
617 self.tr('&Load Data'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
618 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
619 self, 'django_tools_loaddata')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
620 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
621 'Load data from fixture files'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
622 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
623 """<b>Load Data</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
624 """<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
625 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
626 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
627 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
628
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
629 self.runTestAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
630 self.tr('Run Testsuite'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
631 self.tr('Run &Testsuite'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
632 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
633 self, 'django_tools_run_test')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
634 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
635 '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
636 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
637 """<b>Run Testsuite</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
638 """<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
639 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
640 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
641 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
642
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
643 self.runTestServerAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
644 self.tr('Run Testserver'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
645 self.tr('Run Test&server'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
646 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
647 self, 'django_tools_run_test_server')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
648 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
649 '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
650 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
651 """<b>Run Testserver</b>"""
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
652 """<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
653 """ fixtures.</p>"""
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
654 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
655 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
656 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
657
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
658 def __initAuthorizationActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
659 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
660 Private method to define the authorization actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
661 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
662 self.changePasswordAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
663 self.tr('Change Password'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
664 self.tr('Change &Password'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
665 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
666 self, 'django_auth_changepassword')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
667 self.changePasswordAct.setStatusTip(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
668 'Change the password of a user'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
669 self.changePasswordAct.setWhatsThis(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
670 """<b>Change Password</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
671 """<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
672 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
673 self.changePasswordAct.triggered.connect(self.__changePassword)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
674 self.actions.append(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
675
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
676 self.createSuperUserAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
677 self.tr('Create Superuser'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
678 self.tr('Create &Superuser'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
679 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
680 self, 'django_auth_createsuperuser')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
681 self.createSuperUserAct.setStatusTip(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
682 'Create a superuser account'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
683 self.createSuperUserAct.setWhatsThis(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
684 """<b>Create Superuser</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
685 """<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
686 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
687 self.createSuperUserAct.triggered.connect(self.__createSuperUser)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
688 self.actions.append(self.createSuperUserAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
689
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
690 def __initSessionActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
691 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
692 Private method to define the session actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
693 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
694 self.clearSessionsAct = E5Action(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
695 self.tr('Clear Sessions'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
696 self.tr('Clear &Sessions'),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
697 0, 0,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
698 self, 'django_session_clearsessions')
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
699 self.clearSessionsAct.setStatusTip(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
700 'Clear expired sessions'))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
701 self.clearSessionsAct.setWhatsThis(self.tr(
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
702 """<b>Clear Sessions</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
703 """<p>Clear expired sessions of the Django project.</p>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
704 ))
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
705 self.clearSessionsAct.triggered.connect(self.__clearSessions)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
706 self.actions.append(self.clearSessionsAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
707
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
708 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
709 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
710 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
711 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
712 self.showMigrationsAct = E5Action(
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
713 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
714 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
715 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
716 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
717 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
718 '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
719 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
720 """<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
721 """<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
722 """ 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
723 ))
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
724 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
725 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
726
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
727 self.showMigrationsPlanAct = E5Action(
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
728 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
729 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
730 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
731 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
732 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
733 '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
734 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
735 """<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
736 """<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
737 """ 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
738 ))
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
739 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
740 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
741
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
742 self.migrateAllAct = E5Action(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
743 self.tr('Apply All Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
744 self.tr('&Apply All Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
745 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
746 self, 'django_migration_apply_all')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
747 self.migrateAllAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
748 'Apply all available migrations'))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
749 self.migrateAllAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
750 """<b>Apply All Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
751 """<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
752 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
753 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
754 self.actions.append(self.migrateAllAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
755
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
756 self.migrateSelectedAct = E5Action(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
757 self.tr('Apply Selected Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
758 self.tr('Apply Selected Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
759 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
760 self, 'django_migration_apply_selected')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
761 self.migrateSelectedAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
762 'Apply selected migrations'))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
763 self.migrateSelectedAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
764 """<b>Apply Selected Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
765 """<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
766 """ project.</p>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
767 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
768 self.migrateSelectedAct.triggered.connect(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
769 self.__applySelectedMigrations)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
770 self.actions.append(self.migrateSelectedAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
771
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
772 self.unmigrateAct = E5Action(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
773 self.tr('Unapply Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
774 self.tr('&Unapply Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
775 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
776 self, 'django_migration_unapply')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
777 self.unmigrateAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
778 '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
779 self.unmigrateAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
780 """<b>Unapply Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
781 """<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
782 """ project.</p>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
783 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
784 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
785 self.actions.append(self.unmigrateAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
786
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
787 self.makeMigrationsAct = E5Action(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
788 self.tr('Make Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
789 self.tr('&Make Migrations'),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
790 0, 0,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
791 self, 'django_migration_make')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
792 self.makeMigrationsAct.setStatusTip(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
793 'Generate migrations for the project'))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
794 self.makeMigrationsAct.setWhatsThis(self.tr(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
795 """<b>Make Migrations</b>"""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
796 """<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
797 ))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
798 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
799 self.actions.append(self.makeMigrationsAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
800
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
801 self.squashMigrationsAct = E5Action(
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
802 self.tr('Squash Migrations'),
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
803 self.tr('S&quash Migrations'),
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
804 0, 0,
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
805 self, 'django_migration_squash')
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
806 self.squashMigrationsAct.setStatusTip(self.tr(
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
807 '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
808 self.squashMigrationsAct.setWhatsThis(self.tr(
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
809 """<b>Squash Migrations</b>"""
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
810 """<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
811 """ Django project.</p>"""
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
812 ))
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
813 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
814 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
815
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
816 def initMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 """
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
818 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
819
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
820 @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
821 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 """
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
823 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
824
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
825 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
826 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 menu.addAction(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
830 menu.addAction(self.runServerAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
831 menu.addAction(self.runBrowserAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
833 menu.addAction(self.startProjectAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 menu.addAction(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 menu.addAction(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 menu.addSeparator()
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
837 menu.addAction(self.checkAct)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
838 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 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
840 menu.addMenu(self.__initMigrationsMenu())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
842 menu.addMenu(self.__initToolsMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
843 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
844 menu.addAction(self.createCacheTableAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
845 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
846 menu.addMenu(self.__initTestingMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
847 menu.addSeparator()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
848 menu.addMenu(self.__initAuthorizationMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
849 menu.addSeparator()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
850 menu.addMenu(self.__initSessionMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
851 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
852 menu.addAction(self.aboutDjangoAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
853 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
854 menu.addAction(self.helpAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
855
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
856 self.__menus["main"] = menu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
857
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
858 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
859
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
860 def __initDatabaseMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
861 """
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
862 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
863
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
864 @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
865 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
866 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
867 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
868 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
869
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
870 menu.addAction(self.syncDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
872 menu.addAction(self.inspectDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
873 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
874 menu.addAction(self.flushDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
875 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
876 menu.addAction(self.databaseClientAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
878 menu.addMenu(self.__initDatabaseSqlMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
879
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
880 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
881
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
882 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
883
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
884 def __initDatabaseSqlMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
885 """
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
886 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
887
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
888 @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
889 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
890 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
891 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
892 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
893
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
894 if self.getDjangoVersion() < (1, 9, 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
895 menu.addAction(self.databaseSqlCreateTablesAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support 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 menu.addAction(self.databaseSqlCreateIndexesAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
897 menu.addAction(self.databaseSqlCreateEverythingAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
898 menu.addSeparator()
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
899 menu.addAction(self.databaseSqlCustomAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
900 menu.addSeparator()
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
901 menu.addAction(self.databaseSqlDropTablesAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
902 menu.addAction(self.databaseSqlDropIndexesAct)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
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.databaseSqlFlushAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
905 menu.addAction(self.databaseSqlResetSeqAct)
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
906 menu.addSeparator()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
907 menu.addAction(self.databaseSqlMigrateAct)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
908 menu.addAction(self.databaseSqlMigrateBackwardsAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909
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
910 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
911
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
912 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
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 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
915 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support 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 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
917
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
918 @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
919 @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
920 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
921 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
922 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
923
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
924 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
925 menu.addAction(self.showMigrationsPlanAct)
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
926 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
927 menu.addAction(self.migrateAllAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
928 menu.addAction(self.migrateSelectedAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
929 menu.addAction(self.unmigrateAct)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
930 menu.addSeparator()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
931 menu.addAction(self.makeMigrationsAct)
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
932 menu.addSeparator()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
933 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
934
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
935 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
936
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
937 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
938
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
939 def __initToolsMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
940 """
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
941 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
942
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
943 @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
944 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
945 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
946 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
947 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
948
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
949 menu.addAction(self.diffSettingsAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
950 menu.addAction(self.cleanupAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
951 menu.addAction(self.validateAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
952 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
953 menu.addAction(self.runPythonShellAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
954
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
955 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
956
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
957 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
958
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
959 def __initTestingMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
960 """
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
961 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
962
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
963 @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
964 @rtype QMenu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
965 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
966 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
967 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
968
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
969 menu.addAction(self.dumpDataAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
970 menu.addAction(self.loadDataAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
971 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
972 menu.addAction(self.runTestAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
973 menu.addAction(self.runTestServerAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
974
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
975 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
976
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
977 return menu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
978
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
979 def __initAuthorizationMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
980 """
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
981 Private method to initialize the authorization menu.
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
982
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
983 @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
984 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
985 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
986 menu = QMenu(self.tr("&Authorization"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
987 menu.setTearOffEnabled(True)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
988
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
989 menu.addAction(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
990 menu.addAction(self.createSuperUserAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
991
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
992 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
993
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
994 return menu
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
995
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
996 def __initSessionMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
997 """
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
998 Private method to initialize the authorization menu.
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
999
72
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1000 @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
1001 @rtype QMenu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1002 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1003 menu = QMenu(self.tr("&Session"), self.__ui)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1004 menu.setTearOffEnabled(True)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1005
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1006 menu.addAction(self.clearSessionsAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1007
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
1008 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
1009
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1010 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
1011
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1012 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
1013 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1014 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
1015
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1016 @param name name of the menu (string)
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1017 @return reference to the menu (QMenu) or None, if no
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1018 menu with the given name exists
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1019 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1020 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
1021 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
1022 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
1023 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
1024
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1025 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
1026 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1027 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
1028
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1029 @return menu names (list of string)
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1030 """
fd79d080b065 Extended the API to allow for plug-in extension by another plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
1031 return list(self.__menus.keys())
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 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1034 ## 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
1035 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1036
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
1037 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
1038 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1039 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
1040 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
1041 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1042 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
1043 editor = self.__plugin.getPreferences("TranslationsEditor")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1044 if editor:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1045 self.__translationsBrowser.addHookMethodAndMenuEntry(
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1046 "open",
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1047 self.openPOEditor,
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1048 self.tr("Open with {0}").format(
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1049 os.path.basename(editor)))
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1050 else:
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1051 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
1052
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1053 def projectOpenedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1054 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1055 Public method to add our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1056 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1057 if self.__e5project.getProjectType() == "Django":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1058 self.__formsBrowser = \
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1059 e5App().getObject("ProjectBrowser").getProjectBrowser("forms")
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1060 self.__formsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1061 "newForm",
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1062 self.newForm, self.tr("New template..."))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1063
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1064 self.__e5project.projectLanguageAddedByCode.connect(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1065 self.__projectLanguageAdded)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1066 self.__translationsBrowser = \
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1067 e5App().getObject("ProjectBrowser")\
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1068 .getProjectBrowser("translations")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1069 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1070 "generateAll",
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1071 self.updateCatalogs, self.tr("Update all catalogs"))
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1072 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1073 "generateSelected",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1074 self.updateSelectedCatalogs,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1075 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
1076 self.__translationsBrowser.addHookMethodAndMenuEntry(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1077 "generateAllWithObsolete", self.updateCatalogsWithObsolete,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1078 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
1079 self.__translationsBrowser.addHookMethodAndMenuEntry(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1080 "generateSelectedWithObsolete",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1081 self.updateSelectedCatalogsWithObsolete,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1082 self.tr("Update selected catalogs (with obsolete)"))
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1083 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1084 "releaseAll",
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1085 self.compileCatalogs, self.tr("Compile all catalogs"))
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1086 self.__translationsBrowser.addHookMethodAndMenuEntry(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1087 "releaseSelected",
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1088 self.compileSelectedCatalogs,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1089 self.tr("Compile selected catalogs"))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1090
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1091 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
1092
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
1093 self.registerOpenHook()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1094
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1095 def projectClosedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1096 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1097 Public method to remove our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1098 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1099 if self.__hooksInstalled:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1100 self.__formsBrowser.removeHookMethod("newForm")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1101 self.__formsBrowser = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1102
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1103 self.__e5project.projectLanguageAddedByCode.disconnect(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1104 self.__projectLanguageAdded)
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1105 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1106 "generateAll")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1107 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1108 "generateSelected")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1109 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1110 "generateAllWithObsolete")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1111 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1112 "generateSelectedWithObsolete")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1113 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1114 "releaseAll")
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1115 self.__translationsBrowser.removeHookMethod(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1116 "releaseSelected")
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1117 self.__translationsBrowser.removeHookMethod("open")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1118 self.__translationsBrowser = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1119
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1120 self.__hooksInstalled = False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1121
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1122 def newForm(self, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1123 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1124 Public method to create a new form.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1125
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1126 @param path full directory path for the new form file (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1127 """
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1128 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1129 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1130 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
1131 path,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1132 filter,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1133 None,
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1134 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1135
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1136 if not fname:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1137 # 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
1138 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1139
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1140 ext = QFileInfo(fname).suffix()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1141 if not ext:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1142 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
1143 if ex:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1144 fname += ex
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1145
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1146 if os.path.exists(fname):
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1147 res = E5MessageBox.yesNo(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1148 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1149 self.tr("New Form"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1150 self.tr("The file already exists! Overwrite it?"),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1151 icon=E5MessageBox.Warning)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1152
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1153 if not res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1154 # 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
1155 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1156
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1157 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1158 f = open(fname, "w")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1159 f.write('<!DOCTYPE html>')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1160 f.write('<html>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1161 f.write(' <head>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1162 f.write(' <meta content="" />\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1163 f.write(' <title></title>\n')
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1164 f.write(' <link rel="stylesheet" type="text/css"'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1165 ' href="style.css"/>')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1166 f.write(' <!--[if lte IE 7]>')
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1167 f.write(' <link rel="stylesheet" type="text/css"'
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1168 ' href="ie.css"/>')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1169 f.write(' <![endif]-->')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1170 f.write(' </head>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1171 f.write('\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1172 f.write(' <body class="bodyclass">\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1173 f.write(' <div id="container">')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1174 f.write(' </div>')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1175 f.write(' </body>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1176 f.close()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1177 f.write('</html>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1178 f.close()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1179 except (IOError, OSError) as e:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1180 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1181 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1182 self.tr("New Form"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1183 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
1184 " created.<br> Problem: {1}</p>")
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1185 .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
1186 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1187
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1188 self.__e5project.appendFile(fname)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1189 self.__formsBrowser.sourceFile.emit(fname)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1190
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1191 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1192 ## slots below implement general functionality
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1193 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1194
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1195 def projectClosed(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1196 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1197 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
1198 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1199 if self.__serverProc is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1200 self.__serverProcFinished()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1201 self.__setCurrentSite(None)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1202
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
1203 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
1204 """
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
1205 Private method to build all full path of an executable file from
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
1206 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
1207
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
1208 @param file filename of the executable (string)
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1209 @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
1210 accessible via the searchpath defined by the PATH environment
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1211 variable, or an empty list otherwise.
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
1212 """
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
1213 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
1214
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
1215 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
1216 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
1217 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
1218 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
1219 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
1220
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
1221 cur_path = os.path.join(os.curdir, 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
1222 if os.path.exists(cur_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
1223 if os.access(cur_path, 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
1224 paths.append(cur_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
1225
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
1226 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
1227
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
1228 # 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
1229 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
1230 dirs = path.split(os.pathsep)
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
1231 for dir in dirs:
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 exe = os.path.join(dir, 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
1233 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
1234 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
1235
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 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
1237
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
1238 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
1239 """
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
1240 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
1241
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 @return list of supported Python variants (list of strings)
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
1243 """
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
1244 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
1245 for variant in 'Python2', 'Python3':
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
1246 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
1247 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
1248 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
1249 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
1250 else:
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1251 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
1252 if isWindowsPlatform():
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1253 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
1254 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
1255 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
1256 try:
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
1257 fullCmds = Utilities.getExecutablePaths(cmd)
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
1258 except AttributeError:
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
1259 fullCmds = self.__getExecutablePaths(cmd)
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
1260 for fullCmd in fullCmds:
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
1261 try:
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
1262 f = open(fullCmd, 'r', encoding='utf-8')
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
1263 l0 = f.readline()
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
1264 f.close()
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
1265 except (IOError, OSError):
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
1266 l0 = ""
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
1267 if variant.lower() in l0.lower() or \
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
1268 "{0}.".format(variant[-1]) in l0 or \
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1269 (variant == "Python2" and
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1270 "python3" not in l0.lower() and
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1271 "python" in l0.lower()):
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
1272 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
1273 break
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
1274
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
1275 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
1276
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
1277 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
1278 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1279 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
1280
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
1281 @param language Python variant to get the virtual 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
1282 for (string, one of '', 'Python2' or 'Python3')
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1283 @return path of the virtual environment (string)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1284 """
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
1285 if not language:
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
1286 language = self.__e5project.getProjectLanguage()
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1287 if language == "Python3":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1288 virtEnv = self.__plugin.getPreferences("VirtualEnvironmentPy3")
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1289 elif language == "Python2":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1290 virtEnv = self.__plugin.getPreferences("VirtualEnvironmentPy2")
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1291 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1292 virtEnv = ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1293 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
1294 virtEnv = ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1295 return virtEnv
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1296
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1297 def __getDebugEnvironment(self, language=""):
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1298 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1299 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
1300
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1301 @param language Python variant to get the debugger environment
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1302 for (string, one of '', 'Python2' or 'Python3')
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1303 @return path of the debugger environment (string)
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1304 """
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1305 if not language:
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1306 language = self.__e5project.getProjectLanguage()
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1307 if language == "Python3":
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1308 debugEnv = Preferences.getDebugger("Python3Interpreter")
34
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1309 if not debugEnv and sys.version_info[0] == 3:
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1310 debugEnv = sys.executable
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1311 elif language == "Python2":
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1312 debugEnv = Preferences.getDebugger("PythonInterpreter")
34
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1313 if not debugEnv and sys.version_info[0] == 2:
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1314 debugEnv = sys.executable
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1315 else:
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1316 debugEnv = sys.executable
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1317 debugEnv = os.path.dirname(debugEnv)
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1318 if debugEnv and not os.path.exists(debugEnv):
34
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1319 if (language == "Python3" and sys.version_info[0] == 3) or \
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1320 (language == "Python2" and sys.version_info[0] == 2):
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1321 debugEnv = sys.exec_prefix
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1322 else:
7b511ce3bc88 Fixed an issue finding the right Python environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
1323 debugEnv = ""
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1324 return debugEnv
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1325
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
1326 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
1327 """
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
1328 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
1329
12
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1330 @param language Python variant to get the django-admin.py
430932e3094c Extended the Python variant detection to only offer the Django project type, if it is found for the respective Python.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1331 command for (string, one of '', 'Python2' or 'Python3')
11
5eda53fad138 Fixed a few bugs (copy-paste issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1332 @return full django-admin.py command (string)
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1333 """
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
1334 if not language:
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
1335 language = self.__e5project.getProjectLanguage()
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
1336
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
1337 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
1338 if virtualEnv:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1339 if isWindowsPlatform():
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1340 cmd = os.path.join(virtualEnv, "Scripts", "django-admin.py")
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1341 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1342 cmds = [
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1343 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
1344 os.path.join(virtualEnv, "bin", "django-admin"),
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1345 os.path.join(virtualEnv, "local", "bin",
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1346 "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
1347 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
1348 ]
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1349 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
1350 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
1351 break
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1352 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
1353 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1354 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1355 if isWindowsPlatform():
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1356 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
1357 for cmd in [
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1358 # standard Python
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1359 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
1360 # PyPy
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1361 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
1362 ]:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1363 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
1364 break
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1365 else:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1366 cmd = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1367 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
1368 if language == "Python2":
38
3ce20c97fca9 Added some more django-admin.py alternatives to search for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
1369 cmds = ["django-admin2.py", "django-admin2",
3ce20c97fca9 Added some more django-admin.py alternatives to search for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
1370 "django-admin.py-2.7", "django-admin.py-2.6"]
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
1371 elif language == "Python3":
38
3ce20c97fca9 Added some more django-admin.py alternatives to search for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
1372 cmds = ["django-admin3.py", "django-admin3",
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1373 "django-admin.py-3.6", "django-admin.py-3.5",
38
3ce20c97fca9 Added some more django-admin.py alternatives to search for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
1374 "django-admin.py-3.4", "django-admin.py-3.3",
3ce20c97fca9 Added some more django-admin.py alternatives to search for.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
1375 "django-admin.py-3.2"]
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1376 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
1377 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
1378 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
1379 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
1380 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
1381 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
1382 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
1383 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
1384
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1385 return cmd
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1386
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1387 def __getPythonExecutable(self):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1388 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1389 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
1390
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1391 @return python command (string)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1392 """
26
2dd206cd1aa2 Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
1393 language = self.__e5project.getProjectLanguage()
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1394 virtualEnv = self.__getVirtualEnvironment()
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1395 if isWindowsPlatform():
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1396 pythonExeList = ["python.exe", "pypy.exe"]
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1397 if not virtualEnv:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1398 virtualEnv = self.__getDebugEnvironment(language)
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1399 for pythonExe in pythonExeList:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1400 for python in [
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1401 os.path.join(virtualEnv, "Scripts", pythonExe),
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1402 os.path.join(virtualEnv, "bin", pythonExe),
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1403 os.path.join(virtualEnv, pythonExe)
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1404 ]:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1405 if os.path.exists(python):
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
1406 break
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1407 else:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1408 python = ""
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1409
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1410 if python:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1411 break
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1412 else:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1413 python = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1414 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1415 if language == "Python3":
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1416 pythonExeList = ["python3", "pypy3"]
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1417 elif language == "Python2":
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1418 pythonExeList = ["python2", "pypy2"]
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1419 if not virtualEnv:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1420 pythonExeList.append("pypy")
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1421 virtualEnv = self.__getDebugEnvironment(language)
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1422
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1423 for pythonExe in pythonExeList:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1424 for python in [
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1425 os.path.join(virtualEnv, "bin", pythonExe),
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1426 # omit the version character
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1427 os.path.join(virtualEnv, "bin", pythonExe)[:-1],
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1428 ]:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1429 if os.path.exists(python):
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
1430 break
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1431 else:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1432 python = ""
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1433
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1434 if python:
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1435 break
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1436 else:
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1437 python = ""
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1438
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1439 return python
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1440
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1441 def __djangoInfo(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1442 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1443 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
1444 """
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
1445 version = self.getDjangoVersionString()
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1446 url = "http://www.djangoproject.com"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1447
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1448 msgBox = E5MessageBox.E5MessageBox(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1449 E5MessageBox.Question,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1450 self.tr("About Django"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1451 self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1452 "<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
1453 " 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
1454 " design.</p>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1455 "<p><table>"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1456 "<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
1457 "<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
1458 "{1}</a></td></tr>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1459 "</table></p>"
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1460 ).format(version, url),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1461 modal=True,
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1462 buttons=E5MessageBox.Ok)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1463 msgBox.setIconPixmap(UI.PixmapCache.getPixmap(
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1464 os.path.join("ProjectDjango", "icons", "django64.png")))
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1465 msgBox.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1466
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
1467 def getDjangoVersionString(self):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1468 """
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
1469 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
1470
16
54c41e37792d Corrected a source docu string and added entries for the XFCE4 terminal to the config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1471 @return Django version (string)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1472 """
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
1473 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
1474
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
1475 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
1476 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
1477 cmd = self.__getDjangoAdminCommand()
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
1478 if isWindowsPlatform():
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
1479 args.insert(0, cmd)
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
1480 cmd = self.__getPythonExecutable()
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1481
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
1482 process = QProcess()
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
1483 process.start(cmd, args)
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
1484 procStarted = process.waitForStarted()
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
1485 if procStarted:
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
1486 finished = process.waitForFinished(30000)
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
1487 if finished and process.exitCode() == 0:
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
1488 output = str(process.readAllStandardOutput(), 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
1489 'replace')
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
1490 djangoVersion = output.splitlines()[0].strip()
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
1491
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
1492 return djangoVersion
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1493
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
1494 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
1495 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1496 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
1497
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1498 @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
1499 @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
1500 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1501 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
1502 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
1503 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
1504 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
1505 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
1506 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
1507 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
1508 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
1509
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1510 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
1511
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1512 def __getApplications(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1513 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1514 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
1515
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1516 @return list of application names (list of strings)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1517 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1518 applStr, ok = QInputDialog.getItem(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1519 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1520 self.tr("Select Applications"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1521 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
1522 self.getRecentApplications(),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1523 0, True)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1524 if ok and applStr != "":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1525 self.setMostRecentApplication(applStr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1526 return applStr.split()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1527 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1528 return []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1529
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1530 def __loadRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1531 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1532 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
1533 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1534 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1535 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1536 ra = Preferences.Prefs.rsettings.value(self.RecentApplicationsKey)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1537 if ra is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1538 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1539 self.__recentApplications = ra[:maxRecentApps]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1540
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1541 def __saveRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1542 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1543 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
1544 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1545 Preferences.Prefs.rsettings.setValue(self.RecentApplicationsKey,
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1546 self.__recentApplications)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1547 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1548
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1549 def getRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1550 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1551 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
1552
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1553 @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
1554 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1555 self.__loadRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1556 return self.__recentApplications
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1557
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1558 def setMostRecentApplication(self, applStr):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1559 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1560 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
1561
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1562 @param applStr applications entry (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1563 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1564 if applStr in self.__recentApplications:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1565 self.__recentApplications.remove(applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1566 self.__recentApplications.insert(0, applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1567
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1568 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1569 if len(self.__recentApplications) > maxRecentApps:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1570 self.__recentApplications = self.recent[:maxRecentApps]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1571 self.__saveRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1572
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1573 def getProjectPath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1574 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1575 Public method to get the path of the eric6 project.
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1576
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1577 @return path of the eric6 project (string)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1578 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1579 return self.__e5project.getProjectPath()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1580
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1581 def __showHelpIndex(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1582 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1583 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
1584 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1585 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
1586 "Documentation", "help", "index.html")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1587 self.__ui.launchHelpViewer(page)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1588
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1589 def __isSpawningConsole(self, consoleCmd):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1590 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1591 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
1592
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1593 @param consoleCmd console command (string)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1594 @return tuple of two entries giving an indication, if the console
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1595 is spawning (boolean) and the (possibly) cleaned console command
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1596 (string)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1597 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1598 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
1599 return (True, consoleCmd[1:])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1600 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1601 return (False, consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1602
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1603 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1604 ## slots below implement creation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1605 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1606
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1607 def startProjectOrApplication(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1608 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1609 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
1610 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1611 if self.__e5project.getProjectType() == "Django":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1612 projectStr = self.tr("Project")
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1613 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
1614 selections = ["", projectStr, applStr]
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1615 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
1616 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1617 self.tr("Start Django"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1618 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
1619 "Django Project or Application.<br />"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1620 "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
1621 selections,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1622 0, False)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1623 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
1624 if selection == projectStr:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1625 path, projectName = os.path.split(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1626 self.__e5project.getProjectPath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1627 self.__createProject(projectName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1628 elif selection == applStr:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1629 path, applName = os.path.split(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1630 self.__e5project.getProjectPath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1631 self.__createApplication(applName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1632
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1633 def __createProject(self, projectName, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1634 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1635 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
1636
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1637 @param projectName name of the new project (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1638 @param path the directory where the project should be created
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1639 (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1640 @return flag indicating a successful creation (boolean)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1641 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1642 title = self.tr("Start Django Project")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1643
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1644 # 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
1645 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
1646 if os.path.exists(ppath):
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1647 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
1648
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1649 args = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1650 if Utilities.isWindowsPlatform():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1651 args.append(self.__getPythonExecutable())
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1652 args.append(self.__getDjangoAdminCommand())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1653 else:
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1654 cmd = self.__getDjangoAdminCommand()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1655 if cmd:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1656 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1657 else:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1658 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1659 self.__ui,
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1660 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1661 self.tr("""<p>The <b>django-admin.py</b> script is"""
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1662 """ not in the path. Aborting...</p>"""))
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1663 return
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1664
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1665 args.append("startproject")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1666 args.append(projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1667
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1668 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1669 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1670 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
1671 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1672 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1673 dia.exec_()
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 # create the base directory for translations
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1676 i18nPath = os.path.join(path, projectName, "locale")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1677 if not os.path.exists(i18nPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1678 os.makedirs(i18nPath)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1679
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1680 if os.path.join(path, projectName) == \
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1681 self.__e5project.getProjectPath():
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1682 self.__setCurrentSite("")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1683 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1684 self.__setCurrentSite(projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1685
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1686 return res
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1687
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1688 def __startProject(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1689 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1690 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
1691 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1692 projectName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1693 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1694 self.tr("Start Django Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1695 self.tr("Enter the name of the new Django project."),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1696 QLineEdit.Normal)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1697 if ok and projectName != "":
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1698 res = self.__createProject(projectName,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1699 self.__e5project.getProjectPath())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1700 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1701 # search for new files and add them to the project
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1702 sitePath = os.path.join(self.__e5project.getProjectPath(),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1703 projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1704 for entry in os.walk(sitePath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1705 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1706 fullName = os.path.join(entry[0], fileName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1707 self.__e5project.appendFile(fullName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1708
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1709 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
1710 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1711 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
1712
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1713 @param applName name of the new application (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1714 @param path the directory where the application should be created
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1715 (string)
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1716 @param isGlobal flag indicating a standalone Django application
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1717 (boolean)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1718 @return flag indicating a successful creation (boolean)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1719 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1720 title = self.tr("Start Django Application")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1721
70
77f58dfc7eaa Fixed a few issues and added support for pypy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 65
diff changeset
1722 # 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
1723 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
1724 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
1725 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
1726
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1727 args = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1728 if isGlobal:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1729 if Utilities.isWindowsPlatform():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1730 args.append(self.__getPythonExecutable())
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1731 args.append(self.__getDjangoAdminCommand())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1732 else:
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1733 cmd = self.__getDjangoAdminCommand()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1734 if cmd:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1735 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1736 else:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1737 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1738 self.__ui,
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1739 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1740 self.tr("""<p>The <b>django-admin.py</b> script"""
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1741 """ is not in the path."""
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1742 """ Aborting...</p>"""))
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1743 return
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1744 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1745 args.append(self.__getPythonExecutable())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1746 args.append("manage.py")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1747 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1748 path = self.__sitePath()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1749 except DjangoNoSiteSelectedException:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1750 return False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1751 args.append("startapp")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1752 args.append(applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1753
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1754 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1755 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1756 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
1757 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1758 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1759 dia.exec_()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1760 return res
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1761
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1762 def __startGlobalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1763 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1764 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
1765 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1766 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1767 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1768 self.tr("Start Global Django Application"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1769 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
1770 " application."),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1771 QLineEdit.Normal)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1772 if ok and applName != "":
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1773 res = self.__createApplication(applName,
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1774 self.__e5project.getProjectPath())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1775 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1776 # search for new files and add them to the project
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1777 appPath = os.path.join(self.__e5project.getProjectPath(),
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1778 applName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1779 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1780 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1781 fullName = os.path.join(entry[0], fileName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1782 self.__e5project.appendFile(fullName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1783
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1784 def __startLocalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1785 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1786 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
1787 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1788 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1789 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1790 self.tr("Start Local Django Application"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1791 self.tr("Enter the name of the new local Django application."),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1792 QLineEdit.Normal)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1793 if ok and applName != "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1794 res = self.__createApplication(applName, "", False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1795 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1796 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1797 # 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
1798 appPath = os.path.join(self.__sitePath(), applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1799 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1800 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1801 fullName = os.path.join(entry[0], fileName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1802 self.__e5project.appendFile(fullName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1803 except DjangoNoSiteSelectedException:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1804 return
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1805
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1806 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1807 ## methods below implement site related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1808 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1809
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1810 def __findSites(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1811 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1812 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
1813
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1814 @return list of sites (list of strings)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1815 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1816 sites = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1817 for file in sorted(self.__e5project.getSources()):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1818 if os.path.basename(file) == "manage.py":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1819 sites.append(os.path.dirname(file))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1820 return sites
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 def __selectSite(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1823 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1824 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
1825 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1826 sites = self.__findSites()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1827 if len(sites) == 1:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1828 site = sites[0]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1829 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1830 if self.__currentSite is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1831 if self.__currentSite in sites:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1832 cur = sites.index(self.__currentSite)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1833 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1834 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1835 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1836 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1837 site, ok = QInputDialog.getItem(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1838 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1839 self.tr("Select Project"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1840 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
1841 sites,
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1842 cur, False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1843 if not ok:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1844 site = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1845 self.__setCurrentSite(site)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1846
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1847 def __sitePath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1848 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1849 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
1850
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1851 @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
1852 @return path of the site (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1853 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1854 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1855 self.__selectSite()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1856
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1857 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1858 raise DjangoNoSiteSelectedException
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1859 else:
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1860 return os.path.join(self.__e5project.getProjectPath(),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1861 self.__currentSite)
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 def __setCurrentSite(self, site):
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 Private slot to set the current site.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1866
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1867 @param site name of the site (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1868 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1869 self.__currentSite = site
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1870 if self.__currentSite is None:
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1871 curSite = self.tr("None")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1872 elif self.__currentSite == "":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1873 curSite = self.tr("Project")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1874 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1875 curSite = self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1876 self.selectSiteAct.setText(
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1877 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
1878
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1879 if self.__currentSite is None:
64
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1880 try:
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1881 self.__e5project.setTranslationPattern("")
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1882 except AttributeError:
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1883 # backward compatibility
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1884 self.__e5project.pdata["TRANSLATIONPATTERN"] = []
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1885 else:
64
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1886 try:
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1887 self.__e5project.setTranslationPattern(
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1888 os.path.join(site, "locale", "%language%", "LC_MESSAGES",
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1889 "django.po")
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1890 )
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1891 except AttributeError:
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1892 # backward compatibility
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1893 self.__e5project.pdata["TRANSLATIONPATTERN"] = [
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1894 os.path.join(site, "locale", "%language%", "LC_MESSAGES",
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1895 "django.po")
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
1896 ]
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1897
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1898 def __site(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1899 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1900 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
1901
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1902 @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
1903 @return name of the site (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1904 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1905 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1906 self.__selectSite()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1907
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1908 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1909 raise DjangoNoSiteSelectedException
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1910 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1911 return self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1912
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1913 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1914 ## slots below implement run functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1915 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1916
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1917 def __runServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1918 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1919 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
1920 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1921 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1922 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
1923 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1924 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1925 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
1926 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1927 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1928 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
1929 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
1930 args.append("--ipv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1931 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
1932 if addr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1933 args.append(addr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1934
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1935 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1936 if Utilities.isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1937 serverProcStarted, pid = QProcess.startDetached(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1938 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
1939 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1940 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
1941 self.__serverProcFinished()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1942
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1943 self.__serverProc = QProcess()
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1944 self.__serverProc.finished.connect(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1945 self.__serverProcFinished)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1946 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
1947 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
1948 serverProcStarted = self.__serverProc.waitForStarted()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1949 if not serverProcStarted:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1950 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
1951 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1952 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
1953 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
1954 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1955 pass
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1956
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1957 def __serverProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1958 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1959 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
1960 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1961 if self.__serverProc is not None and \
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1962 self.__serverProc.state() != QProcess.NotRunning:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1963 self.__serverProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1964 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
1965 self.__serverProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1966 self.__serverProc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1967
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1968 def __runBrowser(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1969 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1970 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
1971 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1972 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
1973 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
1974 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
1975 # 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
1976 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
1977 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
1978 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
1979 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
1980 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1981 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
1982 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
1983 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
1984 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
1985 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
1986 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1987 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
1988 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
1989 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
1990 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
1991 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
1992 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
1993 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
1994 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
1995 if not res:
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1996 E5MessageBox.critical(
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
1997 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
1998 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
1999 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
2000 ' 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
2001 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
2002 self.__ui.launchHelpViewer(url)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2003
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2004 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2005 ## slots below implement database related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2006 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2007
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2008 def __databaseSynchronize(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2009 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2010 Private slot to synchronize the database.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2011 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2012 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2013 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
2014 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2015 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2016 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
2017 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2018 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2019 args.append("syncdb")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2020 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2021 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2022 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
2023 if not started:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2024 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2025 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2026 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2027 self.tr('The Django process could not be'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2028 ' started.'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2029 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2030 pass
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2031
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2032 def __databaseInspect(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2033 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2034 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
2035 module.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2036 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2037 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
2038
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2039 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2040 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2041 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2042 args.append("inspectdb")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2043
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2044 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2045 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2046 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2047 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2048
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2049 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
2050 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
2051 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2052 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2053
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2054 def __databaseFlush(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2055 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2056 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
2057 their installation.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2058 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2059 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2060 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2061 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2062 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2063
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2064 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
2065
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2066 res = E5MessageBox.yesNo(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2067 self.__ui,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2068 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2069 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
2070 """ Are you sure?"""))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2071 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2072 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2073 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2074 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2075 args.append("flush")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2076 args.append("--noinput")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2077
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2078 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2079 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2080 msgSuccess=self.tr("Database tables flushed"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2081 " successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2082 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
2083 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2084 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2085
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2086 def __runDatabaseClient(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2087 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2088 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
2089 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2090 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2091 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
2092 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2093 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2094 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
2095 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2096 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2097 args.append("dbshell")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2098 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2099 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2100 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
2101 if not started:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2102 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2103 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2104 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2105 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
2106 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2107 pass
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2108
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2109 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2110 ## 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
2111 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2112
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2113 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
2114 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2115 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
2116
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2117 @param title dialog title (string)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2118 @param command Django sql... command (string)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2119 @param requestApps flag indicating to request a list of applications
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2120 to work on (boolean)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2121 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2122 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2123 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2124 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2125 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2126
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2127 if requestApps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2128 apps = self.__getApplications()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2129 if not apps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2130 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2131 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2132 apps = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2133
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2134 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2135 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2136 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2137 args.append(command)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2138 args += apps
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2139
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2140 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
2141
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2142 dia = DjangoDialog(title, fixed=True, linewrap=False,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2143 saveFilters=fileFilter)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2144 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
2145 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2146 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2147
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2148 def __databaseSqlCreateTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2149 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2150 Private slot to print the CREATE TABLE SQL statements for one
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2151 or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2152 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2153 self.__sqlCommand(self.tr("Create Tables"), "sql")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2154
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2155 def __databaseSqlCreateIndexes(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2156 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2157 Private slot to print the CREATE INDEX SQL statements for one
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2158 or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2159 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2160 self.__sqlCommand(self.tr("Create Indexes"), "sqlindexes")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2161
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2162 def __databaseSqlCreateEverything(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2163 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2164 Private slot to print the CREATE TABLE, custom SQL and
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2165 CREATE INDEX SQL statements for one or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2166 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2167 self.__sqlCommand(self.tr("Create Everything"), "sqlall")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2168
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2169 def __databaseSqlCustom(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2170 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2171 Private slot to print the custom table modifying SQL statements
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2172 for one or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2173 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2174 self.__sqlCommand(self.tr("Custom Statements"), "sqlcustom")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2175
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2176 def __databaseSqlDropTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2177 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2178 Private slot to print the DROP TABLE SQL statements for one or
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2179 more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2180 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2181 self.__sqlCommand(self.tr("Drop Tables"), "sqlclear")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2182
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
2183 def __databaseSqlDropIndexes(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
2184 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2185 Private slot to print the DROP INDEX SQL statements for one or
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2186 more applications.
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2187 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2188 self.__sqlCommand(self.tr("Drop Indexes"), "sqldropindexes")
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2189
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2190 def __databaseSqlFlushDatabase(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2191 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2192 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
2193 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
2194 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2195 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
2196
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2197 def __databaseSqlResetSequences(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2198 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2199 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
2200 one or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2201 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2202 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
2203
77
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2204 def __databaseSqlMigrate(self, backwards=False):
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2205 """
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2206 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
2207 application.
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2208
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2209 @param backwards flag indicating to generate the SQL code to unapply
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2210 a migration
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2211 @type bool
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2212 """
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2213 try:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2214 path = self.__sitePath()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2215 except DjangoNoSiteSelectedException:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2216 return
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2217
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2218 migrations = self.__getMigrations()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2219 if not migrations:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2220 E5MessageBox.information(
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2221 None,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2222 self.tr("SQL Migrate"),
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2223 self.tr("""No migrations available."""))
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2224 return
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2225
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2226 title = self.tr("SQL Migrate")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2227
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2228 from .DjangoMigrationSelectionDialog import \
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2229 DjangoMigrationSelectionDialog
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2230 dlg = DjangoMigrationSelectionDialog(migrations,
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2231 migrationRequired=True)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2232 if dlg.exec_() == QDialog.Accepted:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2233 app, migration = dlg.getData()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2234
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2235 args = []
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2236 args.append(self.__getPythonExecutable())
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2237 args.append("manage.py")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2238 args.append("sqlmigrate")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2239 if backwards:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2240 args.append("--backwards")
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2241 args.append(app)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2242 args.append(migration)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2243
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2244 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
2245
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2246 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
2247 saveFilters=fileFilter)
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2248 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
2249 if res:
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2250 dia.exec_()
f8e92eaaba6e Finished adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 75
diff changeset
2251
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2252 ##################################################################
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
2253 ## 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
2254 ##################################################################
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2255
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2256 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
2257 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2258 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
2259 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2260 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
2261 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
2262 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
2263 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
2264
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2265 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
2266 self.__migrationsListDialog = DjangoMigrationsListDialog(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2267 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
2268 self.__migrationsListDialog.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
2269 self.__migrationsListDialog.start(self.__getPythonExecutable(), path)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2270
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2271 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
2272 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2273 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
2274 """
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2275 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
2276 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
2277 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
2278 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
2279
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2280 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
2281 self.__migrationsPlanDialog = DjangoMigrationsListDialog(
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2282 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
2283 self.__migrationsPlanDialog.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
2284 self.__migrationsPlanDialog.start(self.__getPythonExecutable(), path)
0f95786f7868 Did some adjustments to Djange >= 1.9.0, added support for the eric web browser and started adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 70
diff changeset
2285
73
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2286 def __applyAllMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2287 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2288 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
2289 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2290 self.applyMigrations()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2291
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2292 def __applySelectedMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2293 """
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2294 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
2295 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2296 migrations = self.__getMigrations()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2297 if not migrations:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2298 E5MessageBox.information(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2299 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2300 self.tr("Apply Selected Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2301 self.tr("""No migrations available."""))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2302 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2303
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2304 from .DjangoMigrationSelectionDialog import \
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2305 DjangoMigrationSelectionDialog
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2306 dlg = DjangoMigrationSelectionDialog(migrations)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2307 if dlg.exec_() == QDialog.Accepted:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2308 app, migration = dlg.getData()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2309 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
2310
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2311 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
2312 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2313 Public slot to apply migrations.
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2314
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2315 @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
2316 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2317 @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
2318 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2319 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2320 if migration == "zero":
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2321 title = self.tr("Unapply Migrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2322 else:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2323 title = self.tr("Apply Migrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2324
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2325 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2326 path = self.__sitePath()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2327 except DjangoNoSiteSelectedException:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2328 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2329
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2330 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2331 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2332 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2333 args.append("migrate")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2334 args.append("--noinput")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2335 if app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2336 args.append(app)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2337 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2338 args.append(migration)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2339
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2340 dia = DjangoDialog(title)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2341 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2342 if res:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2343 dia.exec_()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2344
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2345 def __unapplyMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2346 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2347 Private slot to un-apply all migrations of an application.
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2348 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2349 apps = list(sorted(self.__getMigrations().keys()))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2350 if not apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2351 E5MessageBox.information(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2352 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2353 self.tr("Unapply Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2354 self.tr("""No migrations available."""))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2355 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2356
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2357 app, ok = QInputDialog.getItem(
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2358 None,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2359 self.tr("Unapply Migrations"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2360 self.tr("Select an application:"),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2361 [""] + apps,
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2362 0, False)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2363 if ok and app:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2364 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
2365
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2366 def __getMigrations(self):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2367 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2368 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
2369
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2370 @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
2371 @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
2372 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
2373 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2374 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2375 path = self.__sitePath()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2376 except DjangoNoSiteSelectedException:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2377 return {}
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2378
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2379 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2380 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2381 args.append("showmigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2382 args.append("--list")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2383
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2384 migrations = {}
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2385 proc = QProcess()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2386 if path:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2387 proc.setWorkingDirectory(path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2388 proc.start(self.__getPythonExecutable(), args)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2389 if proc.waitForStarted():
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2390 if proc.waitForFinished():
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2391 output = str(proc.readAllStandardOutput(),
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2392 Preferences.getSystem("IOEncoding"), 'replace')
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2393 if output:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2394 recentApp = ""
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2395 for line in output.splitlines():
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2396 if not line.startswith(" "):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2397 # application name
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2398 recentApp = line.strip()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2399 migrations[recentApp] = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2400 else:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2401 # migration name
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2402 line = line.strip()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2403 applied = line[1] != " "
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2404 name = line[3:].strip()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2405 if recentApp:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2406 migrations[recentApp].append((applied, name))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2407 return migrations
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2408
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2409 def __makeMigrations(self):
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 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
2412 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2413 from .DjangoMakeMigrationsDialog import DjangoMakeMigrationsDialog
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2414 dlg = DjangoMakeMigrationsDialog(self.getRecentApplications())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2415 if dlg.exec_() == QDialog.Accepted:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2416 apps, migration, dryRun = dlg.getData()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2417 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2418 self.setMostRecentApplication(apps)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2419 apps = apps.split()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2420 self.makeMigrations(apps, migration, dryRun)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2421
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2422 def makeMigrations(self, apps, migration=None, dryRun=False):
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2423 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2424 Public method to generate migrations.
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 @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
2427 @type list of str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2428 @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
2429 @type str
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2430 @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
2431 @type bool
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2432 """
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2433 title = self.tr("Make Migrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2434
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2435 try:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2436 path = self.__sitePath()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2437 except DjangoNoSiteSelectedException:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2438 return
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2439
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2440 args = []
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2441 args.append(self.__getPythonExecutable())
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2442 args.append("manage.py")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2443 args.append("makemigrations")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2444 args.append("--noinput")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2445 if migration:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2446 args.append("--name")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2447 args.append(migration.replace(" ", "_"))
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2448 if dryRun:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2449 args.append("--dry-run")
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2450 if apps:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2451 args += apps
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2452
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2453 dia = DjangoDialog(title)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2454 res = dia.startProcess(args, path)
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2455 if res:
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2456 dia.exec_()
8a4ccc4f1359 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
2457
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2458 def __squashMigrations(self):
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2459 """
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2460 Private slot to squash migrations.
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2461 """
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2462 migrations = self.__getMigrations()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2463 if not migrations:
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2464 E5MessageBox.information(
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2465 None,
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2466 self.tr("Squash Migrations"),
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2467 self.tr("""No migrations available."""))
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2468 return
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2469
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2470 from .DjangoSquashMigrationSelectionDialog import \
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2471 DjangoSquashMigrationSelectionDialog
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2472 dlg = DjangoSquashMigrationSelectionDialog(
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2473 migrations, self.getDjangoVersion() >= (1, 9, 0))
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2474 if dlg.exec_() == QDialog.Accepted:
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2475 app, start, end, noOptimize = dlg.getData()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2476
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2477 title = self.tr("Squash Migrations")
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2478
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2479 try:
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2480 path = self.__sitePath()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2481 except DjangoNoSiteSelectedException:
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2482 return
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2483
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2484 args = []
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2485 args.append(self.__getPythonExecutable())
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2486 args.append("manage.py")
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2487 args.append("squashmigrations")
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2488 args.append("--noinput")
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2489 if noOptimize:
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2490 args.append("--no-optimize")
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2491 args.append(app)
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2492 if start:
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2493 args.append(start)
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2494 args.append(end)
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2495
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2496 dia = DjangoDialog(title)
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2497 res = dia.startProcess(args, path)
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2498 if res:
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2499 dia.exec_()
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2500
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
2501 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2502 ## slots below implement some tool functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2503 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2504
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2505 def __diffSettings(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2506 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2507 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
2508 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2509 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
2510
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2511 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2512 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2513 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2514 args.append("diffsettings")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2515
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2516 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2517 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2518 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2519 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2520
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2521 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
2522 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
2523 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2524 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2525
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2526 def __cleanup(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2527 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2528 Private slot to clean out old data from the database.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2529 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2530 title = self.tr("Cleanup")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2531
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2532 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2533 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2534 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2535 args.append("cleanup")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2536
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2537 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2538 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2539 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2540 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2541
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2542 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2543 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2544 msgSuccess=self.tr("Database cleaned up successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2545 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
2546 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2547 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2548
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2549 def __validate(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2550 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2551 Private slot to validate all installed models.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2552 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2553 title = self.tr("Validate")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2554
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2555 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2556 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2557 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2558 args.append("validate")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2559
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2560 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2561 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2562 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2563 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2564
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2565 dia = DjangoDialog(title)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2566 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
2567 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2568 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2569
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2570 def __runPythonShell(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2571 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2572 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
2573 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2574 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2575 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
2576 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2577 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2578 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
2579 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2580 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2581 args.append("shell")
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
2582 language = self.__e5project.getProjectLanguage()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
2583 if language == "Python2":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
2584 if self.__plugin.getPreferences("UsePlainPythonPy2"):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
2585 args.append("--plain")
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
2586 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
2587 if self.__plugin.getPreferences("UsePlainPythonPy3"):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
2588 args.append("--plain")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2589 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2590 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2591 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
2592 if not started:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2593 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2594 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2595 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2596 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
2597 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2598 pass
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2599
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2600 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2601 ## slots below implement caching functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2602 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2603
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2604 def __createCacheTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2605 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2606 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
2607 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2608 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
2609
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2610 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2611 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2612 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2613 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2614
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2615 tblStr, ok = QInputDialog.getText(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2616 self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2617 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2618 self.tr("Enter the names of the cache tables separated by"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2619 " spaces."),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2620 QLineEdit.Normal)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2621 if ok and tblStr != "":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2622 tableNames = tblStr.split()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2623
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2624 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2625 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2626 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2627 args.append("createcachetable")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2628 args += tableNames
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2629
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2630 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2631 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2632 msgSuccess=self.tr("Cache tables created successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2633 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
2634 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2635 dia.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2636
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2637 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2638 ## slots below implement testing functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2639 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2640
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2641 def __dumpData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2642 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2643 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
2644 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2645 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
2646
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2647 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2648 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2649 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2650 return
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 from .DjangoDumpdataDataDialog import DjangoDumpdataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2653 dlg = DjangoDumpdataDataDialog(self, self.__ui)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2654 if dlg.exec_() == QDialog.Accepted:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2655 appls, excls, format, indent = dlg.getData()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2656
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2657 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2658 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2659 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2660 args.append("dumpdata")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2661 args.append("--format={0}".format(format))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2662 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
2663 for excl in excls:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2664 args.append("--exclude={0}".format(excl))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2665 args += appls
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2666
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2667 if format == "json":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2668 fileFilters = self.tr("JSON Files (*.json)")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2669 elif format == "xml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2670 fileFilters = self.tr("XML Files (*.xml)")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2671 elif format == "yaml":
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2672 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
2673
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2674 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2675 title, fixed=True, linewrap=False, saveFilters=fileFilters)
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2676 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
2677 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2678 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2679
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2680 def __loadData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2681 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2682 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
2683 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2684 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
2685
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2686 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2687 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2688 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2689 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2690
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2691 from .DjangoLoaddataDataDialog import DjangoLoaddataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2692 dlg = DjangoLoaddataDataDialog(self, self.__ui)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2693 if dlg.exec_() == QDialog.Accepted:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2694 fixtures = dlg.getData()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2695
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2696 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2697 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2698 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2699 args.append("loaddata")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2700 args += fixtures
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2701
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2702 dia = DjangoDialog(title)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2703 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
2704 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2705 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2706
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2707 def __runTestSuite(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2708 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2709 Private slot to run the test suite for applications or the whole site.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2710 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2711 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2712 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
2713 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2714 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2715 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2716 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2717 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2718
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2719 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2720 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
2721 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2722 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2723 args.append("test")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2724 args += self.__getApplications()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2725
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2726 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
2727 if not started:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2728 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2729 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2730 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2731 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
2732
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2733 def __runTestServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2734 """
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2735 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
2736 fixtures.
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2737 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2738 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2739 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
2740 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2741 from .DjangoLoaddataDataDialog import DjangoLoaddataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2742 dlg = DjangoLoaddataDataDialog(self, self.__ui)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2743 if dlg.exec_() == QDialog.Accepted:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2744 fixtures = dlg.getData()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2745
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2746 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2747 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
2748 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2749 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2750 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
2751 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
2752 args.append("--ipv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2753 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
2754 if addr:
75
0165ce437462 Continued adding support for the various migration commands.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
2755 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
2756 args += fixtures
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2757
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2758 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2759 if Utilities.isWindowsPlatform():
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2760 serverProcStarted, pid = QProcess.startDetached(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2761 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
2762 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2763 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
2764 self.__testServerProcFinished()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2765
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2766 self.__testServerProc = QProcess()
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2767 self.__testServerProc.finished.connect(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2768 self.__serverProcFinished)
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2769 self.__testServerProc.setWorkingDirectory(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2770 self.__sitePath())
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2771 self.__testServerProc.start(args[0], args[1:])
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2772 serverProcStarted = \
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2773 self.__testServerProc.waitForStarted()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2774 if not serverProcStarted:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2775 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2776 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2777 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2778 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
2779 ' started.'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2780 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2781 pass
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2782
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2783 def __testServerProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2784 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2785 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
2786 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2787 if self.__testServerProc is not None and \
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2788 self.__testServerProc.state() != QProcess.NotRunning:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2789 self.__testServerProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2790 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
2791 self.__testServerProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2792 self.__testServerProc = None
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2793
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2794 ##################################################################
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2795 ## slots below implement authorization functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2796 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2797
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2798 def __changePassword(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2799 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2800 Private slot to change the password of a user.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2801 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2802 consoleCmd = self.__isSpawningConsole(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2803 self.__plugin.getPreferences("ConsoleCommandNoClose"))[1]
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2804 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2805 userName, ok = QInputDialog.getText(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2806 self.__ui,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2807 self.tr("Change Password"),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2808 self.tr("Enter the name of the user:"),
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2809 QLineEdit.Normal)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2810 if ok and userName != "":
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2811 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2812 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2813 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2814 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2815 args.append("changepassword")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2816 args.append(userName)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2817 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2818 wd = self.__sitePath()
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2819 started, pid = QProcess.startDetached(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2820 args[0], args[1:], wd)
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2821 if not started:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2822 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2823 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2824 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2825 self.tr('The Django process could not be'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2826 ' started.'))
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2827 except DjangoNoSiteSelectedException:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2828 pass
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2829
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2830 def __createSuperUser(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2831 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2832 Private slot to create a super user account.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2833 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2834 consoleCmd = self.__isSpawningConsole(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2835 self.__plugin.getPreferences("ConsoleCommandNoClose"))[1]
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2836 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2837 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2838 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2839 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2840 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2841 args.append("createsuperuser")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2842 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2843 wd = self.__sitePath()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2844 started, pid = QProcess.startDetached(args[0], args[1:], wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2845 if not started:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2846 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2847 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2848 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2849 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
2850 except DjangoNoSiteSelectedException:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2851 pass
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2852
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2853 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2854 ## slots below implement session functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2855 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2856
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2857 def __clearSessions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2858 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2859 Private slot to clear expired sessions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2860 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2861 title = self.tr("Clear Sessions")
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2862
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2863 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2864 wd = self.__sitePath()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2865 except DjangoNoSiteSelectedException:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2866 return
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2867
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2868 args = []
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2869 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2870 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2871 args.append("clearsessions")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2872
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2873 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2874 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2875 msgSuccess=self.tr("Expired sessions cleared successfully."))
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2876 res = dia.startProcess(args, wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2877 if res:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2878 dia.exec_()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2879
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
2880 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2881 ## slots below implement translation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2882 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2883
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2884 def __getLocale(self, filename):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2885 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2886 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
2887
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2888 @param filename name of the file used for extraction (string)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2889 @return extracted locale (string) or None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2890 """
64
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
2891 if self.__e5project.getTranslationPattern():
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
2892 pattern = self.__e5project.getTranslationPattern()\
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2893 .replace("%language%", "(.*?)")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2894 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
2895 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
2896 loc = match.group(1)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2897 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2898 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2899 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2900 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2901 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2902
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2903 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2904
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2905 def __normalizeList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2906 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2907 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
2908
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2909 @param filenames list of file names to normalize (list of strings)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2910 @return normalized file names (list of strings)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2911 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2912 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2913 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2914 if filename.endswith(".mo"):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2915 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
2916 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
2917 nfilenames.append(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2918
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2919 return nfilenames
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2920
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2921 def __siteFilteredList(self, filenames):
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 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
2924
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2925 @param filenames list of file names to be filtered (list of strings)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2926 @return file names belonging to the current site (list of strings)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2927 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2928 site = self.__site()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2929 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2930 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2931 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
2932 nfilenames.append(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2933
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2934 return nfilenames
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 def __projectLanguageAdded(self, code):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2937 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2938 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
2939
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2940 @param code language code of the new language (string)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2941 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2942 title = self.tr("Initializing message catalog for '{0}'")\
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2943 .format(code)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2944
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2945 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2946 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2947 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2948 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2949 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2950 args.append(code)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2951
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2952 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2953 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2954 except DjangoNoSiteSelectedException:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2955 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2956 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2957 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2958 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
2959 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2960 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2961
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2962 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2963 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2964 msgSuccess=self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2965 "\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
2966 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
2967 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2968 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2969
64
001e2a4e8677 Adjustments to eric changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 60
diff changeset
2970 langFile = self.__e5project.getTranslationPattern()\
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2971 .replace("%language%", code)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2972 self.__e5project.appendFile(langFile)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2973
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2974 def updateSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2975 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2976 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2977
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2978 @param filenames list of file names (list of strings)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2979 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2980 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
2981
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2982 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2983 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2984 except DjangoNoSiteSelectedException:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2985 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2986 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2987 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
2988 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
2989 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2990 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2991
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2992 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2993
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2994 for filename in self.__normalizeList(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
2995 self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2996 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2997 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2998 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2999 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3000 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3001 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3002 args.append("--no-obsolete")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3003 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3004 args.append(locale)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3005 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3006
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3007 if len(argsLists) == 0:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3008 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3009 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3010 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3011 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
3012 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3013
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3014 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3015 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3016 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
3017 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
3018 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3019 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3020
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3021 def updateSelectedCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3022 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3023 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
3024
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3025 @param filenames list of filenames
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3026 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3027 title = self.tr("Updating message catalogs (keeping obsolete"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3028 " messages)")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3029
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3030 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3031 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3032 except DjangoNoSiteSelectedException:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3033 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3034 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3035 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3036 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
3037 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3038 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3039
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3040 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3041
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3042 for filename in self.__normalizeList(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3043 self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3044 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3045 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3046 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3047 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3048 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3049 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3050 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3051 args.append(locale)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3052 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3053
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3054 if len(argsLists) == 0:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3055 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3056 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3057 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3058 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
3059 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3060
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3061 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3062 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3063 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
3064 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
3065 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3066 dia.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3067
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3068 def updateCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3069 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3070 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3071
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3072 @param filenames list of filenames (not used)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3073 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3074 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
3075
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3076 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3077 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3078 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3079 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3080 args.append("-a")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3081 args.append("--no-obsolete")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3082
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3083 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3084 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3085 except DjangoNoSiteSelectedException:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3086 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3087 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3088 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3089 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
3090 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3091 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3092
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3093 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3094 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3095 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
3096 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
3097 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3098 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3099
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3100 def updateCatalogsWithObsolete(self, filenames):
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 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
3103
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3104 @param filenames list of filenames (not used)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3105 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3106 title = self.tr("Updating message catalogs (keeping obsolete"
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3107 " messages)")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3108
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3109 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3110 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3111 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3112 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3113 args.append("-a")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3114
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3115 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3116 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3117 except DjangoNoSiteSelectedException:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3118 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3119 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3120 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3121 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
3122 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3123 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3124
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3125 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3126 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3127 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
3128 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
3129 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3130 dia.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3131
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3132 def compileSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3133 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3134 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3135
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3136 @param filenames list of filenames
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3137 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3138 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
3139
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3140 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3141 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3142 except DjangoNoSiteSelectedException:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3143 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3144 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3145 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3146 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
3147 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3148 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3149
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3150 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3151
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3152 for filename in self.__normalizeList(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3153 self.__siteFilteredList(filenames)):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3154 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3155 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3156 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3157 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3158 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3159 args.append("compilemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3160 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3161 args.append(locale)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3162 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3163
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3164 if len(argsLists) == 0:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3165 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3166 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3167 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3168 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
3169 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3170
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3171 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3172 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3173 msgSuccess=self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3174 "\nMessage catalogs compiled successfully."))
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3175 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
3176 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3177 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3178
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3179 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
3180 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
3181 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
3182 if fullName.endswith('.mo'):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3183 self.__e5project.appendFile(fullName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3184
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3185 def compileCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3186 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3187 Public method to compile the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3188
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3189 @param filenames list of filenames (not used)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3190 """
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3191 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
3192
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3193 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3194 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3195 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3196 args.append("compilemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3197
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3198 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3199 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3200 except DjangoNoSiteSelectedException:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3201 E5MessageBox.warning(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3202 None,
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3203 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3204 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
3205 ' Aborting...'))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3206 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3207
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3208 dia = DjangoDialog(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3209 title,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3210 msgSuccess=self.tr(
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3211 "\nMessage catalogs compiled successfully."))
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
3212 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
3213 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3214 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3215
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3216 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
3217 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
3218 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
3219 if fullName.endswith('.mo'):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
3220 self.__e5project.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
3221
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3222 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
3223 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3224 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
3225
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3226 @param poFile name of the .po file (string)
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3227 """
09e9084796de Added a menu entry to call a translations editor from the translations viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 16
diff changeset
3228 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
3229 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
3230 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
3231 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
3232 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
3233 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
3234 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
3235 if not started:
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3236 E5MessageBox.critical(
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3237 None,
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3238 self.tr('Process Generation Error'),
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3239 self.tr('The translations editor process ({0}) could'
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
3240 ' not be started.')
29
76d04dd67367 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 27
diff changeset
3241 .format(os.path.basename(editor)))
78
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3242
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3243 ##################################################################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3244 ## slots below implement check functions
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3245 ##################################################################
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3246
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3247 def __performCheck(self):
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3248 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3249 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
3250 """
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3251 try:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3252 path = self.__sitePath()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3253 except DjangoNoSiteSelectedException:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3254 return
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3255
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3256 from .DjangoCheckOptionsDialog import DjangoCheckOptionsDialog
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3257 dlg = DjangoCheckOptionsDialog(
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3258 self.__getPythonExecutable(), path, self.getRecentApplications(),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3259 self.__plugin.getPreferences("CheckDeployMode"),
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3260 )
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3261 if dlg.exec_() == QDialog.Accepted:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3262 deploy, tags, appsStr, settingsFile = dlg.getData()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3263 self.__plugin.setPreferences("CheckDeployMode", deploy)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3264 if appsStr != "":
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3265 self.setMostRecentApplication(appsStr)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3266 apps = appsStr.split()
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3267
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3268 args = []
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3269 args.append(self.__getPythonExecutable())
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3270 args.append("manage.py")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3271 args.append("check")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3272 for tag in tags:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3273 args.append("--tag")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3274 args.append(tag)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3275 if deploy:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3276 args.append("--deploy")
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3277 if settingsFile:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3278 args.append("--settings={0}".format(settingsFile))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3279 args += apps
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3280
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3281 dia = DjangoDialog(self.tr("Check Project"))
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3282 res = dia.startProcess(args, path, mergedOutput=True)
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3283 if res:
5822c2e2b1c7 Added support for the check command.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 77
diff changeset
3284 dia.exec_()

eric ide

mercurial