Fri, 25 Oct 2013 18:50:04 +0200
Fixed code style issues.
--- a/ChangeLog Sun Oct 13 18:31:28 2013 +0200 +++ b/ChangeLog Fri Oct 25 18:50:04 2013 +0200 @@ -1,5 +1,8 @@ ChangeLog --------- +Version 3.2.1: +- fixed code style issues + Version 3.2.0: - bug fixes - Python 2 compatibility for Eric 5
--- a/PluginDjango.e4p Sun Oct 13 18:31:28 2013 +0200 +++ b/PluginDjango.e4p Fri Oct 25 18:50:04 2013 +0200 @@ -1,15 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Project SYSTEM "Project-5.1.dtd"> <!-- eric5 project file for project PluginDjango --> -<!-- Saved: 2013-09-30, 22:06:03 --> -<!-- Copyright (C) 2013 Detlev Offenbach, detlev@die-offenbachs.de --> <Project version="5.1"> <Language>en</Language> <Hash>74ebac2e9316db59fdca32e146fa5ae695c66907</Hash> <ProgLanguage mixed="0">Python3</ProgLanguage> <ProjectType>E4Plugin</ProjectType> <Description>Plugin implementing support for Django projects.</Description> - <Version>3.2.0</Version> + <Version>3.2.x</Version> <Author>Detlev Offenbach</Author> <Email>detlev@die-offenbachs.de</Email> <TranslationPattern>ProjectDjango/i18n/django_%language%.ts</TranslationPattern> @@ -246,6 +244,12 @@ <value> <dict> <key> + <string>DocstringType</string> + </key> + <value> + <string>eric</string> + </value> + <key> <string>ExcludeFiles</string> </key> <value> @@ -255,7 +259,7 @@ <string>ExcludeMessages</string> </key> <value> - <string>E24, E501, W293</string> + <string>E24, W293, N802, N803, N807, N808, N821</string> </value> <key> <string>FixCodes</string> @@ -267,7 +271,13 @@ <string>FixIssues</string> </key> <value> - <bool>True</bool> + <bool>False</bool> + </value> + <key> + <string>HangClosing</string> + </key> + <value> + <bool>False</bool> </value> <key> <string>IncludeMessages</string> @@ -276,6 +286,18 @@ <string></string> </value> <key> + <string>MaxLineLength</string> + </key> + <value> + <int>79</int> + </value> + <key> + <string>NoFixCodes</string> + </key> + <value> + <string>E501</string> + </value> + <key> <string>RepeatMessages</string> </key> <value>
--- a/PluginProjectDjango.py Sun Oct 13 18:31:28 2013 +0200 +++ b/PluginProjectDjango.py Fri Oct 25 18:50:04 2013 +0200 @@ -28,11 +28,12 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "3.2.0" +version = "3.2.1" className = "ProjectDjangoPlugin" packageName = "ProjectDjango" shortDescription = "Project support for Django projects." -longDescription = """This plugin implements project support for Django projects.""" +longDescription = \ + """This plugin implements project support for Django projects.""" needsRestart = False pyqtApi = 2 # End-of-Header @@ -46,6 +47,7 @@ """ Module function to return the API files made available by this plugin. + @param language language to get APIs for (string) @return list of API filenames (list of string) """ if language in ["Python3", "Python2"]: @@ -61,6 +63,7 @@ """ Module function to create the Django configuration page. + @param configDlg reference to the configuration dialog @return reference to the configuration page """ global djangoPluginObject @@ -77,10 +80,10 @@ """ if e5App().getObject("UserInterface").versionIsNewer('5.0.99', '20120101'): return { - "djangoPage": \ - [QCoreApplication.translate("ProjectDjangoPlugin", "Django"), - os.path.join("ProjectDjango", "icons", "django.png"), - createDjangoPage, None, None], + "djangoPage": [ + QCoreApplication.translate("ProjectDjangoPlugin", "Django"), + os.path.join("ProjectDjango", "icons", "django.png"), + createDjangoPage, None, None], } else: return {} @@ -167,8 +170,8 @@ if self.__ui.versionIsNewer('5.0.99', '20120101'): error = "" else: - error = self.trUtf8("eric5 version is too old, {0}, {1} or newer needed.")\ - .format("5.1.0", "20120101") + error = self.trUtf8("eric5 version is too old, {0}, {1} or newer" + " needed.").format("5.1.0", "20120101") return False return True @@ -195,34 +198,38 @@ if self.__supportedVariants: try: - self.__e5project.registerProjectType("Django", self.trUtf8("Django"), + self.__e5project.registerProjectType( + "Django", self.trUtf8("Django"), self.fileTypesCallback, lexerAssociationCallback=self.lexerAssociationCallback, binaryTranslationsCallback=self.binaryTranslationsCallback, progLanguages=self.__supportedVariants[:]) except TypeError: # for backward compatibility - self.__e5project.registerProjectType("Django", self.trUtf8("Django"), + self.__e5project.registerProjectType( + "Django", self.trUtf8("Django"), self.fileTypesCallback, lexerAssociationCallback=self.lexerAssociationCallback, binaryTranslationsCallback=self.binaryTranslationsCallback) - from Project.ProjectBrowser import SourcesBrowserFlag, FormsBrowserFlag, \ - TranslationsBrowserFlag, OthersBrowserFlag - Preferences.setProjectBrowserFlagsDefault("Django", - SourcesBrowserFlag | \ - FormsBrowserFlag | \ - TranslationsBrowserFlag | \ - OthersBrowserFlag, + from Project.ProjectBrowser import SourcesBrowserFlag, \ + FormsBrowserFlag, TranslationsBrowserFlag, OthersBrowserFlag + Preferences.setProjectBrowserFlagsDefault( + "Django", + SourcesBrowserFlag | FormsBrowserFlag | + TranslationsBrowserFlag | OthersBrowserFlag, ) if self.__e5project.isOpen(): self.__projectOpened() self.__object.projectOpenedHooks() - e5App().getObject("Project").projectOpened.connect(self.__projectOpened) - e5App().getObject("Project").projectClosed.connect(self.__projectClosed) - e5App().getObject("Project").newProject.connect(self.__projectOpened) + e5App().getObject("Project").projectOpened.connect( + self.__projectOpened) + e5App().getObject("Project").projectClosed.connect( + self.__projectClosed) + e5App().getObject("Project").newProject.connect( + self.__projectOpened) e5App().getObject("Project").projectOpenedHooks.connect( self.__object.projectOpenedHooks) @@ -242,9 +249,12 @@ """ e5App().unregisterPluginObject("ProjectDjango") - e5App().getObject("Project").projectOpened.disconnect(self.__projectOpened) - e5App().getObject("Project").projectClosed.disconnect(self.__projectClosed) - e5App().getObject("Project").newProject.disconnect(self.__projectOpened) + e5App().getObject("Project").projectOpened.disconnect( + self.__projectOpened) + e5App().getObject("Project").projectClosed.disconnect( + self.__projectClosed) + e5App().getObject("Project").newProject.disconnect( + self.__projectOpened) e5App().getObject("Project").projectOpenedHooks.disconnect( self.__object.projectOpenedHooks) @@ -270,8 +280,8 @@ if self.__ui is not None: loc = self.__ui.getLocale() if loc and loc != "C": - locale_dir = \ - os.path.join(os.path.dirname(__file__), "ProjectDjango", "i18n") + locale_dir = os.path.join( + os.path.dirname(__file__), "ProjectDjango", "i18n") translation = "django_%s" % loc translator = QTranslator(None) loaded = translator.load(translation, locale_dir) @@ -279,8 +289,8 @@ self.__translator = translator e5App().installTranslator(self.__translator) else: - print("Warning: translation file '{0}' could not be loaded.".format( - translation)) + print("Warning: translation file '{0}' could not be" + " loaded.".format(translation)) print("Using default.") def __projectOpened(self): @@ -291,7 +301,8 @@ projectAct = self.__ui.getMenuBarAction("project") actions = self.__ui.menuBar().actions() insertAct = actions[actions.index(projectAct) + 1] - self.__mainAct = self.__ui.menuBar().insertMenu(insertAct, self.__mainMenu) + self.__mainAct = self.__ui.menuBar().insertMenu( + insertAct, self.__mainMenu) def __projectClosed(self): """ @@ -324,11 +335,12 @@ def lexerAssociationCallback(self, filename): """ - Public method to get the lexer association of the Django project type for - a file. + Public method to get the lexer association of the Django project type + for a file. @param filename name of the file (string) - @return name of the lexer (string) (Pygments lexers are prefixed with 'Pygments|') + @return name of the lexer (string) (Pygments lexers are prefixed with + 'Pygments|') """ for pattern, language in self.lexerAssociations.items(): if fnmatch.fnmatch(filename, pattern): @@ -353,18 +365,17 @@ Public method to retrieve the various settings. @param key the key of the value to get - @param prefClass preferences class used as the storage area @return the requested setting """ if key in ["RecentNumberApps"]: - return int(Preferences.Prefs.settings.value(self.PreferencesKey + "/" + key, - self.__defaults[key])) + return int(Preferences.Prefs.settings.value( + self.PreferencesKey + "/" + key, self.__defaults[key])) elif key in ["UsePlainPythonPy2", "UsePlainPythonPy3", "UseIPv6"]: return Preferences.toBool(Preferences.Prefs.settings.value( self.PreferencesKey + "/" + key, self.__defaults[key])) else: - return Preferences.Prefs.settings.value(self.PreferencesKey + "/" + key, - self.__defaults[key]) + return Preferences.Prefs.settings.value( + self.PreferencesKey + "/" + key, self.__defaults[key]) def setPreferences(self, key, value): """ @@ -372,9 +383,9 @@ @param key the key of the setting to be set (string) @param value the value to be set - @param prefClass preferences class used as the storage area """ - Preferences.Prefs.settings.setValue(self.PreferencesKey + "/" + key, value) + Preferences.Prefs.settings.setValue( + self.PreferencesKey + "/" + key, value) if key in ["VirtualEnvironmentPy2", "VirtualEnvironmentPy3"]: self.__reregisterProjectType() @@ -395,14 +406,18 @@ self.__supportedVariants = supportedVariants if self.__supportedVariants: try: - self.__e5project.registerProjectType("Django", self.trUtf8("Django"), + self.__e5project.registerProjectType( + "Django", self.trUtf8("Django"), self.fileTypesCallback, lexerAssociationCallback=self.lexerAssociationCallback, - binaryTranslationsCallback=self.binaryTranslationsCallback, + binaryTranslationsCallback= + self.binaryTranslationsCallback, progLanguages=self.__supportedVariants[:]) except TypeError: # for backward compatibility - self.__e5project.registerProjectType("Django", self.trUtf8("Django"), + self.__e5project.registerProjectType( + "Django", self.trUtf8("Django"), self.fileTypesCallback, lexerAssociationCallback=self.lexerAssociationCallback, - binaryTranslationsCallback=self.binaryTranslationsCallback) + binaryTranslationsCallback= + self.binaryTranslationsCallback)
--- a/ProjectDjango/ConfigurationPage/DjangoPage.py Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/ConfigurationPage/DjangoPage.py Fri Oct 25 18:50:04 2013 +0200 @@ -13,7 +13,8 @@ from E5Gui import E5FileDialog -from Preferences.ConfigurationPages.ConfigurationPageBase import ConfigurationPageBase +from Preferences.ConfigurationPages.ConfigurationPageBase import \ + ConfigurationPageBase from .Ui_DjangoPage import Ui_DjangoPage from Globals import isWindowsPlatform, isMacPlatform @@ -99,31 +100,33 @@ """ Public slot to save the Django configuration. """ - self.__plugin.setPreferences("ConsoleCommand", + self.__plugin.setPreferences( + "ConsoleCommand", self.consoleCommandCombo.currentText()) - self.__plugin.setPreferences("ConsoleCommandNoClose", + self.__plugin.setPreferences( + "ConsoleCommandNoClose", self.consoleCommandNoCloseCombo.currentText()) - self.__plugin.setPreferences("ServerAddress", - self.serverAddressEdit.text()) - self.__plugin.setPreferences("UseIPv6", - self.ipv6CheckBox.isChecked()) + self.__plugin.setPreferences( + "ServerAddress", self.serverAddressEdit.text()) + self.__plugin.setPreferences( + "UseIPv6", self.ipv6CheckBox.isChecked()) - self.__plugin.setPreferences("RecentNumberApps", - self.appsRecentSpinBox.value()) + self.__plugin.setPreferences( + "RecentNumberApps", self.appsRecentSpinBox.value()) - self.__plugin.setPreferences("VirtualEnvironmentPy2", - self.virtualEnvPy2Edit.text()) - self.__plugin.setPreferences("UsePlainPythonPy2", - self.plainPython2CheckBox.isChecked()) + self.__plugin.setPreferences( + "VirtualEnvironmentPy2", self.virtualEnvPy2Edit.text()) + self.__plugin.setPreferences( + "UsePlainPythonPy2", self.plainPython2CheckBox.isChecked()) - self.__plugin.setPreferences("VirtualEnvironmentPy3", - self.virtualEnvPy3Edit.text()) - self.__plugin.setPreferences("UsePlainPythonPy3", - self.plainPython3CheckBox.isChecked()) + self.__plugin.setPreferences( + "VirtualEnvironmentPy3", self.virtualEnvPy3Edit.text()) + self.__plugin.setPreferences( + "UsePlainPythonPy3", self.plainPython3CheckBox.isChecked()) - self.__plugin.setPreferences("TranslationsEditor", - self.translationsEdit.text()) + self.__plugin.setPreferences( + "TranslationsEditor", self.translationsEdit.text()) @pyqtSlot() def on_virtualEnvPy3Button_clicked(self): @@ -141,7 +144,8 @@ E5FileDialog.Options(E5FileDialog.Option(0))) if virtualEnv: - self.virtualEnvPy3Edit.setText(Utilities.toNativeSeparators(virtualEnv)) + self.virtualEnvPy3Edit.setText( + Utilities.toNativeSeparators(virtualEnv)) @pyqtSlot() def on_virtualEnvPy2Button_clicked(self): @@ -159,12 +163,14 @@ E5FileDialog.Options(E5FileDialog.Option(0))) if virtualEnv: - self.virtualEnvPy2Edit.setText(Utilities.toNativeSeparators(virtualEnv)) + self.virtualEnvPy2Edit.setText( + Utilities.toNativeSeparators(virtualEnv)) @pyqtSlot() def on_translationsButton_clicked(self): """ - Private slot to select the translations editor via a file selection dialog. + Private slot to select the translations editor via a file selection + dialog. """ editor = E5FileDialog.getOpenFileName( self,
--- a/ProjectDjango/DjangoDialog.py Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/DjangoDialog.py Fri Oct 25 18:50:04 2013 +0200 @@ -96,7 +96,8 @@ def __finish(self): """ - Private slot called when the process finished or the user pressed the button. + Private slot called when the process finished or the user pressed the + button. """ if self.proc is not None and \ self.proc.state() != QProcess.NotRunning: @@ -114,7 +115,8 @@ if self.argsLists: args = self.argsLists[0][:] del self.argsLists[0] - self.startProcess(args, self.workingDir, mergedOutput=self.mergedOutput) + self.startProcess(args, self.workingDir, + mergedOutput=self.mergedOutput) def __procFinished(self, exitCode, exitStatus): """ @@ -140,8 +142,10 @@ @param args list of arguments for the process (list of strings) @param workingDir working directory for the process (string) - @param showCommand flag indicating to show the command executed (boolean) - @param mergedOutput flag indicating to merge the output of the process (boolean) + @param showCommand flag indicating to show the command executed + (boolean) + @param mergedOutput flag indicating to merge the output of the process + (boolean) @return flag indicating a successful start of the process (boolean) """ self.errorGroup.hide() @@ -172,7 +176,8 @@ procStarted = self.proc.waitForStarted() if not procStarted: self.buttonBox.setFocus() - E5MessageBox.critical(None, + E5MessageBox.critical( + self, self.trUtf8('Process Generation Error'), self.trUtf8( 'The process {0} could not be started. ' @@ -180,15 +185,18 @@ ).format(prog)) return procStarted - def startBatchProcesses(self, argsLists, workingDir=None, mergedOutput=False): + def startBatchProcesses(self, argsLists, workingDir=None, + mergedOutput=False): """ Public slot used to start a batch of processes. @param argsLists list of lists of arguments for the processes (list of lists of strings) @param workingDir working directory for the process (string) - @param mergedOutput flag indicating to merge the output of the process (boolean) - @return flag indicating a successful start of the first process (boolean) + @param mergedOutput flag indicating to merge the output of the process + (boolean) + @return flag indicating a successful start of the first process + (boolean) """ self.argsLists = argsLists[:] self.workingDir = workingDir @@ -197,7 +205,8 @@ # start the first process args = self.argsLists[0][:] del self.argsLists[0] - res = self.startProcess(args, self.workingDir, mergedOutput=self.mergedOutput) + res = self.startProcess(args, self.workingDir, + mergedOutput=self.mergedOutput) if not res: self.argsLists = [] @@ -228,7 +237,8 @@ the contents pane. """ if self.proc is not None: - s = str(self.proc.readAllStandardOutput(), self.ioEncoding, 'replace') + s = str(self.proc.readAllStandardOutput(), self.ioEncoding, + 'replace') self.resultbox.insertPlainText(s) self.resultbox.ensureCursorVisible() @@ -241,7 +251,8 @@ """ if self.proc is not None: self.errorGroup.show() - s = str(self.proc.readAllStandardError(), self.ioEncoding, 'replace') + s = str(self.proc.readAllStandardError(), self.ioEncoding, + 'replace') self.errors.insertPlainText(s) self.errors.ensureCursorVisible() @@ -270,8 +281,9 @@ f.write(txt) f.close() except IOError as err: - E5MessageBox.critical(self, + E5MessageBox.critical( + self, self.trUtf8("Error saving data"), self.trUtf8("""<p>The data could not be written""" - """ to <b>{0}</b></p><p>Reason: {1}</p>""")\ - .format(fname, str(err))) + """ to <b>{0}</b></p><p>Reason: {1}</p>""") + .format(fname, str(err)))
--- a/ProjectDjango/DjangoLoaddataDataDialog.py Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/DjangoLoaddataDataDialog.py Fri Oct 25 18:50:04 2013 +0200 @@ -41,6 +41,8 @@ def on_fixturesEdit_textChanged(self, txt): """ Private slot to handle a change of the fixtures text. + + @param txt text of the line edit (string) """ self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(bool(txt))
--- a/ProjectDjango/Documentation/source/Plugin_Project_Django.PluginProjectDjango.html Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/Documentation/source/Plugin_Project_Django.PluginProjectDjango.html Fri Oct 25 18:50:04 2013 +0200 @@ -211,9 +211,6 @@ <dt><i>key</i></dt> <dd> the key of the value to get -</dd><dt><i>prefClass</i></dt> -<dd> -preferences class used as the storage area </dd> </dl><dl> <dt>Returns:</dt> @@ -224,8 +221,8 @@ <h4>ProjectDjangoPlugin.lexerAssociationCallback</h4> <b>lexerAssociationCallback</b>(<i>filename</i>) <p> - Public method to get the lexer association of the Django project type for - a file. + Public method to get the lexer association of the Django project type + for a file. </p><dl> <dt><i>filename</i></dt> <dd> @@ -234,7 +231,8 @@ </dl><dl> <dt>Returns:</dt> <dd> -name of the lexer (string) (Pygments lexers are prefixed with 'Pygments|') +name of the lexer (string) (Pygments lexers are prefixed with + 'Pygments|') </dd> </dl><a NAME="ProjectDjangoPlugin.setPreferences" ID="ProjectDjangoPlugin.setPreferences"></a> <h4>ProjectDjangoPlugin.setPreferences</h4> @@ -248,9 +246,6 @@ </dd><dt><i>value</i></dt> <dd> the value to be set -</dd><dt><i>prefClass</i></dt> -<dd> -preferences class used as the storage area </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -261,6 +256,11 @@ <p> Module function to return the API files made available by this plugin. </p><dl> +<dt><i>language</i></dt> +<dd> +language to get APIs for (string) +</dd> +</dl><dl> <dt>Returns:</dt> <dd> list of API filenames (list of string) @@ -274,6 +274,11 @@ <p> Module function to create the Django configuration page. </p><dl> +<dt><i>configDlg</i></dt> +<dd> +reference to the configuration dialog +</dd> +</dl><dl> <dt>Returns:</dt> <dd> reference to the configuration page
--- a/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.ConfigurationPage.DjangoPage.html Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.ConfigurationPage.DjangoPage.html Fri Oct 25 18:50:04 2013 +0200 @@ -91,7 +91,8 @@ <h4>DjangoPage.on_translationsButton_clicked</h4> <b>on_translationsButton_clicked</b>(<i></i>) <p> - Private slot to select the translations editor via a file selection dialog. + Private slot to select the translations editor via a file selection + dialog. </p><a NAME="DjangoPage.on_virtualEnvPy2Button_clicked" ID="DjangoPage.on_virtualEnvPy2Button_clicked"></a> <h4>DjangoPage.on_virtualEnvPy2Button_clicked</h4> <b>on_virtualEnvPy2Button_clicked</b>(<i></i>)
--- a/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.DjangoDialog.html Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.DjangoDialog.html Fri Oct 25 18:50:04 2013 +0200 @@ -133,7 +133,8 @@ <h4>DjangoDialog.__finish</h4> <b>__finish</b>(<i></i>) <p> - Private slot called when the process finished or the user pressed the button. + Private slot called when the process finished or the user pressed the + button. </p><a NAME="DjangoDialog.__procFinished" ID="DjangoDialog.__procFinished"></a> <h4>DjangoDialog.__procFinished</h4> <b>__procFinished</b>(<i>exitCode, exitStatus</i>) @@ -214,12 +215,14 @@ working directory for the process (string) </dd><dt><i>mergedOutput</i></dt> <dd> -flag indicating to merge the output of the process (boolean) +flag indicating to merge the output of the process + (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> -flag indicating a successful start of the first process (boolean) +flag indicating a successful start of the first process + (boolean) </dd> </dl><a NAME="DjangoDialog.startProcess" ID="DjangoDialog.startProcess"></a> <h4>DjangoDialog.startProcess</h4> @@ -235,10 +238,12 @@ working directory for the process (string) </dd><dt><i>showCommand</i></dt> <dd> -flag indicating to show the command executed (boolean) +flag indicating to show the command executed + (boolean) </dd><dt><i>mergedOutput</i></dt> <dd> -flag indicating to merge the output of the process (boolean) +flag indicating to merge the output of the process + (boolean) </dd> </dl><dl> <dt>Returns:</dt>
--- a/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.DjangoLoaddataDataDialog.html Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.DjangoLoaddataDataDialog.html Fri Oct 25 18:50:04 2013 +0200 @@ -107,7 +107,12 @@ <b>on_fixturesEdit_textChanged</b>(<i>txt</i>) <p> Private slot to handle a change of the fixtures text. -</p> +</p><dl> +<dt><i>txt</i></dt> +<dd> +text of the line edit (string) +</dd> +</dl> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.Project.html Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/Documentation/source/Plugin_Project_Django.ProjectDjango.Project.html Fri Oct 25 18:50:04 2013 +0200 @@ -35,6 +35,9 @@ </tr><tr> <td><a href="#Project">Project</a></td> <td>Class implementing the Django project support.</td> +</tr><tr> +<td><a href="#QProcess">QProcess</a></td> +<td>Class transforming the call arguments in case of gnome-terminal.</td> </tr> </table> <h3>Functions</h3> @@ -392,7 +395,8 @@ (string) </dd><dt><i>isGlobal</i></dt> <dd> -flag indicating a standalone Django application (boolean) +flag indicating a standalone Django application + (boolean) </dd> </dl><dl> <dt>Returns:</dt> @@ -432,13 +436,14 @@ <h4>Project.__databaseFlush</h4> <b>__databaseFlush</b>(<i></i>) <p> - Private slot to return all database tables to the state just after their - installation. + Private slot to return all database tables to the state just after + their installation. </p><a NAME="Project.__databaseInspect" ID="Project.__databaseInspect"></a> <h4>Project.__databaseInspect</h4> <b>__databaseInspect</b>(<i></i>) <p> - Private slot to introspect the database and output a Django model module. + Private slot to introspect the database and output a Django model + module. </p><a NAME="Project.__databaseSqlCreateEverything" ID="Project.__databaseSqlCreateEverything"></a> <h4>Project.__databaseSqlCreateEverything</h4> <b>__databaseSqlCreateEverything</b>(<i></i>) @@ -567,9 +572,9 @@ </dl><dl> <dt>Returns:</dt> <dd> -list of full executable names, if the executable file is accessible - via the searchpath defined by the PATH environment variable, or an - empty list otherwise. +list of full executable names, if the executable file is + accessible via the searchpath defined by the PATH environment + variable, or an empty list otherwise. </dd> </dl><a NAME="Project.__getLocale" ID="Project.__getLocale"></a> <h4>Project.__getLocale</h4> @@ -778,7 +783,8 @@ <h4>Project.__runTestServer</h4> <b>__runTestServer</b>(<i></i>) <p> - Private slot to run a development server with data from a set of fixtures. + Private slot to run a development server with data from a set of + fixtures. </p><a NAME="Project.__runTestSuite" ID="Project.__runTestSuite"></a> <h4>Project.__runTestSuite</h4> <b>__runTestSuite</b>(<i></i>) @@ -794,12 +800,7 @@ <b>__selectSite</b>(<i></i>) <p> Private method to select a site to work with. -</p><dl> -<dt>Returns:</dt> -<dd> -selected site (string) -</dd> -</dl><a NAME="Project.__serverProcFinished" ID="Project.__serverProcFinished"></a> +</p><a NAME="Project.__serverProcFinished" ID="Project.__serverProcFinished"></a> <h4>Project.__serverProcFinished</h4> <b>__serverProcFinished</b>(<i></i>) <p> @@ -1079,5 +1080,76 @@ </dd> </dl> <div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="QProcess" ID="QProcess"></a> +<h2>QProcess</h2> +<p> + Class transforming the call arguments in case of gnome-terminal. +</p> +<h3>Derived from</h3> +QProcessPyQt +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#QProcess.start">start</a></td> +<td>Static method to start the given program (cmd) in a new process, if none is already running, passing the command line arguments in args.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr> +<td><a href="#QProcess.startDetached">startDetached</a></td> +<td>Static method to start the given program (cmd) in a new process, if none is already running, passing the command line arguments in args.</td> +</tr> +</table> +<a NAME="QProcess.start" ID="QProcess.start"></a> +<h4>QProcess.start</h4> +<b>start</b>(<i>cmd, args=[], mode=QProcessPyQt.ReadWrite</i>) +<p> + Static method to start the given program (cmd) in a new process, if + none is already running, passing the command line arguments in args. +</p><dl> +<dt><i>cmd</i></dt> +<dd> +start the given program cmd (string) +</dd><dt><i>args=</i></dt> +<dd> +list of parameters (list of strings) +</dd><dt><i>mode=</i></dt> +<dd> +access mode (QIODevice.OpenMode) +</dd> +</dl><a NAME="QProcess.startDetached" ID="QProcess.startDetached"></a> +<h4>QProcess.startDetached (static)</h4> +<b>startDetached</b>(<i>args=[], path=''</i>) +<p> + Static method to start the given program (cmd) in a new process, if + none is already running, passing the command line arguments in args. +</p><dl> +<dt><i>cmd</i></dt> +<dd> +start the given program cmd (string) +</dd><dt><i>args=</i></dt> +<dd> +list of parameters (list of strings) +</dd><dt><i>path=</i></dt> +<dd> +new working directory (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of successful start and process id (boolean, integer) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/ProjectDjango/Project.py Sun Oct 13 18:31:28 2013 +0200 +++ b/ProjectDjango/Project.py Fri Oct 25 18:50:04 2013 +0200 @@ -18,7 +18,8 @@ import re from PyQt4.QtCore import QObject, QTimer, QUrl, QFileInfo -from PyQt4.QtGui import QMenu, QInputDialog, QLineEdit, QDesktopServices, QDialog +from PyQt4.QtGui import QMenu, QInputDialog, QLineEdit, QDesktopServices, \ + QDialog from PyQt4.QtCore import QProcess as QProcessPyQt from E5Gui.E5Application import e5App @@ -47,8 +48,8 @@ """ def start(self, cmd, args=[], mode=QProcessPyQt.ReadWrite): """ - Starts the given program (cmd) in a new process, if none is already - running, passing the command line arguments in argss. + Static method to start the given program (cmd) in a new process, if + none is already running, passing the command line arguments in args. @param cmd start the given program cmd (string) @keyparam args list of parameters (list of strings) @@ -62,8 +63,8 @@ @staticmethod def startDetached(cmd, args=[], path=''): """ - Starts the given program (cmd) in a new process, if none is already - running, passing the command line arguments in argss. + Static method to start the given program (cmd) in a new process, if + none is already running, passing the command line arguments in args. @param cmd start the given program cmd (string) @keyparam args list of parameters (list of strings) @@ -112,10 +113,11 @@ """ self.actions = [] - self.selectSiteAct = E5Action(self.trUtf8('Current Project'), - "", - 0, 0, - self, 'django_current_project') + self.selectSiteAct = E5Action( + self.trUtf8('Current Project'), + "", + 0, 0, + self, 'django_current_project') self.selectSiteAct.setStatusTip(self.trUtf8( 'Selects the current project')) self.selectSiteAct.setWhatsThis(self.trUtf8( @@ -131,24 +133,26 @@ ## start actions below ## ############################## - self.startProjectAct = E5Action(self.trUtf8('Start Project'), - self.trUtf8('Start &Project'), - 0, 0, - self, 'django_start_project') + self.startProjectAct = E5Action( + self.trUtf8('Start Project'), + self.trUtf8('Start &Project'), + 0, 0, + self, 'django_start_project') self.startProjectAct.setStatusTip(self.trUtf8( 'Starts a new Django project')) self.startProjectAct.setWhatsThis(self.trUtf8( """<b>Start Project</b>""" - """<p>Starts a new Django project using "django-admin.py startproject".</p>""" + """<p>Starts a new Django project using "django-admin.py""" + """ startproject".</p>""" )) self.startProjectAct.triggered[()].connect(self.__startProject) self.actions.append(self.startProjectAct) self.startGlobalApplicationAct = E5Action( - self.trUtf8('Start Application (global)'), - self.trUtf8('Start Application (&global)'), - 0, 0, - self, 'django_start_global_application') + self.trUtf8('Start Application (global)'), + self.trUtf8('Start Application (&global)'), + 0, 0, + self, 'django_start_global_application') self.startGlobalApplicationAct.setStatusTip(self.trUtf8( 'Starts a new global Django application')) self.startGlobalApplicationAct.setWhatsThis(self.trUtf8( @@ -161,10 +165,10 @@ self.actions.append(self.startGlobalApplicationAct) self.startLocalApplicationAct = E5Action( - self.trUtf8('Start Application (local)'), - self.trUtf8('Start Application (&local)'), - 0, 0, - self, 'django_start_local_application') + self.trUtf8('Start Application (local)'), + self.trUtf8('Start Application (&local)'), + 0, 0, + self, 'django_start_local_application') self.startLocalApplicationAct.setStatusTip(self.trUtf8( 'Starts a new local Django application')) self.startLocalApplicationAct.setWhatsThis(self.trUtf8( @@ -180,25 +184,29 @@ ## run actions below ## ############################## - self.runServerAct = E5Action(self.trUtf8('Run Server'), - self.trUtf8('Run &Server'), - 0, 0, - self, 'django_run_server') + self.runServerAct = E5Action( + self.trUtf8('Run Server'), + self.trUtf8('Run &Server'), + 0, 0, + self, 'django_run_server') self.runServerAct.setStatusTip(self.trUtf8( 'Starts the Django Web server')) self.runServerAct.setWhatsThis(self.trUtf8( """<b>Run Server</b>""" - """<p>Starts the Django Web server using "manage.py runserver".</p>""" + """<p>Starts the Django Web server using "manage.py""" + """ runserver".</p>""" )) self.runServerAct.triggered[()].connect(self.__runServer) self.actions.append(self.runServerAct) - self.runBrowserAct = E5Action(self.trUtf8('Run Web-Browser'), - self.trUtf8('Run &Web-Browser'), - 0, 0, - self, 'django_run_browser') + self.runBrowserAct = E5Action( + self.trUtf8('Run Web-Browser'), + self.trUtf8('Run &Web-Browser'), + 0, 0, + self, 'django_run_browser') self.runBrowserAct.setStatusTip(self.trUtf8( - 'Starts the default Web-Browser with the URL of the Django Web server')) + 'Starts the default Web-Browser with the URL of the Django Web' + ' server')) self.runBrowserAct.setWhatsThis(self.trUtf8( """<b>Run Web-Browser</b>""" """<p>Starts the default Web-Browser with the URL of the """ @@ -211,27 +219,31 @@ ## caching actions below ## ############################## - self.createCacheTableAct = E5Action(self.trUtf8('Create Cache Tables'), - self.trUtf8('C&reate Cache Tables'), - 0, 0, - self, 'django_create_cache_tables') + self.createCacheTableAct = E5Action( + self.trUtf8('Create Cache Tables'), + self.trUtf8('C&reate Cache Tables'), + 0, 0, + self, 'django_create_cache_tables') self.createCacheTableAct.setStatusTip(self.trUtf8( 'Creates the tables needed to use the SQL cache backend')) self.createCacheTableAct.setWhatsThis(self.trUtf8( """<b>Create Cache Tables</b>""" - """<p>Creates the tables needed to use the SQL cache backend.</p>""" + """<p>Creates the tables needed to use the SQL cache""" + """ backend.</p>""" )) - self.createCacheTableAct.triggered[()].connect(self.__createCacheTables) + self.createCacheTableAct.triggered[()].connect( + self.__createCacheTables) self.actions.append(self.createCacheTableAct) ############################## ## help action below ## ############################## - self.helpAct = E5Action(self.trUtf8('Help'), - self.trUtf8('&Help'), - 0, 0, - self, 'django_help') + self.helpAct = E5Action( + self.trUtf8('Help'), + self.trUtf8('&Help'), + 0, 0, + self, 'django_help') self.helpAct.setStatusTip(self.trUtf8( 'Shows the Django help index')) self.helpAct.setWhatsThis(self.trUtf8( @@ -245,10 +257,11 @@ ## about action below ## ############################## - self.aboutDjangoAct = E5Action(self.trUtf8('About Django'), - self.trUtf8('About D&jango'), - 0, 0, - self, 'django_about') + self.aboutDjangoAct = E5Action( + self.trUtf8('About Django'), + self.trUtf8('About D&jango'), + 0, 0, + self, 'django_about') self.aboutDjangoAct.setStatusTip(self.trUtf8( 'Shows some information about Django')) self.aboutDjangoAct.setWhatsThis(self.trUtf8( @@ -269,10 +282,11 @@ """ Private method to define the database related actions. """ - self.syncDatabaseAct = E5Action(self.trUtf8('Synchronize'), - self.trUtf8('&Synchronize'), - 0, 0, - self, 'django_database_syncdb') + self.syncDatabaseAct = E5Action( + self.trUtf8('Synchronize'), + self.trUtf8('&Synchronize'), + 0, 0, + self, 'django_database_syncdb') self.syncDatabaseAct.setStatusTip(self.trUtf8( 'Synchronizes the database')) self.syncDatabaseAct.setWhatsThis(self.trUtf8( @@ -282,12 +296,14 @@ self.syncDatabaseAct.triggered[()].connect(self.__databaseSynchronize) self.actions.append(self.syncDatabaseAct) - self.inspectDatabaseAct = E5Action(self.trUtf8('Introspect'), - self.trUtf8('&Introspect'), - 0, 0, - self, 'django_database_inspect') + self.inspectDatabaseAct = E5Action( + self.trUtf8('Introspect'), + self.trUtf8('&Introspect'), + 0, 0, + self, 'django_database_inspect') self.inspectDatabaseAct.setStatusTip(self.trUtf8( - 'Introspects the database tables and outputs a Django model module')) + 'Introspects the database tables and outputs a Django model' + ' module')) self.inspectDatabaseAct.setWhatsThis(self.trUtf8( """<b>Introspect</b>""" """<p>Introspects the database tables and outputs a """ @@ -296,12 +312,14 @@ self.inspectDatabaseAct.triggered[()].connect(self.__databaseInspect) self.actions.append(self.inspectDatabaseAct) - self.flushDatabaseAct = E5Action(self.trUtf8('Flush'), - self.trUtf8('&Flush'), - 0, 0, - self, 'django_database_flush') + self.flushDatabaseAct = E5Action( + self.trUtf8('Flush'), + self.trUtf8('&Flush'), + 0, 0, + self, 'django_database_flush') self.flushDatabaseAct.setStatusTip(self.trUtf8( - 'Returns all database tables to the state just after their installation')) + 'Returns all database tables to the state just after their' + ' installation')) self.flushDatabaseAct.setWhatsThis(self.trUtf8( """<b>Flush</b>""" """<p>Returns all database tables to the state """ @@ -310,10 +328,11 @@ self.flushDatabaseAct.triggered[()].connect(self.__databaseFlush) self.actions.append(self.flushDatabaseAct) - self.databaseClientAct = E5Action(self.trUtf8('Start Client Console'), - self.trUtf8('Start &Client Console'), - 0, 0, - self, 'django_database_client') + self.databaseClientAct = E5Action( + self.trUtf8('Start Client Console'), + self.trUtf8('Start &Client Console'), + 0, 0, + self, 'django_database_client') self.databaseClientAct.setStatusTip(self.trUtf8( 'Starts a console window for the database client')) self.databaseClientAct.setWhatsThis(self.trUtf8( @@ -327,12 +346,14 @@ """ Private method to define the database SQL related actions. """ - self.databaseSqlCreateTablesAct = E5Action(self.trUtf8('Create Tables'), - self.trUtf8('Create &Tables'), - 0, 0, - self, 'django_database_sql_create_tables') + self.databaseSqlCreateTablesAct = E5Action( + self.trUtf8('Create Tables'), + self.trUtf8('Create &Tables'), + 0, 0, + self, 'django_database_sql_create_tables') self.databaseSqlCreateTablesAct.setStatusTip(self.trUtf8( - 'Prints the CREATE TABLE SQL statements for one or more applications')) + 'Prints the CREATE TABLE SQL statements for one or more' + ' applications')) self.databaseSqlCreateTablesAct.setWhatsThis(self.trUtf8( """<b>Create Tables</b>""" """<p>Prints the CREATE TABLE SQL statements for one or """ @@ -342,12 +363,14 @@ self.__databaseSqlCreateTables) self.actions.append(self.databaseSqlCreateTablesAct) - self.databaseSqlCreateIndexesAct = E5Action(self.trUtf8('Create Indexes'), - self.trUtf8('Create &Indexes'), - 0, 0, - self, 'django_database_sql_create_indexes') + self.databaseSqlCreateIndexesAct = E5Action( + self.trUtf8('Create Indexes'), + self.trUtf8('Create &Indexes'), + 0, 0, + self, 'django_database_sql_create_indexes') self.databaseSqlCreateIndexesAct.setStatusTip(self.trUtf8( - 'Prints the CREATE INDEX SQL statements for one or more applications')) + 'Prints the CREATE INDEX SQL statements for one or more' + ' applications')) self.databaseSqlCreateIndexesAct.setWhatsThis(self.trUtf8( """<b>Create Indexes</b>""" """<p>Prints the CREATE INDEX SQL statements for one or """ @@ -357,12 +380,14 @@ self.__databaseSqlCreateIndexes) self.actions.append(self.databaseSqlCreateIndexesAct) - self.databaseSqlCreateEverythingAct = E5Action(self.trUtf8('Create Everything'), - self.trUtf8('Create &Everything'), - 0, 0, - self, 'django_database_sql_create_everything') + self.databaseSqlCreateEverythingAct = E5Action( + self.trUtf8('Create Everything'), + self.trUtf8('Create &Everything'), + 0, 0, + self, 'django_database_sql_create_everything') self.databaseSqlCreateEverythingAct.setStatusTip(self.trUtf8( - 'Prints the CREATE ... SQL statements for one or more applications')) + 'Prints the CREATE ... SQL statements for one or more' + ' applications')) self.databaseSqlCreateEverythingAct.setWhatsThis(self.trUtf8( """<b>Create Everything</b>""" """<p>Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL """ @@ -372,10 +397,11 @@ self.__databaseSqlCreateEverything) self.actions.append(self.databaseSqlCreateEverythingAct) - self.databaseSqlCustomAct = E5Action(self.trUtf8('Custom Statements'), - self.trUtf8('&Custom Statements'), - 0, 0, - self, 'django_database_sql_custom') + self.databaseSqlCustomAct = E5Action( + self.trUtf8('Custom Statements'), + self.trUtf8('&Custom Statements'), + 0, 0, + self, 'django_database_sql_custom') self.databaseSqlCustomAct.setStatusTip(self.trUtf8( 'Prints the custom table modifying SQL statements for ' 'one or more applications')) @@ -388,10 +414,11 @@ self.__databaseSqlCustom) self.actions.append(self.databaseSqlCustomAct) - self.databaseSqlDropTablesAct = E5Action(self.trUtf8('Drop Tables'), - self.trUtf8('&Drop Tables'), - 0, 0, - self, 'django_database_sql_drop_tables') + self.databaseSqlDropTablesAct = E5Action( + self.trUtf8('Drop Tables'), + self.trUtf8('&Drop Tables'), + 0, 0, + self, 'django_database_sql_drop_tables') self.databaseSqlDropTablesAct.setStatusTip(self.trUtf8( 'Prints the DROP TABLE SQL statements for ' 'one or more applications')) @@ -404,26 +431,28 @@ self.__databaseSqlDropTables) self.actions.append(self.databaseSqlDropTablesAct) - self.databaseSqlFlushAct = E5Action(self.trUtf8('Flush Database'), - self.trUtf8('&Flush Database'), - 0, 0, - self, 'django_database_sql_flush_database') + self.databaseSqlFlushAct = E5Action( + self.trUtf8('Flush Database'), + self.trUtf8('&Flush Database'), + 0, 0, + self, 'django_database_sql_flush_database') self.databaseSqlFlushAct.setStatusTip(self.trUtf8( - 'Prints a list of statements to return all database tables to the state ' - 'just after their installation')) + 'Prints a list of statements to return all database tables to the' + ' state just after their installation')) self.databaseSqlFlushAct.setWhatsThis(self.trUtf8( """<b>Flush Database</b>""" - """<p>Prints a list of statements to return all database tables to """ - """the state just after their installation.</p>""" + """<p>Prints a list of statements to return all database tables""" + """ to the state just after their installation.</p>""" )) self.databaseSqlFlushAct.triggered[()].connect( self.__databaseSqlFlushDatabase) self.actions.append(self.databaseSqlFlushAct) - self.databaseSqlResetSeqAct = E5Action(self.trUtf8('Reset Sequences'), - self.trUtf8('Reset &Sequences'), - 0, 0, - self, 'django_database_sql_reset_sequences') + self.databaseSqlResetSeqAct = E5Action( + self.trUtf8('Reset Sequences'), + self.trUtf8('Reset &Sequences'), + 0, 0, + self, 'django_database_sql_reset_sequences') self.databaseSqlResetSeqAct.setStatusTip(self.trUtf8( 'Prints the SQL statements for resetting sequences for ' 'one or more applications')) @@ -440,10 +469,11 @@ """ Private method to define the tool actions. """ - self.diffSettingsAct = E5Action(self.trUtf8('Diff Settings'), - self.trUtf8('&Diff Settings'), - 0, 0, - self, 'django_tools_diffsettings') + self.diffSettingsAct = E5Action( + self.trUtf8('Diff Settings'), + self.trUtf8('&Diff Settings'), + 0, 0, + self, 'django_tools_diffsettings') self.diffSettingsAct.setStatusTip(self.trUtf8( 'Shows the modification made to the settings')) self.diffSettingsAct.setWhatsThis(self.trUtf8( @@ -453,10 +483,11 @@ self.diffSettingsAct.triggered[()].connect(self.__diffSettings) self.actions.append(self.diffSettingsAct) - self.cleanupAct = E5Action(self.trUtf8('Cleanup'), - self.trUtf8('&Cleanup'), - 0, 0, - self, 'django_tools_cleanup') + self.cleanupAct = E5Action( + self.trUtf8('Cleanup'), + self.trUtf8('&Cleanup'), + 0, 0, + self, 'django_tools_cleanup') self.cleanupAct.setStatusTip(self.trUtf8( 'Cleans out old data from the database')) self.cleanupAct.setWhatsThis(self.trUtf8( @@ -466,10 +497,11 @@ self.cleanupAct.triggered[()].connect(self.__cleanup) self.actions.append(self.cleanupAct) - self.validateAct = E5Action(self.trUtf8('Validate'), - self.trUtf8('&Validate'), - 0, 0, - self, 'django_tools_validate') + self.validateAct = E5Action( + self.trUtf8('Validate'), + self.trUtf8('&Validate'), + 0, 0, + self, 'django_tools_validate') self.validateAct.setStatusTip(self.trUtf8( 'Validates all installed models')) self.validateAct.setWhatsThis(self.trUtf8( @@ -479,10 +511,11 @@ self.validateAct.triggered[()].connect(self.__validate) self.actions.append(self.validateAct) - self.runPythonShellAct = E5Action(self.trUtf8('Start Python Console'), - self.trUtf8('Start &Python Console'), - 0, 0, - self, 'django_tools_pythonconsole') + self.runPythonShellAct = E5Action( + self.trUtf8('Start Python Console'), + self.trUtf8('Start &Python Console'), + 0, 0, + self, 'django_tools_pythonconsole') self.runPythonShellAct.setStatusTip(self.trUtf8( 'Starts a Python interactive interpreter')) self.runPythonShellAct.setWhatsThis(self.trUtf8( @@ -496,10 +529,11 @@ """ Private method to define the testing actions. """ - self.dumpDataAct = E5Action(self.trUtf8('Dump Data'), - self.trUtf8('&Dump Data'), - 0, 0, - self, 'django_tools_dumpdata') + self.dumpDataAct = E5Action( + self.trUtf8('Dump Data'), + self.trUtf8('&Dump Data'), + 0, 0, + self, 'django_tools_dumpdata') self.dumpDataAct.setStatusTip(self.trUtf8( 'Dump the database data to a fixture')) self.dumpDataAct.setWhatsThis(self.trUtf8( @@ -509,10 +543,11 @@ self.dumpDataAct.triggered[()].connect(self.__dumpData) self.actions.append(self.dumpDataAct) - self.loadDataAct = E5Action(self.trUtf8('Load Data'), - self.trUtf8('&Load Data'), - 0, 0, - self, 'django_tools_loaddata') + self.loadDataAct = E5Action( + self.trUtf8('Load Data'), + self.trUtf8('&Load Data'), + 0, 0, + self, 'django_tools_loaddata') self.loadDataAct.setStatusTip(self.trUtf8( 'Load data from fixture files')) self.loadDataAct.setWhatsThis(self.trUtf8( @@ -522,10 +557,11 @@ self.loadDataAct.triggered[()].connect(self.__loadData) self.actions.append(self.loadDataAct) - self.runTestAct = E5Action(self.trUtf8('Run Testsuite'), - self.trUtf8('Run &Testsuite'), - 0, 0, - self, 'django_tools_run_test') + self.runTestAct = E5Action( + self.trUtf8('Run Testsuite'), + self.trUtf8('Run &Testsuite'), + 0, 0, + self, 'django_tools_run_test') self.runTestAct.setStatusTip(self.trUtf8( 'Run the test suite for applications or the whole site')) self.runTestAct.setWhatsThis(self.trUtf8( @@ -535,15 +571,17 @@ self.runTestAct.triggered[()].connect(self.__runTestSuite) self.actions.append(self.runTestAct) - self.runTestServerAct = E5Action(self.trUtf8('Run Testserver'), - self.trUtf8('Run Test&server'), - 0, 0, - self, 'django_tools_run_test_server') + self.runTestServerAct = E5Action( + self.trUtf8('Run Testserver'), + self.trUtf8('Run Test&server'), + 0, 0, + self, 'django_tools_run_test_server') self.runTestServerAct.setStatusTip(self.trUtf8( 'Run a development server with data from a set of fixtures')) self.runTestServerAct.setWhatsThis(self.trUtf8( """<b>Run Testserver</b>""" - """<p>Run a development server with data from a set of fixtures.</p>""" + """<p>Run a development server with data from a set of""" + """ fixtures.</p>""" )) self.runTestServerAct.triggered[()].connect(self.__runTestServer) self.actions.append(self.runTestServerAct) @@ -552,10 +590,11 @@ """ Private method to define the authorization actions. """ - self.changePasswordAct = E5Action(self.trUtf8('Change Password'), - self.trUtf8('Change &Password'), - 0, 0, - self, 'django_auth_changepassword') + self.changePasswordAct = E5Action( + self.trUtf8('Change Password'), + self.trUtf8('Change &Password'), + 0, 0, + self, 'django_auth_changepassword') self.changePasswordAct.setStatusTip(self.trUtf8( 'Change the password of a user')) self.changePasswordAct.setWhatsThis(self.trUtf8( @@ -565,10 +604,11 @@ self.changePasswordAct.triggered[()].connect(self.__changePassword) self.actions.append(self.changePasswordAct) - self.createSuperUserAct = E5Action(self.trUtf8('Create Superuser'), - self.trUtf8('Create &Superuser'), - 0, 0, - self, 'django_auth_createsuperuser') + self.createSuperUserAct = E5Action( + self.trUtf8('Create Superuser'), + self.trUtf8('Create &Superuser'), + 0, 0, + self, 'django_auth_createsuperuser') self.createSuperUserAct.setStatusTip(self.trUtf8( 'Create a superuser account')) self.createSuperUserAct.setWhatsThis(self.trUtf8( @@ -582,10 +622,11 @@ """ Private method to define the session actions. """ - self.clearSessionsAct = E5Action(self.trUtf8('Clear Sessions'), - self.trUtf8('Clear &Sessions'), - 0, 0, - self, 'django_session_clearsessions') + self.clearSessionsAct = E5Action( + self.trUtf8('Clear Sessions'), + self.trUtf8('Clear &Sessions'), + 0, 0, + self, 'django_session_clearsessions') self.clearSessionsAct.setStatusTip(self.trUtf8( 'Clear expired sessions')) self.clearSessionsAct.setWhatsThis(self.trUtf8( @@ -750,9 +791,11 @@ editor = self.__plugin.getPreferences("TranslationsEditor") try: if editor: - self.__translationsBrowser.addHookMethodAndMenuEntry("open", + self.__translationsBrowser.addHookMethodAndMenuEntry( + "open", self.openPOEditor, - self.trUtf8("Open with {0}").format(os.path.basename(editor))) + self.trUtf8("Open with {0}").format( + os.path.basename(editor))) else: self.__translationsBrowser.removeHookMethod("open") except KeyError: @@ -766,26 +809,34 @@ if self.__e5project.getProjectType() == "Django": self.__formsBrowser = \ e5App().getObject("ProjectBrowser").getProjectBrowser("forms") - self.__formsBrowser.addHookMethodAndMenuEntry("newForm", + self.__formsBrowser.addHookMethodAndMenuEntry( + "newForm", self.newForm, self.trUtf8("New template...")) self.__e5project.projectLanguageAddedByCode.connect( self.__projectLanguageAdded) self.__translationsBrowser = \ - e5App().getObject("ProjectBrowser").getProjectBrowser("translations") - self.__translationsBrowser.addHookMethodAndMenuEntry("generateAll", + e5App().getObject("ProjectBrowser")\ + .getProjectBrowser("translations") + self.__translationsBrowser.addHookMethodAndMenuEntry( + "generateAll", self.updateCatalogs, self.trUtf8("Update all catalogs")) - self.__translationsBrowser.addHookMethodAndMenuEntry("generateSelected", - self.updateSelectedCatalogs, self.trUtf8("Update selected catalogs")) + self.__translationsBrowser.addHookMethodAndMenuEntry( + "generateSelected", + self.updateSelectedCatalogs, + self.trUtf8("Update selected catalogs")) self.__translationsBrowser.addHookMethodAndMenuEntry( "generateAllWithObsolete", self.updateCatalogsWithObsolete, self.trUtf8("Update all catalogs (with obsolete)")) self.__translationsBrowser.addHookMethodAndMenuEntry( - "generateSelectedWithObsolete", self.updateSelectedCatalogsWithObsolete, + "generateSelectedWithObsolete", + self.updateSelectedCatalogsWithObsolete, self.trUtf8("Update selected catalogs (with obsolete)")) - self.__translationsBrowser.addHookMethodAndMenuEntry("releaseAll", + self.__translationsBrowser.addHookMethodAndMenuEntry( + "releaseAll", self.compileCatalogs, self.trUtf8("Compile all catalogs")) - self.__translationsBrowser.addHookMethodAndMenuEntry("releaseSelected", + self.__translationsBrowser.addHookMethodAndMenuEntry( + "releaseSelected", self.compileSelectedCatalogs, self.trUtf8("Compile selected catalogs")) @@ -803,12 +854,18 @@ self.__e5project.projectLanguageAddedByCode.disconnect( self.__projectLanguageAdded) - self.__translationsBrowser.removeHookMethod("generateAll") - self.__translationsBrowser.removeHookMethod("generateSelected") - self.__translationsBrowser.removeHookMethod("generateAllWithObsolete") - self.__translationsBrowser.removeHookMethod("generateSelectedWithObsolete") - self.__translationsBrowser.removeHookMethod("releaseAll") - self.__translationsBrowser.removeHookMethod("releaseSelected") + self.__translationsBrowser.removeHookMethod( + "generateAll") + self.__translationsBrowser.removeHookMethod( + "generateSelected") + self.__translationsBrowser.removeHookMethod( + "generateAllWithObsolete") + self.__translationsBrowser.removeHookMethod( + "generateSelectedWithObsolete") + self.__translationsBrowser.removeHookMethod( + "releaseAll") + self.__translationsBrowser.removeHookMethod( + "releaseSelected") try: self.__translationsBrowser.removeHookMethod("open") except KeyError: @@ -843,7 +900,8 @@ fname += ex if os.path.exists(fname): - res = E5MessageBox.yesNo(self.__ui, + res = E5MessageBox.yesNo( + self.__ui, self.trUtf8("New Form"), self.trUtf8("The file already exists! Overwrite it?"), icon=E5MessageBox.Warning) @@ -859,9 +917,11 @@ f.write(' <head>\n') f.write(' <meta content="" />\n') f.write(' <title></title>\n') - f.write(' <link rel="stylesheet" type="text/css" href="style.css"/>') + f.write(' <link rel="stylesheet" type="text/css"' + ' href="style.css"/>') f.write(' <!--[if lte IE 7]>') - f.write(' <link rel="stylesheet" type="text/css" href="ie.css"/>') + f.write(' <link rel="stylesheet" type="text/css"' + ' href="ie.css"/>') f.write(' <![endif]-->') f.write(' </head>\n') f.write('\n') @@ -873,10 +933,12 @@ f.write('</html>\n') f.close() except (IOError, OSError) as e: - E5MessageBox.critical(self.__ui, + E5MessageBox.critical( + self.__ui, self.trUtf8("New Form"), - self.trUtf8("<p>The new form file <b>{0}</b> could not be created.<br>" - "Problem: {1}</p>").format(fname, str(e))) + self.trUtf8("<p>The new form file <b>{0}</b> could not be" + " created.<br> Problem: {1}</p>") + .format(fname, str(e))) return self.__e5project.appendFile(fname) @@ -900,9 +962,9 @@ the environment. @param file filename of the executable (string) - @return list of full executable names, if the executable file is accessible - via the searchpath defined by the PATH environment variable, or an - empty list otherwise. + @return list of full executable names, if the executable file is + accessible via the searchpath defined by the PATH environment + variable, or an empty list otherwise. """ paths = [] @@ -960,9 +1022,9 @@ l0 = "" if variant.lower() in l0.lower() or \ "{0}.".format(variant[-1]) in l0 or \ - (variant == "Python2" and \ - "python3" not in l0.lower() and \ - "python" in l0.lower()): + (variant == "Python2" and + "python3" not in l0.lower() and + "python" in l0.lower()): variants.append(variant) break @@ -1025,7 +1087,8 @@ cmds = [ os.path.join(virtualEnv, "bin", "django-admin.py"), os.path.join(virtualEnv, "bin", "django-admin"), - os.path.join(virtualEnv, "local", "bin", "django-admin.py"), + os.path.join(virtualEnv, "local", "bin", + "django-admin.py"), os.path.join(virtualEnv, "local", "bin", "django-admin"), ] for cmd in cmds: @@ -1087,10 +1150,12 @@ version = self.getDjangoVersion() url = "http://www.djangoproject.com" - msgBox = E5MessageBox.E5MessageBox(E5MessageBox.Question, + msgBox = E5MessageBox.E5MessageBox( + E5MessageBox.Question, self.trUtf8("About Django"), self.trUtf8( - "<p>Django is a high-level Python Web framework that encourages rapid " + "<p>Django is a high-level Python Web framework that" + " encourages rapid " "development and clean, pragmatic design.</p>" "<p><table>" "<tr><td>Version:</td><td>{0}</td></tr>" @@ -1124,8 +1189,8 @@ if procStarted: finished = process.waitForFinished(30000) if finished and process.exitCode() == 0: - output = \ - str(process.readAllStandardOutput(), ioEncoding, 'replace') + output = str(process.readAllStandardOutput(), ioEncoding, + 'replace') self.__djangoVersion = output.splitlines()[0].strip() return self.__djangoVersion @@ -1243,10 +1308,12 @@ 0, False) if ok and bool(selection): if selection == projectStr: - path, projectName = os.path.split(self.__e5project.getProjectPath()) + path, projectName = os.path.split( + self.__e5project.getProjectPath()) self.__createProject(projectName, path) elif selection == applStr: - path, applName = os.path.split(self.__e5project.getProjectPath()) + path, applName = os.path.split( + self.__e5project.getProjectPath()) self.__createApplication(applName, path) def __createProject(self, projectName, path): @@ -1269,16 +1336,18 @@ if cmd: args.append(cmd) else: - E5MessageBox.critical(self.__ui, + E5MessageBox.critical( + self.__ui, title, - self.trUtf8("""<p>The <b>django-admin.py</b> script is not in""" - """ the path. Aborting...</p>""")) + self.trUtf8("""<p>The <b>django-admin.py</b> script is""" + """ not in the path. Aborting...</p>""")) return args.append("startproject") args.append(projectName) - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("Django project created successfully.")) res = dia.startProcess(args, path) if res: @@ -1289,7 +1358,8 @@ if not os.path.exists(i18nPath): os.makedirs(i18nPath) - if os.path.join(path, projectName) == self.__e5project.getProjectPath(): + if os.path.join(path, projectName) == \ + self.__e5project.getProjectPath(): self.__setCurrentSite("") else: self.__setCurrentSite(projectName) @@ -1306,7 +1376,8 @@ self.trUtf8("Enter the name of the new Django project."), QLineEdit.Normal) if ok and projectName != "": - res = self.__createProject(projectName, self.__e5project.getProjectPath()) + res = self.__createProject(projectName, + self.__e5project.getProjectPath()) if res: # search for new files and add them to the project sitePath = os.path.join(self.__e5project.getProjectPath(), @@ -1323,7 +1394,8 @@ @param applName name of the new application (string) @param path the directory where the application should be created (string) - @param isGlobal flag indicating a standalone Django application (boolean) + @param isGlobal flag indicating a standalone Django application + (boolean) @return flag indicating a successful creation (boolean) """ title = self.trUtf8("Start Django Application") @@ -1338,10 +1410,12 @@ if cmd: args.append(cmd) else: - E5MessageBox.critical(self.__ui, + E5MessageBox.critical( + self.__ui, title, - self.trUtf8("""<p>The <b>django-admin.py</b> script is not in""" - """ the path. Aborting...</p>""")) + self.trUtf8("""<p>The <b>django-admin.py</b> script""" + """ is not in the path.""" + """ Aborting...</p>""")) return else: args.append(self.__getPythonExecutable()) @@ -1353,7 +1427,8 @@ args.append("startapp") args.append(applName) - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("Django application created successfully.")) res = dia.startProcess(args, path) if res: @@ -1367,13 +1442,16 @@ applName, ok = QInputDialog.getText( self.__ui, self.trUtf8("Start Global Django Application"), - self.trUtf8("Enter the name of the new global Django application."), + self.trUtf8("Enter the name of the new global Django" + " application."), QLineEdit.Normal) if ok and applName != "": - res = self.__createApplication(applName, self.__e5project.getProjectPath()) + res = self.__createApplication(applName, + self.__e5project.getProjectPath()) if res: # search for new files and add them to the project - appPath = os.path.join(self.__e5project.getProjectPath(), applName) + appPath = os.path.join(self.__e5project.getProjectPath(), + applName) for entry in os.walk(appPath): for fileName in entry[2]: fullName = os.path.join(entry[0], fileName) @@ -1420,8 +1498,6 @@ def __selectSite(self): """ Private method to select a site to work with. - - @return selected site (string) """ sites = self.__findSites() if len(sites) == 1: @@ -1480,7 +1556,8 @@ self.__e5project.pdata["TRANSLATIONPATTERN"] = [] else: self.__e5project.pdata["TRANSLATIONPATTERN"] = [ - os.path.join(site, "locale", "%language%", "LC_MESSAGES", "django.po") + os.path.join(site, "locale", "%language%", "LC_MESSAGES", + "django.po") ] def __site(self): @@ -1522,19 +1599,21 @@ try: if Utilities.isWindowsPlatform(): - serverProcStarted, pid = \ - QProcess.startDetached(args[0], args[1:], self.__sitePath()) + serverProcStarted, pid = QProcess.startDetached( + args[0], args[1:], self.__sitePath()) else: if self.__serverProc is not None: self.__serverProcFinished() self.__serverProc = QProcess() - self.__serverProc.finished.connect(self.__serverProcFinished) + self.__serverProc.finished.connect( + self.__serverProcFinished) self.__serverProc.setWorkingDirectory(self.__sitePath()) self.__serverProc.start(args[0], args[1:]) serverProcStarted = self.__serverProc.waitForStarted() if not serverProcStarted: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), self.trUtf8('The Django server could not be started.')) except DjangoNoSiteSelectedException: @@ -1578,10 +1657,11 @@ url = QUrl("http://{0}:{1}".format(addr, port)) res = QDesktopServices.openUrl(url) if not res: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Run Web-Browser'), - self.trUtf8('Could not start the web-browser for the url "{0}".')\ - .format(url.toString())) + self.trUtf8('Could not start the web-browser for the' + ' url "{0}".').format(url.toString())) ################################################################## ## slots below implement database related functions @@ -1603,15 +1683,18 @@ wd = self.__sitePath() started, pid = QProcess.startDetached(args[0], args[1:], wd) if not started: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), - self.trUtf8('The Django process could not be started.')) + self.trUtf8('The Django process could not be' + ' started.')) except DjangoNoSiteSelectedException: pass def __databaseInspect(self): """ - Private slot to introspect the database and output a Django model module. + Private slot to introspect the database and output a Django model + module. """ title = self.trUtf8("Introspect Database") @@ -1632,8 +1715,8 @@ def __databaseFlush(self): """ - Private slot to return all database tables to the state just after their - installation. + Private slot to return all database tables to the state just after + their installation. """ try: path = self.__sitePath() @@ -1642,9 +1725,11 @@ title = self.trUtf8("Flush Database") - res = E5MessageBox.yesNo(self.__ui, + res = E5MessageBox.yesNo( + self.__ui, title, - self.trUtf8("""Flushing the database will destroy all data. Are you sure?""")) + self.trUtf8("""Flushing the database will destroy all data.""" + """ Are you sure?""")) if res: args = [] args.append(self.__getPythonExecutable()) @@ -1652,8 +1737,10 @@ args.append("flush") args.append("--noinput") - dia = DjangoDialog(title, - msgSuccess=self.trUtf8("Database tables flushed successfully.")) + dia = DjangoDialog( + title, + msgSuccess=self.trUtf8("Database tables flushed" + " successfully.")) res = dia.startProcess(args, path) if res: dia.exec_() @@ -1674,9 +1761,11 @@ wd = self.__sitePath() started, pid = QProcess.startDetached(args[0], args[1:], wd) if not started: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), - self.trUtf8('The Django process could not be started.')) + self.trUtf8('The Django process could not be' + ' started.')) except DjangoNoSiteSelectedException: pass @@ -1809,7 +1898,8 @@ except DjangoNoSiteSelectedException: return - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("Database cleaned up successfully.")) res = dia.startProcess(args, path) if res: @@ -1859,9 +1949,11 @@ wd = self.__sitePath() started, pid = QProcess.startDetached(args[0], args[1:], wd) if not started: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), - self.trUtf8('The Django process could not be started.')) + self.trUtf8('The Django process could not be' + ' started.')) except DjangoNoSiteSelectedException: pass @@ -1883,7 +1975,8 @@ tblStr, ok = QInputDialog.getText( self.__ui, title, - self.trUtf8("Enter the names of the cache tables separated by spaces."), + self.trUtf8("Enter the names of the cache tables separated by" + " spaces."), QLineEdit.Normal) if ok and tblStr != "": tableNames = tblStr.split() @@ -1894,7 +1987,8 @@ args.append("createcachetable") args += tableNames - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("Cache tables created successfully.")) res = dia.startProcess(args, wd) if res: @@ -1937,8 +2031,8 @@ elif format == "yaml": fileFilters = self.trUtf8("YAML Files (*.yaml)") - dia = DjangoDialog(title, fixed=True, linewrap=False, - saveFilters=fileFilters) + dia = DjangoDialog( + title, fixed=True, linewrap=False, saveFilters=fileFilters) res = dia.startProcess(args, wd, showCommand=False) if res: dia.exec_() @@ -1991,13 +2085,15 @@ started, pid = QProcess.startDetached(args[0], args[1:], wd) if not started: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), self.trUtf8('The Django process could not be started.')) def __runTestServer(self): """ - Private slot to run a development server with data from a set of fixtures. + Private slot to run a development server with data from a set of + fixtures. """ consoleCmd = self.__isSpawningConsole( self.__plugin.getPreferences("ConsoleCommand"))[1] @@ -2021,21 +2117,26 @@ try: if Utilities.isWindowsPlatform(): - serverProcStarted, pid = \ - QProcess.startDetached(args[0], args[1:], self.__sitePath()) + serverProcStarted, pid = QProcess.startDetached( + args[0], args[1:], self.__sitePath()) else: if self.__testServerProc is not None: self.__testServerProcFinished() self.__testServerProc = QProcess() - self.__testServerProc.finished.connect(self.__serverProcFinished) - self.__testServerProc.setWorkingDirectory(self.__sitePath()) + self.__testServerProc.finished.connect( + self.__serverProcFinished) + self.__testServerProc.setWorkingDirectory( + self.__sitePath()) self.__testServerProc.start(args[0], args[1:]) - serverProcStarted = self.__testServerProc.waitForStarted() + serverProcStarted = \ + self.__testServerProc.waitForStarted() if not serverProcStarted: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), - self.trUtf8('The Django test server could not be started.')) + self.trUtf8('The Django test server could not be' + ' started.')) except DjangoNoSiteSelectedException: pass @@ -2075,11 +2176,14 @@ args.append(userName) try: wd = self.__sitePath() - started, pid = QProcess.startDetached(args[0], args[1:], wd) + started, pid = QProcess.startDetached( + args[0], args[1:], wd) if not started: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), - self.trUtf8('The Django process could not be started.')) + self.trUtf8('The Django process could not be' + ' started.')) except DjangoNoSiteSelectedException: pass @@ -2099,9 +2203,11 @@ wd = self.__sitePath() started, pid = QProcess.startDetached(args[0], args[1:], wd) if not started: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), - self.trUtf8('The Django process could not be started.')) + self.trUtf8('The Django process could not be' + ' started.')) except DjangoNoSiteSelectedException: pass @@ -2125,7 +2231,8 @@ args.append("manage.py") args.append("clearsessions") - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("Expired sessions cleared successfully.")) res = dia.startProcess(args, wd) if res: @@ -2193,7 +2300,8 @@ @param code language code of the new language (string) """ - title = self.trUtf8("Initializing message catalog for '{0}'").format(code) + title = self.trUtf8("Initializing message catalog for '{0}'")\ + .format(code) args = [] args.append(self.__getPythonExecutable()) @@ -2205,14 +2313,17 @@ try: wd = self.__sitePath() except DjangoNoSiteSelectedException: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No current site selected or no site created yet.' ' Aborting...')) return - dia = DjangoDialog(title, - msgSuccess=self.trUtf8("\nMessage catalog initialized successfully.")) + dia = DjangoDialog( + title, + msgSuccess=self.trUtf8( + "\nMessage catalog initialized successfully.")) res = dia.startProcess(args, wd) if res: dia.exec_() @@ -2232,7 +2343,8 @@ try: wd = self.__sitePath() except DjangoNoSiteSelectedException: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No current site selected or no site created yet.' ' Aborting...')) @@ -2240,7 +2352,8 @@ argsLists = [] - for filename in self.__normalizeList(self.__siteFilteredList(filenames)): + for filename in self.__normalizeList( + self.__siteFilteredList(filenames)): locale = self.__getLocale(filename) if locale: args = [] @@ -2253,12 +2366,14 @@ argsLists.append(args) if len(argsLists) == 0: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No locales detected. Aborting...')) return - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("\nMessage catalogs updated successfully.")) res = dia.startBatchProcesses(argsLists, wd) if res: @@ -2270,12 +2385,14 @@ @param filenames list of filenames """ - title = self.trUtf8("Updating message catalogs (keeping obsolete messages)") + title = self.trUtf8("Updating message catalogs (keeping obsolete" + " messages)") try: wd = self.__sitePath() except DjangoNoSiteSelectedException: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No current site selected or no site created yet.' ' Aborting...')) @@ -2283,7 +2400,8 @@ argsLists = [] - for filename in self.__normalizeList(self.__siteFilteredList(filenames)): + for filename in self.__normalizeList( + self.__siteFilteredList(filenames)): locale = self.__getLocale(filename) if locale: args = [] @@ -2295,12 +2413,14 @@ argsLists.append(args) if len(argsLists) == 0: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No locales detected. Aborting...')) return - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("\nMessage catalogs updated successfully.")) res = dia.startBatchProcesses(argsLists, wd) if res: @@ -2324,13 +2444,15 @@ try: wd = self.__sitePath() except DjangoNoSiteSelectedException: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No current site selected or no site created yet.' ' Aborting...')) return - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("\nMessage catalogs updated successfully.")) res = dia.startProcess(args, wd) if res: @@ -2342,7 +2464,8 @@ @param filenames list of filenames (not used) """ - title = self.trUtf8("Updating message catalogs (keeping obsolete messages)") + title = self.trUtf8("Updating message catalogs (keeping obsolete" + " messages)") args = [] args.append(self.__getPythonExecutable()) @@ -2353,13 +2476,15 @@ try: wd = self.__sitePath() except DjangoNoSiteSelectedException: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No current site selected or no site created yet.' ' Aborting...')) return - dia = DjangoDialog(title, + dia = DjangoDialog( + title, msgSuccess=self.trUtf8("\nMessage catalogs updated successfully.")) res = dia.startProcess(args, wd) if res: @@ -2376,7 +2501,8 @@ try: wd = self.__sitePath() except DjangoNoSiteSelectedException: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No current site selected or no site created yet.' ' Aborting...')) @@ -2384,7 +2510,8 @@ argsLists = [] - for filename in self.__normalizeList(self.__siteFilteredList(filenames)): + for filename in self.__normalizeList( + self.__siteFilteredList(filenames)): locale = self.__getLocale(filename) if locale: args = [] @@ -2396,13 +2523,16 @@ argsLists.append(args) if len(argsLists) == 0: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No locales detected. Aborting...')) return - dia = DjangoDialog(title, - msgSuccess=self.trUtf8("\nMessage catalogs compiled successfully.")) + dia = DjangoDialog( + title, + msgSuccess=self.trUtf8( + "\nMessage catalogs compiled successfully.")) res = dia.startBatchProcesses(argsLists, wd, mergedOutput=True) if res: dia.exec_() @@ -2429,14 +2559,17 @@ try: wd = self.__sitePath() except DjangoNoSiteSelectedException: - E5MessageBox.warning(None, + E5MessageBox.warning( + None, title, self.trUtf8('No current site selected or no site created yet.' ' Aborting...')) return - dia = DjangoDialog(title, - msgSuccess=self.trUtf8("\nMessage catalogs compiled successfully.")) + dia = DjangoDialog( + title, + msgSuccess=self.trUtf8( + "\nMessage catalogs compiled successfully.")) res = dia.startProcess(args, wd, mergedOutput=True) if res: dia.exec_() @@ -2461,7 +2594,9 @@ wd = "" started, pid = QProcess.startDetached(editor, [poFile], wd) if not started: - E5MessageBox.critical(None, + E5MessageBox.critical( + None, self.trUtf8('Process Generation Error'), - self.trUtf8('The translations editor process ({0}) could not' - ' be started.').format(os.path.basename(editor))) + self.trUtf8('The translations editor process ({0}) could' + ' not be started.') + .format(os.path.basename(editor)))