ProjectDjango/Project.py

Tue, 26 Mar 2013 16:37:01 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 26 Mar 2013 16:37:01 +0100
changeset 9
8fe581309106
parent 8
07d64408f2b7
child 10
77b4a30cdbbf
permissions
-rw-r--r--

Made the plug-in differentiate between the selected Python version.

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
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de>
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the Django project support.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import sys
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
12 import re
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
14 from PyQt4.QtCore import QObject, QProcess, QTimer, QUrl, QFileInfo
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
15 from PyQt4.QtGui import QMenu, QInputDialog, QLineEdit, QDesktopServices, QDialog
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 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
18 from E5Gui import E5MessageBox, E5FileDialog
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from E5Gui.E5Action import E5Action
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
21 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
22
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 from .DjangoDialog import DjangoDialog
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 import Preferences
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 import Utilities
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
27 import UI.PixmapCache
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 class DjangoNoSiteSelectedException(Exception):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 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
33 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 pass
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 class Project(QObject):
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 implementing the Django project support.
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 RecentApplicationsKey = "Django/RecentApplications"
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 def __init__(self, plugin, parent=None):
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 Constructor
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 @param plugin reference to the plugin object
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 @param parent parent (QObject)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 super().__init__(parent)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 self.__plugin = plugin
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__ui = parent
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 self.__e5project = e5App().getObject("Project")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.__hooksInstalled = False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.__mainMenu = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.__serverProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.__testServerProc = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.__loadRecentApplications()
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
64
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
65 self.__djangoVersion = ""
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 def initActions(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 Public method to define the Pyramid actions.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.actions = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.selectSiteAct = E5Action(self.trUtf8('Current Project'),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 "",
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
76 self, 'django_current_project')
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 self.selectSiteAct.setStatusTip(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 'Selects the current project'))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.selectSiteAct.setWhatsThis(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 """<b>Current Project</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 """<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
82 """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
83 ))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self.selectSiteAct.triggered[()].connect(self.__selectSite)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.actions.append(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.__setCurrentSite(None)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87
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 ## start actions below ##
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
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.startProjectAct = E5Action(self.trUtf8('Start Project'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
93 self.trUtf8('Start &Project'),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
95 self, 'django_start_project')
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 self.startProjectAct.setStatusTip(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 'Starts a new Django project'))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.startProjectAct.setWhatsThis(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 """<b>Start Project</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 """<p>Starts a new Django project using "django-admin.py startproject".</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 ))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 self.startProjectAct.triggered[()].connect(self.__startProject)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.actions.append(self.startProjectAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 self.startGlobalApplicationAct = E5Action(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 self.trUtf8('Start Application (global)'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
107 self.trUtf8('Start Application (&global)'),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
109 self, 'django_start_global_application')
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 self.startGlobalApplicationAct.setStatusTip(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 'Starts a new global Django application'))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 self.startGlobalApplicationAct.setWhatsThis(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 """<b>Start Application (global)</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 """<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
115 """ "django-admin.py startapp".</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 ))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 self.startGlobalApplicationAct.triggered[()].connect(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 self.__startGlobalApplication)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 self.actions.append(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 self.startLocalApplicationAct = E5Action(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.trUtf8('Start Application (local)'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
123 self.trUtf8('Start Application (&local)'),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
125 self, 'django_start_local_application')
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 self.startLocalApplicationAct.setStatusTip(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 'Starts a new local Django application'))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 self.startLocalApplicationAct.setWhatsThis(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 """<b>Start Application (local)</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 """<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
131 """ "manage.py startapp".</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 ))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.startLocalApplicationAct.triggered[()].connect(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 self.__startLocalApplication)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 self.actions.append(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
137 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
138 ## run actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
139 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
140
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
141 self.runServerAct = E5Action(self.trUtf8('Run Server'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
142 self.trUtf8('Run &Server'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
143 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
144 self, 'django_run_server')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
145 self.runServerAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
146 'Starts the Django Web server'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
147 self.runServerAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
148 """<b>Run Server</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
149 """<p>Starts the Django Web server using "manage.py runserver".</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
150 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
151 self.runServerAct.triggered[()].connect(self.__runServer)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
152 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
153
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
154 self.runBrowserAct = E5Action(self.trUtf8('Run Web-Browser'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
155 self.trUtf8('Run &Web-Browser'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
156 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
157 self, 'django_run_browser')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
158 self.runBrowserAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
159 'Starts the default Web-Browser with the URL of the Django Web server'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
160 self.runBrowserAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
161 """<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
162 """<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
163 """Django Web server.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
164 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
165 self.runBrowserAct.triggered[()].connect(self.__runBrowser)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
166 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
167
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
168 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
169 ## caching actions below ##
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
170 ##############################
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
171
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
172 self.createCacheTableAct = E5Action(self.trUtf8('Create Cache Tables'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
173 self.trUtf8('C&reate Cache Tables'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
174 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
175 self, 'django_create_cache_tables')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
176 self.createCacheTableAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
177 'Creates the tables needed to use the SQL cache backend'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
178 self.createCacheTableAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
179 """<b>Create Cache Tables</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
180 """<p>Creates the tables needed to use the SQL cache backend.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
181 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
182 self.createCacheTableAct.triggered[()].connect(self.__createCacheTables)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
183 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
184
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 ## help action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 self.helpAct = E5Action(self.trUtf8('Help'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
190 self.trUtf8('&Help'),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
192 self, 'django_help')
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 self.helpAct.setStatusTip(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 'Shows the Django help index'))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 self.helpAct.setWhatsThis(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 """<b>Help</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 """<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
198 ))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 self.helpAct.triggered[()].connect(self.__showHelpIndex)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 self.actions.append(self.helpAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 ## about action below ##
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 ##############################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 self.aboutDjangoAct = E5Action(self.trUtf8('About Django'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
207 self.trUtf8('About D&jango'),
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
209 self, 'django_about')
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 self.aboutDjangoAct.setStatusTip(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 'Shows some information about Django'))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 self.aboutDjangoAct.setWhatsThis(self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 """<b>About Django</b>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 """<p>Shows some information about Django.</p>"""
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 ))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 self.aboutDjangoAct.triggered[()].connect(self.__djangoInfo)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 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
218
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
219 self.__initDatabaseActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
220 self.__initDatabaseSqlActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
221 self.__initToolsActions()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
222 self.__initTestingActions()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
223 self.__initAuthorizationActions()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
224 self.__initSessionActions()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
225
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
226 def __initDatabaseActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
227 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
228 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
229 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
230 self.syncDatabaseAct = E5Action(self.trUtf8('Synchronize'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
231 self.trUtf8('&Synchronize'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
232 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
233 self, 'django_database_syncdb')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
234 self.syncDatabaseAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
235 'Synchronizes the database'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
236 self.syncDatabaseAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
237 """<b>Synchronize</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
238 """<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
239 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
240 self.syncDatabaseAct.triggered[()].connect(self.__databaseSynchronize)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
241 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
242
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
243 self.inspectDatabaseAct = E5Action(self.trUtf8('Introspect'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
244 self.trUtf8('&Introspect'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
245 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
246 self, 'django_database_inspect')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
247 self.inspectDatabaseAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
248 'Introspects the database tables and outputs a Django model module'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
249 self.inspectDatabaseAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
250 """<b>Introspect</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
251 """<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
252 """Django model module.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
253 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
254 self.inspectDatabaseAct.triggered[()].connect(self.__databaseInspect)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
255 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
256
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
257 self.flushDatabaseAct = E5Action(self.trUtf8('Flush'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
258 self.trUtf8('&Flush'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
259 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
260 self, 'django_database_flush')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
261 self.flushDatabaseAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
262 'Returns all database tables to the state just after their installation'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
263 self.flushDatabaseAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
264 """<b>Flush</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
265 """<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
266 """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
267 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
268 self.flushDatabaseAct.triggered[()].connect(self.__databaseFlush)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
269 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
270
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
271 self.databaseClientAct = E5Action(self.trUtf8('Start Client Console'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
272 self.trUtf8('Start &Client Console'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
273 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
274 self, 'django_database_client')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
275 self.databaseClientAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
276 'Starts a console window for the database client'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
277 self.databaseClientAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
278 """<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
279 """<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
280 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
281 self.databaseClientAct.triggered[()].connect(self.__runDatabaseClient)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
282 self.actions.append(self.databaseClientAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
283
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
284 def __initDatabaseSqlActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
285 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
286 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
287 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
288 self.databaseSqlCreateTablesAct = E5Action(self.trUtf8('Create Tables'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
289 self.trUtf8('Create &Tables'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
290 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
291 self, 'django_database_sql_create_tables')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
292 self.databaseSqlCreateTablesAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
293 'Prints the CREATE TABLE 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
294 self.databaseSqlCreateTablesAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
295 """<b>Create Tables</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
296 """<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
297 """more applications.</p>"""
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 self.databaseSqlCreateTablesAct.triggered[()].connect(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
300 self.__databaseSqlCreateTables)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
301 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
302
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
303 self.databaseSqlCreateIndexesAct = E5Action(self.trUtf8('Create Indexes'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
304 self.trUtf8('Create &Indexes'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
305 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
306 self, 'django_database_sql_create_indexes')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
307 self.databaseSqlCreateIndexesAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
308 'Prints the 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
309 self.databaseSqlCreateIndexesAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
310 """<b>Create Indexes</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
311 """<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
312 """more applications.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
313 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
314 self.databaseSqlCreateIndexesAct.triggered[()].connect(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
315 self.__databaseSqlCreateIndexes)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
316 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
317
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
318 self.databaseSqlCreateEverythingAct = E5Action(self.trUtf8('Create Everything'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
319 self.trUtf8('Create &Everything'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
320 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
321 self, 'django_database_sql_create_everything')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
322 self.databaseSqlCreateEverythingAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
323 'Prints the CREATE ... 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
324 self.databaseSqlCreateEverythingAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
325 """<b>Create Everything</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
326 """<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
327 """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
328 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
329 self.databaseSqlCreateEverythingAct.triggered[()].connect(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
330 self.__databaseSqlCreateEverything)
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.databaseSqlCreateEverythingAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
332
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
333 self.databaseSqlCustomAct = E5Action(self.trUtf8('Custom Statements'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
334 self.trUtf8('&Custom Statements'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
335 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
336 self, 'django_database_sql_custom')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
337 self.databaseSqlCustomAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
338 '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
339 'one or more applications'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
340 self.databaseSqlCustomAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
341 """<b>Custom Statements</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
342 """<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
343 """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
344 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
345 self.databaseSqlCustomAct.triggered[()].connect(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
346 self.__databaseSqlCustom)
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.databaseSqlCustomAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
348
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
349 self.databaseSqlDropTablesAct = E5Action(self.trUtf8('Drop Tables'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
350 self.trUtf8('&Drop Tables'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
351 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
352 self, 'django_database_sql_drop_tables')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
353 self.databaseSqlDropTablesAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
354 '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
355 'one or more applications'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
356 self.databaseSqlDropTablesAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
357 """<b>Drop Tables</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
358 """<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
359 """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
360 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
361 self.databaseSqlDropTablesAct.triggered[()].connect(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
362 self.__databaseSqlDropTables)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
363 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
364
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
365 self.databaseSqlFlushAct = E5Action(self.trUtf8('Flush Database'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
366 self.trUtf8('&Flush Database'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
367 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
368 self, 'django_database_sql_flush_database')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
369 self.databaseSqlFlushAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
370 'Prints a list of statements to return 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
371 'just after their installation'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
372 self.databaseSqlFlushAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
373 """<b>Flush Database</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
374 """<p>Prints a list of statements to return all database tables to """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
375 """the state 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
376 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
377 self.databaseSqlFlushAct.triggered[()].connect(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
378 self.__databaseSqlFlushDatabase)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
379 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
380
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
381 self.databaseSqlResetSeqAct = E5Action(self.trUtf8('Reset Sequences'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
382 self.trUtf8('Reset &Sequences'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
383 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
384 self, 'django_database_sql_reset_sequences')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
385 self.databaseSqlResetSeqAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
386 '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
387 'one or more applications'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
388 self.databaseSqlResetSeqAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
389 """<b>Reset Sequences</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
390 """<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
391 """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
392 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
393 self.databaseSqlResetSeqAct.triggered[()].connect(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
394 self.__databaseSqlResetSequences)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
395 self.actions.append(self.databaseSqlResetSeqAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
396
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
397 def __initToolsActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
398 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
399 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
400 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
401 self.diffSettingsAct = E5Action(self.trUtf8('Diff Settings'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
402 self.trUtf8('&Diff Settings'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
403 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
404 self, 'django_tools_diffsettings')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
405 self.diffSettingsAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
406 'Shows the modification made to the settings'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
407 self.diffSettingsAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
408 """<b>Diff Settings</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
409 """<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
410 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
411 self.diffSettingsAct.triggered[()].connect(self.__diffSettings)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
412 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
413
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
414 self.cleanupAct = E5Action(self.trUtf8('Cleanup'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
415 self.trUtf8('&Cleanup'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
416 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
417 self, 'django_tools_cleanup')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
418 self.cleanupAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
419 'Cleans 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
420 self.cleanupAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
421 """<b>Cleanup</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
422 """<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
423 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
424 self.cleanupAct.triggered[()].connect(self.__cleanup)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
425 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
426
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
427 self.validateAct = E5Action(self.trUtf8('Validate'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
428 self.trUtf8('&Validate'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
429 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
430 self, 'django_tools_validate')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
431 self.validateAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
432 'Validates all installed models'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
433 self.validateAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
434 """<b>Validate</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
435 """<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
436 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
437 self.validateAct.triggered[()].connect(self.__validate)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
438 self.actions.append(self.validateAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
439
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
440 self.runPythonShellAct = E5Action(self.trUtf8('Start Python Console'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
441 self.trUtf8('Start &Python Console'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
442 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
443 self, 'django_tools_pythonconsole')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
444 self.runPythonShellAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
445 'Starts a Python interactive interpreter'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
446 self.runPythonShellAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
447 """<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
448 """<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
449 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
450 self.runPythonShellAct.triggered[()].connect(self.__runPythonShell)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
451 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
452
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
453 def __initTestingActions(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
454 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
455 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
456 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
457 self.dumpDataAct = E5Action(self.trUtf8('Dump Data'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
458 self.trUtf8('&Dump Data'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
459 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
460 self, 'django_tools_dumpdata')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
461 self.dumpDataAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
462 '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
463 self.dumpDataAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
464 """<b>Dump Data</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
465 """<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
466 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
467 self.dumpDataAct.triggered[()].connect(self.__dumpData)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
468 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
469
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
470 self.loadDataAct = E5Action(self.trUtf8('Load Data'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
471 self.trUtf8('&Load Data'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
472 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
473 self, 'django_tools_loaddata')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
474 self.loadDataAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
475 '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
476 self.loadDataAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
477 """<b>Load Data</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
478 """<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
479 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
480 self.loadDataAct.triggered[()].connect(self.__loadData)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
481 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
482
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
483 self.runTestAct = E5Action(self.trUtf8('Run Testsuite'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
484 self.trUtf8('Run &Testsuite'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
485 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
486 self, 'django_tools_run_test')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
487 self.runTestAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
488 '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
489 self.runTestAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
490 """<b>Run Testsuite</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
491 """<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
492 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
493 self.runTestAct.triggered[()].connect(self.__runTestSuite)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
494 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
495
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
496 self.runTestServerAct = E5Action(self.trUtf8('Run Testserver'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
497 self.trUtf8('Run Test&server'),
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
498 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
499 self, 'django_tools_run_test_server')
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
500 self.runTestServerAct.setStatusTip(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
501 'Run a development server with data from a set of fixtures'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
502 self.runTestServerAct.setWhatsThis(self.trUtf8(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
503 """<b>Run Testserver</b>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
504 """<p>Run a development server with data from a set of fixtures.</p>"""
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
505 ))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
506 self.runTestServerAct.triggered[()].connect(self.__runTestServer)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
507 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
508
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
509 def __initAuthorizationActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
510 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
511 Private method to define the authorization actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
512 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
513 self.changePasswordAct = E5Action(self.trUtf8('Change Password'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
514 self.trUtf8('Change &Password'),
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
515 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
516 self, 'django_auth_changepassword')
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
517 self.changePasswordAct.setStatusTip(self.trUtf8(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
518 'Change the password of a user'))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
519 self.changePasswordAct.setWhatsThis(self.trUtf8(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
520 """<b>Change Password</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
521 """<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
522 ))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
523 self.changePasswordAct.triggered[()].connect(self.__changePassword)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
524 self.actions.append(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
525
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
526 self.createSuperUserAct = E5Action(self.trUtf8('Create Superuser'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
527 self.trUtf8('Create &Superuser'),
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
528 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
529 self, 'django_auth_createsuperuser')
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
530 self.createSuperUserAct.setStatusTip(self.trUtf8(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
531 'Create a superuser account'))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
532 self.createSuperUserAct.setWhatsThis(self.trUtf8(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
533 """<b>Create Superuser</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
534 """<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
535 ))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
536 self.createSuperUserAct.triggered[()].connect(self.__createSuperUser)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
537 self.actions.append(self.createSuperUserAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
538
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
539 def __initSessionActions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
540 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
541 Private method to define the session actions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
542 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
543 self.clearSessionsAct = E5Action(self.trUtf8('Clear Sessions'),
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
544 self.trUtf8('Clear &Sessions'),
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
545 0, 0,
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
546 self, 'django_session_clearsessions')
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
547 self.clearSessionsAct.setStatusTip(self.trUtf8(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
548 'Clear expired sessions'))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
549 self.clearSessionsAct.setWhatsThis(self.trUtf8(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
550 """<b>Clear Sessions</b>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
551 """<p>Clear expired sessions of the Django project.</p>"""
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
552 ))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
553 self.clearSessionsAct.triggered[()].connect(self.__clearSessions)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
554 self.actions.append(self.clearSessionsAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
555
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556 def initMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
557 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
558 Public slot to initialize the Django menu.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
560 @return the menu generated (QMenu)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
561 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
562 menu = QMenu(self.trUtf8('D&jango'), self.__ui)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
563 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 menu.addAction(self.selectSiteAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
567 menu.addAction(self.runServerAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
568 menu.addAction(self.runBrowserAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570 menu.addAction(self.startProjectAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 menu.addAction(self.startGlobalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572 menu.addAction(self.startLocalApplicationAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 menu.addMenu(self.__initDatabaseMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576 menu.addMenu(self.__initToolsMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
578 menu.addAction(self.createCacheTableAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 menu.addMenu(self.__initTestingMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 menu.addSeparator()
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
582 menu.addMenu(self.__initAuthorizationMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
583 menu.addSeparator()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
584 menu.addMenu(self.__initSessionMenu())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
585 menu.addSeparator()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 menu.addAction(self.aboutDjangoAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 menu.addAction(self.helpAct)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 self.__mainMenu = menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 def __initDatabaseMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 Private slot to initialize the database menu.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 @return the menu generated (QMenu)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600 menu = QMenu(self.trUtf8("&Database"), self.__ui)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
603 menu.addAction(self.syncDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
605 menu.addAction(self.inspectDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
607 menu.addAction(self.flushDatabaseAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
609 menu.addAction(self.databaseClientAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 menu.addSeparator()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611 menu.addMenu(self.__initDatabaseSqlMenu())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
612
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
613 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
614
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 def __initDatabaseSqlMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
616 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
617 Private slot to initialize the database SQL submenu.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 @return the menu generated (QMenu)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
620 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
621 menu = QMenu(self.trUtf8("Show &SQL"), self.__ui)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
622 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
624 menu.addAction(self.databaseSqlCreateTablesAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
625 menu.addAction(self.databaseSqlCreateIndexesAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
626 menu.addAction(self.databaseSqlCreateEverythingAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
628 menu.addAction(self.databaseSqlCustomAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
629 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
630 menu.addAction(self.databaseSqlDropTablesAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
631 menu.addSeparator()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
632 menu.addAction(self.databaseSqlFlushAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
633 menu.addAction(self.databaseSqlResetSeqAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
634
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 def __initToolsMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 Private slot to initialize the tools menu.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 @return the menu generated (QMenu)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 menu = QMenu(self.trUtf8("&Tools"), self.__ui)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
646 menu.addAction(self.diffSettingsAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
647 menu.addAction(self.cleanupAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
648 menu.addAction(self.validateAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
649 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
650 menu.addAction(self.runPythonShellAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
651
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
652 return menu
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
653
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
654 def __initTestingMenu(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
655 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
656 Private slot to initialize the testing menu.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
657
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 @return the menu generated (QMenu)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 menu = QMenu(self.trUtf8("T&esting"), self.__ui)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
661 menu.setTearOffEnabled(True)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
662
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
663 menu.addAction(self.dumpDataAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
664 menu.addAction(self.loadDataAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
665 menu.addSeparator()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
666 menu.addAction(self.runTestAct)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
667 menu.addAction(self.runTestServerAct)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
668
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
669 return menu
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
670
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
671 def __initAuthorizationMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
672 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
673 Private slot to initialize the authorization menu.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
674
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
675 @return the menu generated (QMenu)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
676 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
677 menu = QMenu(self.trUtf8("&Authorization"), self.__ui)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
678 menu.setTearOffEnabled(True)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
679
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
680 menu.addAction(self.changePasswordAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
681 menu.addAction(self.createSuperUserAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
682
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
683 return menu
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
684
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
685 def __initSessionMenu(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
686 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
687 Private slot to initialize the authorization menu.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
688
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
689 @return the menu generated (QMenu)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
690 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
691 menu = QMenu(self.trUtf8("&Session"), self.__ui)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
692 menu.setTearOffEnabled(True)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
693
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
694 menu.addAction(self.clearSessionsAct)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
695
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
696 return menu
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 ## 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
700 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 def projectOpenedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 Public method to add our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 if self.__e5project.getProjectType() == "Django":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 self.__formsBrowser = \
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 e5App().getObject("ProjectBrowser").getProjectBrowser("forms")
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
709 self.__formsBrowser.addHookMethodAndMenuEntry("newForm",
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 self.newForm, self.trUtf8("New template..."))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 self.__e5project.projectLanguageAddedByCode.connect(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 self.__projectLanguageAdded)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 self.__translationsBrowser = \
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
715 e5App().getObject("ProjectBrowser").getProjectBrowser("translations")
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
716 self.__translationsBrowser.addHookMethodAndMenuEntry("generateAll",
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717 self.updateCatalogs, self.trUtf8("Update all catalogs"))
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
718 self.__translationsBrowser.addHookMethodAndMenuEntry("generateSelected",
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
719 self.updateSelectedCatalogs, self.trUtf8("Update selected catalogs"))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
720 self.__translationsBrowser.addHookMethodAndMenuEntry(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
721 "generateAllWithObsolete", self.updateCatalogsWithObsolete,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
722 self.trUtf8("Update all catalogs (with obsolete)"))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
723 self.__translationsBrowser.addHookMethodAndMenuEntry(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
724 "generateSelectedWithObsolete", self.updateSelectedCatalogsWithObsolete,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
725 self.trUtf8("Update selected catalogs (with obsolete)"))
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
726 self.__translationsBrowser.addHookMethodAndMenuEntry("releaseAll",
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
727 self.compileCatalogs, self.trUtf8("Compile all catalogs"))
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
728 self.__translationsBrowser.addHookMethodAndMenuEntry("releaseSelected",
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
729 self.compileSelectedCatalogs,
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
730 self.trUtf8("Compile selected catalogs"))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732 self.__hooksInstalled = True
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
734 def projectClosedHooks(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
735 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
736 Public method to remove our hook methods.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
737 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738 if self.__hooksInstalled:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
739 self.__formsBrowser.removeHookMethod("newForm")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740 self.__formsBrowser = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
742 self.__e5project.projectLanguageAddedByCode.disconnect(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
743 self.__projectLanguageAdded)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744 self.__translationsBrowser.removeHookMethod("generateAll")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
745 self.__translationsBrowser.removeHookMethod("generateSelected")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
746 self.__translationsBrowser.removeHookMethod("generateAllWithObsolete")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
747 self.__translationsBrowser.removeHookMethod("generateSelectedWithObsolete")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748 self.__translationsBrowser.removeHookMethod("releaseAll")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749 self.__translationsBrowser.removeHookMethod("releaseSelected")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750 self.__translationsBrowser = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 self.__hooksInstalled = False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 def newForm(self, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 Public method to create a new form.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 @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
759 """
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
760 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
761 self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
762 self.trUtf8("New Form"),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
763 path,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
764 filter,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
765 None,
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
766 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
767
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
768 if not fname:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
769 # 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
770 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
771
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
772 ext = QFileInfo(fname).suffix()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
773 if not ext:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
774 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
775 if ex:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
776 fname += ex
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
777
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
778 if os.path.exists(fname):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
779 res = E5MessageBox.yesNo(self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
780 self.trUtf8("New Form"),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
781 self.trUtf8("The file already exists! Overwrite it?"),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
782 icon=E5MessageBox.Warning)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
783
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
784 if not res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
785 # 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
786 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
787
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
788 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
789 f = open(fname, "w")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
790 f.write('<!DOCTYPE html>')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
791 f.write('<html>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
792 f.write(' <head>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
793 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
794 f.write(' <title></title>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
795 f.write(' <link rel="stylesheet" type="text/css" href="style.css"/>')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
796 f.write(' <!--[if lte IE 7]>')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
797 f.write(' <link rel="stylesheet" type="text/css" href="ie.css"/>')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
798 f.write(' <![endif]-->')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
799 f.write(' </head>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
800 f.write('\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
801 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
802 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
803 f.write(' </div>')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
804 f.write(' </body>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
805 f.close()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
806 f.write('</html>\n')
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
807 f.close()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
808 except (IOError, OSError) as e:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
809 E5MessageBox.critical(self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
810 self.trUtf8("New Form"),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
811 self.trUtf8("<p>The new form file <b>{0}</b> could not be created.<br>"
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
812 "Problem: {1}</p>").format(fname, str(e)))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
813 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
814
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
815 self.__e5project.appendFile(fname)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
816 self.__formsBrowser.sourceFile.emit(fname)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 ## slots below implement general functionality
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 def projectClosed(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
823 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824 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
825 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 if self.__serverProc is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 self.__serverProcFinished()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 self.__setCurrentSite(None)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
830 def __getVirtualEnvironment(self):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
831 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
832 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
833
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
834 @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
835 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
836 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
837 if language == "Python3":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
838 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
839 elif language == "Python2":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
840 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
841 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
842 virtEnv = ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
843 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
844 virtEnv = ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
845 return virtEnv
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
846
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
847 def __getDjangoAdminCommand(self):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
848 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
849 Public method to build a django-admin.py command.
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
850
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
851 @param cmd command (string)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
852 @return full pyramid command (string)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
853 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
854 virtualEnv = self.__getVirtualEnvironment()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
855 if virtualEnv:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
856 if isWindowsPlatform():
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
857 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
858 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
859 cmds = [
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
860 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
861 os.path.join(virtualEnv, "bin", "django-admin"),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
862 os.path.join(virtualEnv, "local", "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
863 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
864 ]
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
865 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
866 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
867 break
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
868 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
869 ""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
870 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
871 if isWindowsPlatform():
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
872 cmd = os.path.join(sys.exec_prefix, "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
873 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
874 if Utilities.isinpath("django-admin.py"):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
875 cmd = "django-admin.py"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
876 elif Utilities.isinpath("django-admin"):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
877 cmd = "django-admin"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
878 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
879 # fall back
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
880 cmd = "django-admin.py"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
881 return cmd
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
882
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
883 def __getPythonExecutable(self):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
884 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
885 Public method to build the Python command.
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
886
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
887 @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
888 """
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
889 python = "python"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
890 if isWindowsPlatform():
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
891 python += ".exe"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
892 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
893 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
894 if language == "Python3":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
895 python = "python3"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
896 elif language == "Python2":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
897 python = "python2"
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
898 virtualEnv = self.__getVirtualEnvironment()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
899 if virtualEnv:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
900 if isWindowsPlatform():
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
901 python = os.path.join(virtualEnv, "Scripts", python)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
902 if not os.path.exists(python):
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
903 python = os.path.join(virtualEnv, python)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
904 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
905 python = os.path.join(virtualEnv, "bin", python)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
906
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
907 return python
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
908
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909 def __djangoInfo(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
911 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
912 """
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
913 version = self.getDjangoVersion()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
914 url = "http://www.djangoproject.com"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
915
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
916 msgBox = E5MessageBox.E5MessageBox(E5MessageBox.Question,
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
917 self.trUtf8("About Django"),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
918 self.trUtf8(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
919 "<p>Django is a high-level Python Web framework that encourages rapid "
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
920 "development and clean, pragmatic design.</p>"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
921 "<p><table>"
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
922 "<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
923 "<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
924 "{1}</a></td></tr>"
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 "</table></p>"
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
926 ).format(version, url),
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
927 modal=True,
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
928 buttons=E5MessageBox.Ok)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
929 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
930 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
931 msgBox.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
932
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
933 def getDjangoVersion(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
934 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
935 Public method to get the Django version.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
936
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
937 @return Django version as a tuple
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
938 """
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
939 if not self.__djangoVersion:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
940 ioEncoding = Preferences.getSystem("IOEncoding")
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
941 cmd = self.__getDjangoAdminCommand()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
942
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
943 process = QProcess()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
944 process.start(cmd, ['--version'])
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
945 procStarted = process.waitForStarted()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
946 if procStarted:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
947 finished = process.waitForFinished(30000)
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
948 if finished and process.exitCode() == 0:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
949 output = \
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
950 str(process.readAllStandardOutput(), ioEncoding, 'replace')
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
951 self.__djangoVersion = output.splitlines()[0].strip()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
952
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
953 return self.__djangoVersion
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
954
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
955 def __getApplications(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
956 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
957 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
958
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
959 @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
960 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
961 applStr, ok = QInputDialog.getItem(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
962 self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
963 self.trUtf8("Select Applications"),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
964 self.trUtf8("Enter the list of applications separated by spaces."),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
965 self.getRecentApplications(),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
966 0, True)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
967 if ok and applStr != "":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
968 self.setMostRecentApplication(applStr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
969 return applStr.split()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
970 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
971 return []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
972
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
973 def __loadRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
974 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
975 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
976 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
977 self.__recentApplications = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
978 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
979 ra = Preferences.Prefs.rsettings.value(self.RecentApplicationsKey)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
980 if ra is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
981 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
982 self.__recentApplications = ra[:maxRecentApps]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
983
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
984 def __saveRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
985 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
986 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
987 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
988 Preferences.Prefs.rsettings.setValue(self.RecentApplicationsKey,
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
989 self.__recentApplications)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
990 Preferences.Prefs.rsettings.sync()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
991
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
992 def getRecentApplications(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
993 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
994 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
995
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
996 @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
997 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
998 self.__loadRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
999 return self.__recentApplications
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1000
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1001 def setMostRecentApplication(self, applStr):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1002 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1003 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
1004
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1005 @param applStr applications entry (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1006 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1007 if applStr in self.__recentApplications:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1008 self.__recentApplications.remove(applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1009 self.__recentApplications.insert(0, applStr)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1010
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1011 maxRecentApps = self.__plugin.getPreferences("RecentNumberApps")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1012 if len(self.__recentApplications) > maxRecentApps:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1013 self.__recentApplications = self.recent[:maxRecentApps]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1014 self.__saveRecentApplications()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1015
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1016 def getProjectPath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1017 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1018 Public method to get the path of the eric5 project.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1019
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1020 @return path of the eric5 project (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1021 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1022 return self.__e5project.getProjectPath()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1023
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1024 def __showHelpIndex(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1025 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1026 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
1027 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1028 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
1029 "Documentation", "help", "index.html")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1030 self.__ui.launchHelpViewer(page)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1031
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1032 def __isSpawningConsole(self, consoleCmd):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1033 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1034 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
1035
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1036 @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
1037 @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
1038 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
1039 (string)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1040 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1041 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
1042 return (True, consoleCmd[1:])
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1043 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1044 return (False, consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1045
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1046 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1047 ## slots below implement creation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1048 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1049
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1050 def startProjectOrApplication(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1051 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1052 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
1053 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1054 if self.__e5project.getProjectType() == "Django":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1055 projectStr = self.trUtf8("Project")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1056 applStr = self.trUtf8("Application")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1057 selections = ["", projectStr, applStr]
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1058 selection, ok = QInputDialog.getItem(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1059 self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1060 self.trUtf8("Start Django"),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1061 self.trUtf8("Select if this project should be a "
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1062 "Django Project or Application.<br />"
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1063 "Select the empty entry for none."),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1064 selections,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1065 0, False)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1066 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
1067 if selection == projectStr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1068 path, projectName = os.path.split(self.__e5project.getProjectPath())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1069 self.__createProject(projectName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1070 elif selection == applStr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1071 path, applName = os.path.split(self.__e5project.getProjectPath())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1072 self.__createApplication(applName, path)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1073
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1074 def __createProject(self, projectName, path):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1075 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1076 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
1077
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1078 @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
1079 @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
1080 (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1081 @return flag indicating a successful creation (boolean)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1082 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1083 title = self.trUtf8("Start Django Project")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1084
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1085 args = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1086 if Utilities.isWindowsPlatform():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1087 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
1088 args.append(self.__getDjangoAdminCommand())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1089 else:
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1090 cmd = self.__getDjangoAdminCommand()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1091 if cmd:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1092 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1093 else:
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1094 E5MessageBox.critical(self.__ui,
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1095 title,
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1096 self.trUtf8("""<p>The <b>django-admin.py</b> script is not in"""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1097 """ the path. Aborting...</p>"""))
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1098 return
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1099
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1100 args.append("startproject")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1101 args.append(projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1102
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1103 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1104 msgSuccess=self.trUtf8("Django project created successfully."))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1105 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1106 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1107 dia.exec_()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1108
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1109 # create the base directory for translations
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1110 i18nPath = os.path.join(path, projectName, "locale")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1111 if not os.path.exists(i18nPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1112 os.makedirs(i18nPath)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1113
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1114 if os.path.join(path, projectName) == self.__e5project.getProjectPath():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1115 self.__setCurrentSite("")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1116 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1117 self.__setCurrentSite(projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1118
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1119 return res
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1120
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1121 def __startProject(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1122 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1123 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
1124 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1125 projectName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1126 self.__ui,
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1127 self.trUtf8("Start Django Project"),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1128 self.trUtf8("Enter the name of the new Django project."),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1129 QLineEdit.Normal)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1130 if ok and projectName != "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1131 res = self.__createProject(projectName, self.__e5project.getProjectPath())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1132 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1133 # 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
1134 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
1135 projectName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1136 for entry in os.walk(sitePath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1137 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1138 fullName = os.path.join(entry[0], fileName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1139 self.__e5project.appendFile(fullName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1140
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1141 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
1142 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1143 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
1144
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1145 @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
1146 @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
1147 (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1148 @param isGlobal flag indicating a standalone Django application (boolean)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1149 @return flag indicating a successful creation (boolean)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1150 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1151 title = self.trUtf8("Start Django Application")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1152
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1153 args = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1154 if isGlobal:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1155 if Utilities.isWindowsPlatform():
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1156 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
1157 args.append(self.__getDjangoAdminCommand())
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1158 else:
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1159 cmd = self.__getDjangoAdminCommand()
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1160 if cmd:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1161 args.append(cmd)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1162 else:
9
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1163 E5MessageBox.critical(self.__ui,
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1164 title,
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1165 self.trUtf8("""<p>The <b>django-admin.py</b> script is not in"""
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1166 """ the path. Aborting...</p>"""))
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1167 return
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1168 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1169 args.append(self.__getPythonExecutable())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1170 args.append("manage.py")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1171 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1172 path = self.__sitePath()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1173 except DjangoNoSiteSelectedException:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1174 return False
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1175 args.append("startapp")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1176 args.append(applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1177
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1178 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1179 msgSuccess=self.trUtf8("Django application created successfully."))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1180 res = dia.startProcess(args, path)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1181 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1182 dia.exec_()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1183 return res
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1184
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1185 def __startGlobalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1186 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1187 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
1188 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1189 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1190 self.__ui,
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1191 self.trUtf8("Start Global Django Application"),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1192 self.trUtf8("Enter the name of the new global Django application."),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1193 QLineEdit.Normal)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1194 if ok and applName != "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1195 res = self.__createApplication(applName, self.__e5project.getProjectPath())
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1196 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1197 # 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
1198 appPath = os.path.join(self.__e5project.getProjectPath(), applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1199 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1200 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1201 fullName = os.path.join(entry[0], fileName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1202 self.__e5project.appendFile(fullName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1203
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1204 def __startLocalApplication(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1205 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1206 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
1207 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1208 applName, ok = QInputDialog.getText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1209 self.__ui,
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1210 self.trUtf8("Start Local Django Application"),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1211 self.trUtf8("Enter the name of the new local Django application."),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1212 QLineEdit.Normal)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1213 if ok and applName != "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1214 res = self.__createApplication(applName, "", False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1215 if res:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1216 try:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1217 # 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
1218 appPath = os.path.join(self.__sitePath(), applName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1219 for entry in os.walk(appPath):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1220 for fileName in entry[2]:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1221 fullName = os.path.join(entry[0], fileName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1222 self.__e5project.appendFile(fullName)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1223 except DjangoNoSiteSelectedException:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1224 return
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1225
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1226 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1227 ## methods below implement site related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1228 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1229
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1230 def __findSites(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1231 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1232 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
1233
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1234 @return list of sites (list of strings)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1235 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1236 sites = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1237 for file in sorted(self.__e5project.getSources()):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1238 if os.path.basename(file) == "manage.py":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1239 sites.append(os.path.dirname(file))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1240 return sites
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1241
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1242 def __selectSite(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1243 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1244 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
1245
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1246 @return selected site (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1247 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1248 sites = self.__findSites()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1249 if len(sites) == 1:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1250 site = sites[0]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1251 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1252 if self.__currentSite is not None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1253 if self.__currentSite in sites:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1254 cur = sites.index(self.__currentSite)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1255 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1256 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1257 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1258 cur = 0
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1259 site, ok = QInputDialog.getItem(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1260 self.__ui,
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1261 self.trUtf8("Select Project"),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1262 self.trUtf8("Select the Django project to work with."),
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1263 sites,
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1264 cur, False)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1265 if not ok:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1266 site = None
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1267 self.__setCurrentSite(site)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1268
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1269 def __sitePath(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1270 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1271 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
1272
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1273 @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
1274 @return path of the site (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1275 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1276 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1277 self.__selectSite()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1278
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1279 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1280 raise DjangoNoSiteSelectedException
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1281 else:
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1282 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
1283 self.__currentSite)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1284
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1285 def __setCurrentSite(self, site):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1286 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1287 Private slot to set the current site.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1288
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1289 @param site name of the site (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1290 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1291 self.__currentSite = site
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1292 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1293 curSite = self.trUtf8("None")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1294 elif self.__currentSite == "":
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1295 curSite = self.trUtf8("Project")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1296 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1297 curSite = self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1298 self.selectSiteAct.setText(
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1299 self.trUtf8('&Current Django project ({0})').format(curSite))
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1300
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1301 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1302 self.__e5project.pdata["TRANSLATIONPATTERN"] = []
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1303 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1304 self.__e5project.pdata["TRANSLATIONPATTERN"] = [
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1305 os.path.join(site, "locale", "%language%", "LC_MESSAGES", "django.po")
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1306 ]
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1307
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1308 def __site(self):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1309 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1310 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
1311
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1312 @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
1313 @return name of the site (string)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1314 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1315 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1316 self.__selectSite()
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1317
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1318 if self.__currentSite is None:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1319 raise DjangoNoSiteSelectedException
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1320 else:
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1321 return self.__currentSite
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1322
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1323 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1324 ## slots below implement run functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1325 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1326
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1327 def __runServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1328 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1329 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
1330 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1331 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1332 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
1333 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1334 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1335 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
1336 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1337 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1338 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
1339 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
1340 args.append("--ipv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1341 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
1342 if addr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1343 args.append(addr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1344
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1345 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1346 if Utilities.isWindowsPlatform():
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1347 serverProcStarted, pid = \
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1348 QProcess.startDetached(args[0], args[1:], self.__sitePath())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1349 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1350 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
1351 self.__serverProcFinished()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1352
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1353 self.__serverProc = QProcess()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1354 self.__serverProc.finished.connect(self.__serverProcFinished)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1355 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
1356 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
1357 serverProcStarted = self.__serverProc.waitForStarted()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1358 if not serverProcStarted:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1359 E5MessageBox.critical(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1360 self.trUtf8('Process Generation Error'),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1361 self.trUtf8('The Django server could not be started.'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1362 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1363 pass
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1364
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1365 def __serverProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1366 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1367 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
1368 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1369 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
1370 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
1371 self.__serverProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1372 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
1373 self.__serverProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1374 self.__serverProc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1375
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1376 def __runBrowser(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1377 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1378 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
1379 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1380 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
1381 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
1382 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
1383 # 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
1384 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
1385 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
1386 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
1387 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
1388 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1389 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
1390 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
1391 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
1392 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
1393 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
1394 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1395 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
1396 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
1397 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
1398 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
1399 addr = "127.0.0.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
1400 url = QUrl("http://{0}:{1}".format(addr, port))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1401 res = QDesktopServices.openUrl(url)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1402 if not res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1403 E5MessageBox.critical(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1404 self.trUtf8('Run Web-Browser'),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1405 self.trUtf8('Could not start the web-browser for the url "{0}".')\
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1406 .format(url.toString()))
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1407
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1408 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1409 ## slots below implement database related functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1410 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1411
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1412 def __databaseSynchronize(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1413 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1414 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
1415 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1416 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1417 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
1418 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1419 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1420 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
1421 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1422 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1423 args.append("syncdb")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1424 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1425 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1426 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
1427 if not started:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1428 E5MessageBox.critical(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1429 self.trUtf8('Process Generation Error'),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1430 self.trUtf8('The Django process could not be started.'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1431 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1432 pass
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1433
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1434 def __databaseInspect(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1435 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1436 Private slot to introspect the database and output a Django model module.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1437 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1438 title = self.trUtf8("Introspect Database")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1439
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1440 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1441 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1442 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1443 args.append("inspectdb")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1444
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1445 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1446 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1447 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1448 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1449
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1450 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
1451 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
1452 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1453 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1454
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1455 def __databaseFlush(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1456 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1457 Private slot to return all database tables to the state just after their
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1458 installation.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1459 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1460 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1461 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1462 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1463 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1464
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1465 title = self.trUtf8("Flush Database")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1466
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1467 res = E5MessageBox.yesNo(self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1468 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1469 self.trUtf8("""Flushing the database will destroy all data. Are you sure?"""))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1470 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1471 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1472 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1473 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1474 args.append("flush")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1475 args.append("--noinput")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1476
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1477 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1478 msgSuccess=self.trUtf8("Database tables flushed successfully."))
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1479 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
1480 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1481 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1482
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1483 def __runDatabaseClient(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1484 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1485 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
1486 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1487 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1488 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
1489 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1490 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1491 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
1492 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1493 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1494 args.append("dbshell")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1495 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1496 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1497 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
1498 if not started:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1499 E5MessageBox.critical(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1500 self.trUtf8('Process Generation Error'),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1501 self.trUtf8('The Django process could not be started.'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1502 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1503 pass
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1504
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1505 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1506 ## 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
1507 #######################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1508
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1509 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
1510 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1511 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
1512
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1513 @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
1514 @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
1515 @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
1516 to work on (boolean)
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 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1519 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1520 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1521 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1522
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1523 if requestApps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1524 apps = self.__getApplications()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1525 if not apps:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1526 return
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 apps = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1529
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1530 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1531 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1532 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1533 args.append(command)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1534 args += apps
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1535
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1536 fileFilter = self.trUtf8("SQL Files (*.sql)")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1537
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1538 dia = DjangoDialog(title, fixed=True, linewrap=False,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1539 saveFilters=fileFilter)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1540 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
1541 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1542 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1543
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1544 def __databaseSqlCreateTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1545 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1546 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
1547 or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1548 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1549 self.__sqlCommand(self.trUtf8("Create Tables"), "sql")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1550
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1551 def __databaseSqlCreateIndexes(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1552 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1553 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
1554 or more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1555 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1556 self.__sqlCommand(self.trUtf8("Create Indexes"), "sqlindexes")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1557
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1558 def __databaseSqlCreateEverything(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1559 """
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1560 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
1561 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
1562 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1563 self.__sqlCommand(self.trUtf8("Create Everything"), "sqlall")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1564
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1565 def __databaseSqlCustom(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1566 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1567 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
1568 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
1569 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1570 self.__sqlCommand(self.trUtf8("Custom Statements"), "sqlcustom")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1571
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1572 def __databaseSqlDropTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1573 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1574 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
1575 more applications.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1576 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1577 self.__sqlCommand(self.trUtf8("Drop Tables"), "sqlclear")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1578
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1579 def __databaseSqlFlushDatabase(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1580 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1581 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
1582 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
1583 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1584 self.__sqlCommand(self.trUtf8("Flush Database"), "sqlflush", False)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1585
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1586 def __databaseSqlResetSequences(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1587 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1588 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
1589 one or more applications.
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 self.__sqlCommand(self.trUtf8("Reset Sequences"), "sqlsequencereset")
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1592
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1593 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1594 ## slots below implement some tool functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1595 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1596
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1597 def __diffSettings(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1598 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1599 Private 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
1600 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1601 title = self.trUtf8("Diff Settings")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1602
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1603 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1604 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1605 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1606 args.append("diffsettings")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1607
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1608 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1609 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1610 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1611 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1612
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1613 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
1614 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
1615 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1616 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1617
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1618 def __cleanup(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1619 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1620 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
1621 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1622 title = self.trUtf8("Cleanup")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1623
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1624 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1625 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1626 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1627 args.append("cleanup")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1628
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1629 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1630 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1631 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1632 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1633
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1634 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1635 msgSuccess=self.trUtf8("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
1636 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
1637 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1638 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1639
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1640 def __validate(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1641 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1642 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
1643 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1644 title = self.trUtf8("Validate")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1645
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1646 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1647 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1648 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1649 args.append("validate")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1650
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1651 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1652 path = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1653 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1654 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1655
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1656 dia = DjangoDialog(title)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1657 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
1658 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1659 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1660
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1661 def __runPythonShell(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1662 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1663 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
1664 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1665 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1666 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
1667 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1668 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1669 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
1670 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1671 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1672 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
1673 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
1674 if language == "Python2":
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1675 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
1676 args.append("--plain")
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1677 else:
8fe581309106 Made the plug-in differentiate between the selected Python version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1678 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
1679 args.append("--plain")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1680 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1681 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1682 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
1683 if not started:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1684 E5MessageBox.critical(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1685 self.trUtf8('Process Generation Error'),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1686 self.trUtf8('The Django process could not be started.'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1687 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1688 pass
1
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 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1691 ## slots below implement caching functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1692 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1693
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1694 def __createCacheTables(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1695 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1696 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
1697 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1698 title = self.trUtf8("Create Cache Tables")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1699
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1700 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1701 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1702 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1703 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1704
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1705 tblStr, ok = QInputDialog.getText(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1706 self.__ui,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1707 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1708 self.trUtf8("Enter the names of the cache tables separated by spaces."),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1709 QLineEdit.Normal)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1710 if ok and tblStr != "":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1711 tableNames = tblStr.split()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1712
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1713 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1714 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1715 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1716 args.append("createcachetable")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1717 args += tableNames
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1718
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1719 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1720 msgSuccess=self.trUtf8("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
1721 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
1722 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1723 dia.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1724
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1725 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1726 ## slots below implement testing functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1727 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1728
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1729 def __dumpData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1730 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1731 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
1732 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1733 title = self.trUtf8("Dump Data")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1734
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1735 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1736 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1737 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1738 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1739
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1740 from .DjangoDumpdataDataDialog import DjangoDumpdataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1741 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
1742 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
1743 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
1744
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1745 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1746 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1747 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1748 args.append("dumpdata")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1749 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
1750 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
1751 for excl in excls:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1752 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
1753 args += appls
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1754
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1755 if format == "json":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1756 fileFilters = self.trUtf8("JSON Files (*.json)")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1757 elif format == "xml":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1758 fileFilters = self.trUtf8("XML Files (*.xml)")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1759 elif format == "yaml":
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1760 fileFilters = self.trUtf8("YAML Files (*.yaml)")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1761
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1762 dia = DjangoDialog(title, fixed=True, linewrap=False,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1763 saveFilters=fileFilters)
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1764 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
1765 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1766 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1767
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1768 def __loadData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1769 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1770 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
1771 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1772 title = self.trUtf8("Load Data")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1773
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1774 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1775 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1776 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1777 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1778
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1779 from .DjangoLoaddataDataDialog import DjangoLoaddataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1780 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
1781 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
1782 fixtures = dlg.getData()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1783
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1784 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1785 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1786 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1787 args.append("loaddata")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1788 args += fixtures
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1789
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1790 dia = DjangoDialog(title)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1791 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
1792 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1793 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1794
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1795 def __runTestSuite(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1796 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1797 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
1798 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1799 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1800 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
1801 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1802 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1803 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1804 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1805 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1806
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1807 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1808 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
1809 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1810 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1811 args.append("test")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1812 args += self.__getApplications()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1813
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1814 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
1815 if not started:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1816 E5MessageBox.critical(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1817 self.trUtf8('Process Generation Error'),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1818 self.trUtf8('The Django process could not be started.'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1819
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1820 def __runTestServer(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1821 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1822 Private slot to run a development server with data from a set of fixtures.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1823 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1824 consoleCmd = self.__isSpawningConsole(
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1825 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
1826 if consoleCmd:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1827 from .DjangoLoaddataDataDialog import DjangoLoaddataDataDialog
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1828 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
1829 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
1830 fixtures = dlg.getData()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1831
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1832 args = Utilities.parseOptionString(consoleCmd)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1833 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
1834 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1835 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1836 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
1837 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
1838 args.append("--ipv6")
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1839 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
1840 if addr:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1841 args.append("--addrport=%s" % addr)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1842 args += fixtures
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1843
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1844 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1845 if Utilities.isWindowsPlatform():
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1846 serverProcStarted, pid = \
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1847 QProcess.startDetached(args[0], args[1:], self.__sitePath())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1848 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1849 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
1850 self.__testServerProcFinished()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1851
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1852 self.__testServerProc = QProcess()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1853 self.__testServerProc.finished.connect(self.__serverProcFinished)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1854 self.__testServerProc.setWorkingDirectory(self.__sitePath())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1855 self.__testServerProc.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
1856 serverProcStarted = self.__testServerProc.waitForStarted()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1857 if not serverProcStarted:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1858 E5MessageBox.critical(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1859 self.trUtf8('Process Generation Error'),
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1860 self.trUtf8('The Django test server could not be started.'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1861 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1862 pass
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1863
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1864 def __testServerProcFinished(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1865 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1866 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
1867 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1868 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
1869 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
1870 self.__testServerProc.terminate()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1871 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
1872 self.__testServerProc.waitForFinished(3000)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1873 self.__testServerProc = None
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1874
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1875 ##################################################################
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1876 ## slots below implement authorization functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1877 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1878
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1879 def __changePassword(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1880 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1881 Private slot to change the password of a user.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1882 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1883 consoleCmd = self.__isSpawningConsole(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1884 self.__plugin.getPreferences("ConsoleCommandNoClose"))[1]
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1885 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1886 userName, ok = QInputDialog.getText(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1887 self.__ui,
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1888 self.trUtf8("Change Password"),
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1889 self.trUtf8("Enter the name of the user:"),
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1890 QLineEdit.Normal)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1891 if ok and userName != "":
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1892 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1893 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1894 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1895 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1896 args.append("changepassword")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1897 args.append(userName)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1898 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1899 wd = self.__sitePath()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1900 started, pid = QProcess.startDetached(args[0], args[1:], wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1901 if not started:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1902 E5MessageBox.critical(None,
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1903 self.trUtf8('Process Generation Error'),
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1904 self.trUtf8('The Django process could not be started.'))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1905 except DjangoNoSiteSelectedException:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1906 pass
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1907
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1908 def __createSuperUser(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1909 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1910 Private slot to create a super user account.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1911 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1912 consoleCmd = self.__isSpawningConsole(
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1913 self.__plugin.getPreferences("ConsoleCommandNoClose"))[1]
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1914 if consoleCmd:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1915 args = Utilities.parseOptionString(consoleCmd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1916 args[0] = Utilities.getExecutablePath(args[0])
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1917 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1918 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1919 args.append("createsuperuser")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1920 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1921 wd = self.__sitePath()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1922 started, pid = QProcess.startDetached(args[0], args[1:], wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1923 if not started:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1924 E5MessageBox.critical(None,
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1925 self.trUtf8('Process Generation Error'),
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1926 self.trUtf8('The Django process could not be started.'))
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1927 except DjangoNoSiteSelectedException:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1928 pass
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1929
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1930 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1931 ## slots below implement session functions
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1932 ##################################################################
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1933
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1934 def __clearSessions(self):
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1935 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1936 Private slot to clear expired sessions.
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1937 """
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1938 title = self.trUtf8("Clear Sessions")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1939
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1940 try:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1941 wd = self.__sitePath()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1942 except DjangoNoSiteSelectedException:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1943 return
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1944
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1945 args = []
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1946 args.append(self.__getPythonExecutable())
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1947 args.append("manage.py")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1948 args.append("clearsessions")
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1949
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1950 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1951 msgSuccess=self.trUtf8("Expired sessions cleared successfully."))
5
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1952 res = dia.startProcess(args, wd)
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1953 if res:
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1954 dia.exec_()
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1955
96a317de4626 Extended the functions by
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1956 ##################################################################
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1957 ## slots below implement translation functions
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1958 ##################################################################
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1959
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1960 def __getLocale(self, filename):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1961 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1962 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
1963
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1964 @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
1965 @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
1966 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1967 if self.__e5project.pdata["TRANSLATIONPATTERN"]:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1968 pattern = self.__e5project.pdata["TRANSLATIONPATTERN"][0]\
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1969 .replace("%language%", "(.*?)")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1970 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
1971 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
1972 loc = match.group(1)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1973 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1974 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1975 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1976 else:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1977 loc = None
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1978
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1979 return loc
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1980
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1981 def __normalizeList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1982 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1983 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
1984
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1985 @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
1986 @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
1987 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1988 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1989 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1990 if filename.endswith(".mo"):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1991 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
1992 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
1993 nfilenames.append(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1994
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1995 return nfilenames
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1996
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1997 def __siteFilteredList(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1998 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1999 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
2000
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2001 @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
2002 @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
2003 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2004 site = self.__site()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2005 nfilenames = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2006 for filename in filenames:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2007 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
2008 nfilenames.append(filename)
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 return nfilenames
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2011
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2012 def __projectLanguageAdded(self, code):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2013 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2014 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
2015
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2016 @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
2017 """
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2018 title = self.trUtf8("Initializing message catalog for '{0}'").format(code)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2019
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2020 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2021 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2022 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2023 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2024 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2025 args.append(code)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2026
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2027 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2028 wd = self.__sitePath()
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 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2031 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2032 self.trUtf8('No current site selected or no site created yet.'
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2033 ' Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2034 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2035
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2036 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2037 msgSuccess=self.trUtf8("\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
2038 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
2039 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2040 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2041
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2042 langFile = self.__e5project.pdata["TRANSLATIONPATTERN"][0]\
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2043 .replace("%language%", code)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2044 self.__e5project.appendFile(langFile)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2045
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2046 def updateSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2047 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2048 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2049
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2050 @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
2051 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2052 title = self.trUtf8("Updating message catalogs")
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 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2055 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2056 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2057 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2058 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2059 self.trUtf8('No current site selected or no site created yet.'
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2060 ' Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2061 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2062
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2063 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2064
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2065 for filename in self.__normalizeList(self.__siteFilteredList(filenames)):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2066 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2067 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2068 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2069 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2070 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2071 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2072 args.append("--no-obsolete")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2073 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2074 args.append(locale)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2075 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2076
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2077 if len(argsLists) == 0:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2078 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2079 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2080 self.trUtf8('No locales detected. Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2081 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2082
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2083 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2084 msgSuccess=self.trUtf8("\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
2085 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
2086 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2087 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2088
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2089 def updateSelectedCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2090 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2091 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
2092
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2093 @param filenames list of filenames
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2094 """
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2095 title = self.trUtf8("Updating 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
2096
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2097 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2098 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2099 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2100 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2101 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2102 self.trUtf8('No current site selected or no site created yet.'
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2103 ' Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2104 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2105
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2106 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2107
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2108 for filename in self.__normalizeList(self.__siteFilteredList(filenames)):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2109 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2110 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2111 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2112 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2113 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2114 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2115 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2116 args.append(locale)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2117 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2118
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2119 if len(argsLists) == 0:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2120 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2121 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2122 self.trUtf8('No locales detected. Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2123 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2124
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2125 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2126 msgSuccess=self.trUtf8("\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
2127 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
2128 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2129 dia.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2130
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2131 def updateCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2132 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2133 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2134
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2135 @param filenames list of filenames (not used)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2136 """
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2137 title = self.trUtf8("Updating message catalogs")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2138
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2139 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2140 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2141 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2142 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2143 args.append("-a")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2144 args.append("--no-obsolete")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2145
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2146 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2147 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2148 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2149 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2150 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2151 self.trUtf8('No current site selected or no site created yet.'
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2152 ' Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2153 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2154
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2155 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2156 msgSuccess=self.trUtf8("\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
2157 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
2158 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2159 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2160
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2161 def updateCatalogsWithObsolete(self, filenames):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2162 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2163 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
2164
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2165 @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
2166 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2167 title = self.trUtf8("Updating 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
2168
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2169 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2170 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2171 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2172 args.append("makemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2173 args.append("-a")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2174
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2175 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2176 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2177 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2178 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2179 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2180 self.trUtf8('No current site selected or no site created yet.'
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2181 ' Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2182 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2183
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2184 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2185 msgSuccess=self.trUtf8("\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
2186 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
2187 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2188 dia.exec_()
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2189
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2190 def compileSelectedCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2191 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2192 Public method to update the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2193
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2194 @param filenames list of filenames
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2195 """
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2196 title = self.trUtf8("Compiling message catalogs")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2197
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2198 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2199 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2200 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2201 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2202 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2203 self.trUtf8('No current site selected or no site created yet.'
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2204 ' Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2205 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2206
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2207 argsLists = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2208
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2209 for filename in self.__normalizeList(self.__siteFilteredList(filenames)):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2210 locale = self.__getLocale(filename)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2211 if locale:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2212 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2213 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2214 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2215 args.append("compilemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2216 args.append("-l")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2217 args.append(locale)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2218 argsLists.append(args)
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2219
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2220 if len(argsLists) == 0:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2221 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2222 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2223 self.trUtf8('No locales detected. Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2224 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2225
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2226 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2227 msgSuccess=self.trUtf8("\nMessage catalogs compiled successfully."))
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2228 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
2229 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2230 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2231
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2232 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
2233 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
2234 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
2235 if fullName.endswith('.mo'):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2236 self.__e5project.appendFile(fullName)
1
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2237
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2238 def compileCatalogs(self, filenames):
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2239 """
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2240 Public method to compile the message catalogs.
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2241
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2242 @param filenames list of filenames (not used)
13a0cced0c6e Commit of the first batch of code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2243 """
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2244 title = self.trUtf8("Compiling message catalogs")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2245
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2246 args = []
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2247 args.append(self.__getPythonExecutable())
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2248 args.append("manage.py")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2249 args.append("compilemessages")
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2250
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2251 try:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2252 wd = self.__sitePath()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2253 except DjangoNoSiteSelectedException:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2254 E5MessageBox.warning(None,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2255 title,
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2256 self.trUtf8('No current site selected or no site created yet.'
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2257 ' Aborting...'))
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2258 return
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2259
6
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2260 dia = DjangoDialog(title,
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2261 msgSuccess=self.trUtf8("\nMessage catalogs compiled successfully."))
80815349eef4 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
2262 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
2263 if res:
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2264 dia.exec_()
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2265
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2266 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
2267 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
2268 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
2269 if fullName.endswith('.mo'):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2270 self.__e5project.appendFile(fullName)

eric ide

mercurial