Fri, 04 Aug 2017 18:41:50 +0200
Merged the Safe Browsing extension into the default branch for further processing.
--- a/APIs/Python3/eric6.api Fri Aug 04 18:38:45 2017 +0200 +++ b/APIs/Python3/eric6.api Fri Aug 04 18:41:50 2017 +0200 @@ -4018,7 +4018,9 @@ eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.contextType?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.end?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.indent?4() +eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.setSpecial?4(special) eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.source?4() +eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.special?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.ssource?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.start?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext?1(source, startLine, contextType)
--- a/DebugClients/Python/BreakpointWatch.py Fri Aug 04 18:38:45 2017 +0200 +++ b/DebugClients/Python/BreakpointWatch.py Fri Aug 04 18:41:50 2017 +0200 @@ -83,7 +83,7 @@ @staticmethod def clear_break(filename, lineno): """ - Public method reimplemented from bdb.py to clear a breakpoint. + Static method reimplemented from bdb.py to clear a breakpoint. @param filename file name of the bp to retrieve @type str @@ -98,7 +98,7 @@ @staticmethod def clear_all_breaks(): """ - Public method to clear all breakpoints. + Static method to clear all breakpoints. """ Breakpoint.breaks.clear() Breakpoint.breakInFile.clear() @@ -107,7 +107,7 @@ @staticmethod def get_break(filename, lineno): """ - Public method to get the breakpoint of a particular line. + Static method to get the breakpoint of a particular line. Because eric6 supports only one breakpoint per line, this method will return only one breakpoint. @@ -124,7 +124,7 @@ @staticmethod def effectiveBreak(filename, lineno, frame): """ - Public method to determine which breakpoint for this filename:lineno + Static method to determine which breakpoint for this filename:lineno is to be acted upon. Called only if we know there is a bpt at this @@ -248,7 +248,7 @@ @staticmethod def clear_watch(cond): """ - Public method to clear a watch expression. + Static method to clear a watch expression. @param cond expression of the watch expression to be cleared @type str @@ -261,14 +261,14 @@ @staticmethod def clear_all_watches(): """ - Public method to clear all watch expressions. + Static method to clear all watch expressions. """ del Watch.watches[:] @staticmethod def get_watch(cond): """ - Public method to get a watch expression. + Static method to get a watch expression. @param cond expression of the watch expression to be cleared @type str @@ -282,7 +282,7 @@ @staticmethod def effectiveWatch(frame): """ - Public method to determine, if a watch expression is effective. + Static method to determine, if a watch expression is effective. @param frame the current execution frame @type frame object
--- a/Documentation/Help/source.qhp Fri Aug 04 18:38:45 2017 +0200 +++ b/Documentation/Help/source.qhp Fri Aug 04 18:41:50 2017 +0200 @@ -3932,7 +3932,9 @@ <keyword name="DocStyleContext.contextType" id="DocStyleContext.contextType" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.contextType" /> <keyword name="DocStyleContext.end" id="DocStyleContext.end" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.end" /> <keyword name="DocStyleContext.indent" id="DocStyleContext.indent" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.indent" /> + <keyword name="DocStyleContext.setSpecial" id="DocStyleContext.setSpecial" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.setSpecial" /> <keyword name="DocStyleContext.source" id="DocStyleContext.source" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.source" /> + <keyword name="DocStyleContext.special" id="DocStyleContext.special" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.special" /> <keyword name="DocStyleContext.ssource" id="DocStyleContext.ssource" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.ssource" /> <keyword name="DocStyleContext.start" id="DocStyleContext.start" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html#DocStyleContext.start" /> <keyword name="DocumentationPlugins (Package)" id="DocumentationPlugins (Package)" ref="index-eric6.Plugins.DocumentationPlugins.html" />
--- a/Documentation/Source/eric6.DebugClients.Python.BreakpointWatch.html Fri Aug 04 18:38:45 2017 +0200 +++ b/Documentation/Source/eric6.DebugClients.Python.BreakpointWatch.html Fri Aug 04 18:41:50 2017 +0200 @@ -88,16 +88,16 @@ <table> <tr> <td><a href="#Breakpoint.clear_all_breaks">clear_all_breaks</a></td> -<td>Public method to clear all breakpoints.</td> +<td>Static method to clear all breakpoints.</td> </tr><tr> <td><a href="#Breakpoint.clear_break">clear_break</a></td> -<td>Public method reimplemented from bdb.py to clear a breakpoint.</td> +<td>Static method reimplemented from bdb.py to clear a breakpoint.</td> </tr><tr> <td><a href="#Breakpoint.effectiveBreak">effectiveBreak</a></td> -<td>Public method to determine which breakpoint for this filename:lineno is to be acted upon.</td> +<td>Static method to determine which breakpoint for this filename:lineno is to be acted upon.</td> </tr><tr> <td><a href="#Breakpoint.get_break">get_break</a></td> -<td>Public method to get the breakpoint of a particular line.</td> +<td>Static method to get the breakpoint of a particular line.</td> </tr> </table> <a NAME="Breakpoint.__init__" ID="Breakpoint.__init__"></a> @@ -138,12 +138,12 @@ <h4>Breakpoint.clear_all_breaks (static)</h4> <b>clear_all_breaks</b>(<i></i>) <p> - Public method to clear all breakpoints. + Static method to clear all breakpoints. </p><a NAME="Breakpoint.clear_break" ID="Breakpoint.clear_break"></a> <h4>Breakpoint.clear_break (static)</h4> <b>clear_break</b>(<i>lineno</i>) <p> - Public method reimplemented from bdb.py to clear a breakpoint. + Static method reimplemented from bdb.py to clear a breakpoint. </p><dl> <dt><i>filename</i> (str)</dt> <dd> @@ -156,7 +156,7 @@ <h4>Breakpoint.effectiveBreak (static)</h4> <b>effectiveBreak</b>(<i>lineno, frame</i>) <p> - Public method to determine which breakpoint for this filename:lineno + Static method to determine which breakpoint for this filename:lineno is to be acted upon. </p><p> Called only if we know there is a bpt at this @@ -188,7 +188,7 @@ <h4>Breakpoint.get_break (static)</h4> <b>get_break</b>(<i>lineno</i>) <p> - Public method to get the breakpoint of a particular line. + Static method to get the breakpoint of a particular line. </p><p> Because eric6 supports only one breakpoint per line, this method will return only one breakpoint. @@ -251,16 +251,16 @@ <table> <tr> <td><a href="#Watch.clear_all_watches">clear_all_watches</a></td> -<td>Public method to clear all watch expressions.</td> +<td>Static method to clear all watch expressions.</td> </tr><tr> <td><a href="#Watch.clear_watch">clear_watch</a></td> -<td>Public method to clear a watch expression.</td> +<td>Static method to clear a watch expression.</td> </tr><tr> <td><a href="#Watch.effectiveWatch">effectiveWatch</a></td> -<td>Public method to determine, if a watch expression is effective.</td> +<td>Static method to determine, if a watch expression is effective.</td> </tr><tr> <td><a href="#Watch.get_watch">get_watch</a></td> -<td>Public method to get a watch expression.</td> +<td>Static method to get a watch expression.</td> </tr> </table> <a NAME="Watch.__init__" ID="Watch.__init__"></a> @@ -301,12 +301,12 @@ <h4>Watch.clear_all_watches (static)</h4> <b>clear_all_watches</b>(<i></i>) <p> - Public method to clear all watch expressions. + Static method to clear all watch expressions. </p><a NAME="Watch.clear_watch" ID="Watch.clear_watch"></a> <h4>Watch.clear_watch (static)</h4> <b>clear_watch</b>(<i></i>) <p> - Public method to clear a watch expression. + Static method to clear a watch expression. </p><dl> <dt><i>cond</i> (str)</dt> <dd> @@ -316,7 +316,7 @@ <h4>Watch.effectiveWatch (static)</h4> <b>effectiveWatch</b>(<i></i>) <p> - Public method to determine, if a watch expression is effective. + Static method to determine, if a watch expression is effective. </p><dl> <dt><i>frame</i> (frame object)</dt> <dd> @@ -337,7 +337,7 @@ <h4>Watch.get_watch (static)</h4> <b>get_watch</b>(<i></i>) <p> - Public method to get a watch expression. + Static method to get a watch expression. </p><dl> <dt><i>cond</i> (str)</dt> <dd>
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html Fri Aug 04 18:38:45 2017 +0200 +++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html Fri Aug 04 18:41:50 2017 +0200 @@ -866,9 +866,15 @@ <td><a href="#DocStyleContext.indent">indent</a></td> <td>Public method to get the indentation of the first line.</td> </tr><tr> +<td><a href="#DocStyleContext.setSpecial">setSpecial</a></td> +<td>Public method to set a special attribute for the context.</td> +</tr><tr> <td><a href="#DocStyleContext.source">source</a></td> <td>Public method to get the source.</td> </tr><tr> +<td><a href="#DocStyleContext.special">special</a></td> +<td>Public method to get the special context attribute string.</td> +</tr><tr> <td><a href="#DocStyleContext.ssource">ssource</a></td> <td>Public method to get the joined source lines.</td> </tr><tr> @@ -926,6 +932,16 @@ <dd> indentation string (string) </dd> +</dl><a NAME="DocStyleContext.setSpecial" ID="DocStyleContext.setSpecial"></a> +<h4>DocStyleContext.setSpecial</h4> +<b>setSpecial</b>(<i>special</i>) +<p> + Public method to set a special attribute for the context. +</p><dl> +<dt><i>special</i> (str)</dt> +<dd> +attribute string +</dd> </dl><a NAME="DocStyleContext.source" ID="DocStyleContext.source"></a> <h4>DocStyleContext.source</h4> <b>source</b>(<i></i>) @@ -936,6 +952,21 @@ <dd> source (list of string) </dd> +</dl><a NAME="DocStyleContext.special" ID="DocStyleContext.special"></a> +<h4>DocStyleContext.special</h4> +<b>special</b>(<i></i>) +<p> + Public method to get the special context attribute string. +</p><dl> +<dt>Returns:</dt> +<dd> +attribute string +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> </dl><a NAME="DocStyleContext.ssource" ID="DocStyleContext.ssource"></a> <h4>DocStyleContext.ssource</h4> <b>ssource</b>(<i></i>)
--- a/Documentation/Source/eric6.QScintilla.SpellChecker.html Fri Aug 04 18:38:45 2017 +0200 +++ b/Documentation/Source/eric6.QScintilla.SpellChecker.html Fri Aug 04 18:41:50 2017 +0200 @@ -56,7 +56,7 @@ <table> <tr> <td><a href="#SpellChecker._getDict">_getDict</a></td> -<td>Protected classmethod to get a new dictionary.</td> +<td>Protected class method to get a new dictionary.</td> </tr><tr> <td><a href="#SpellChecker.getAvailableLanguages">getAvailableLanguages</a></td> <td>Class method to get all available languages.</td> @@ -167,7 +167,7 @@ <h4>SpellChecker._getDict (class method)</h4> <b>_getDict</b>(<i>lang, pwl="", pel=""</i>) <p> - Protected classmethod to get a new dictionary. + Protected class method to get a new dictionary. </p><dl> <dt><i>lang</i></dt> <dd>
--- a/Documentation/Source/eric6.Toolbox.PyQt4ImportHook.html Fri Aug 04 18:38:45 2017 +0200 +++ b/Documentation/Source/eric6.Toolbox.PyQt4ImportHook.html Fri Aug 04 18:41:50 2017 +0200 @@ -42,8 +42,8 @@ <a NAME="PyQt4Importer" ID="PyQt4Importer"></a> <h2>PyQt4Importer</h2> <p> - Class implementing an importer converting PyQt5 imports to PyQt4 - imports. + Class implementing an importer converting PyQt5 imports to PyQt4 + imports. </p> <h3>Derived from</h3> object @@ -72,19 +72,19 @@ <table> <tr> <td><a href="#PyQt4Importer.QComboBox_currentData">QComboBox_currentData</a></td> -<td>Public method to emulate the currentData method of Qt5.</td> +<td>Static method to emulate the currentData method of Qt5.</td> </tr> </table> <a NAME="PyQt4Importer.__init__" ID="PyQt4Importer.__init__"></a> <h4>PyQt4Importer (Constructor)</h4> <b>PyQt4Importer</b>(<i></i>) <p> - Constructor + Constructor </p><a NAME="PyQt4Importer.find_module" ID="PyQt4Importer.find_module"></a> <h4>PyQt4Importer.find_module</h4> <b>find_module</b>(<i>fullname, path=None</i>) <p> - Public method returning the module loader. + Public method returning the module loader. </p><dl> <dt><i>fullname</i></dt> <dd> @@ -102,7 +102,7 @@ <h4>PyQt4Importer.load_module</h4> <b>load_module</b>(<i>fullname</i>) <p> - Public method to load a module. + Public method to load a module. </p><dl> <dt><i>fullname</i></dt> <dd> @@ -117,17 +117,25 @@ <h4>PyQt4Importer.QComboBox_currentData (static)</h4> <b>QComboBox_currentData</b>(<i>role=None</i>) <p> - Public method to emulate the currentData method of Qt5. + Static method to emulate the currentData method of Qt5. </p><dl> -<dt><i>role</i></dt> +<dt><i>other</i> (QComboBox)</dt> <dd> -role of which data should be retrived +reference to the combo box to get the user data of +</dd><dt><i>role</i> (int)</dt> +<dd> +role of which data should be retrieved </dd> </dl><dl> <dt>Returns:</dt> <dd> stored data at current selection </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +any +</dd> </dl> <div align="right"><a href="#top">Up</a></div> <hr />
--- a/Globals/__init__.py Fri Aug 04 18:38:45 2017 +0200 +++ b/Globals/__init__.py Fri Aug 04 18:41:50 2017 +0200 @@ -141,11 +141,10 @@ else: cdn = ".eric6" - hp = QDir.homePath() - dn = QDir(hp) - dn.mkdir(cdn) - hp += "/" + cdn - return QDir.toNativeSeparators(hp) + hp = os.path.join(os.path.expanduser("~"), cdn) + if not os.path.exists(hp): + os.mkdir(hp) + return hp def setConfigDir(d):
--- a/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py Fri Aug 04 18:38:45 2017 +0200 +++ b/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py Fri Aug 04 18:41:50 2017 +0200 @@ -51,6 +51,7 @@ self.__start = startLine self.__indent = "" self.__type = contextType + self.__special = "" # ensure first line is left justified if self.__source: @@ -105,6 +106,24 @@ @return context type (string) """ return self.__type + + def setSpecial(self, special): + """ + Public method to set a special attribute for the context. + + @param special attribute string + @type str + """ + self.__special = special + + def special(self): + """ + Public method to get the special context attribute string. + + @return attribute string + @rtype str + """ + return self.__special class DocStyleChecker(object): @@ -619,9 +638,17 @@ end = line - 1, char startLine = classContext.start() + start[0] endLine = classContext.start() + end[0] - contexts.append(DocStyleContext( + context = DocStyleContext( self.__source[startLine:endLine], - startLine, "def")) + startLine, "def") + if startLine > 0: + if self.__source[startLine - 1].strip() == \ + "@staticmethod": + context.setSpecial("staticmethod") + elif self.__source[startLine - 1].strip() == \ + "@classmethod": + context.setSpecial("classmethod") + contexts.append(context) except StopIteration: pass self.__methodsCache = contexts @@ -1356,6 +1383,45 @@ if firstWord != 'special': self.__error(docstringContext.start() + lineNumber, 0, "D232", 'special') + elif context.special() == "staticmethod": + secondWord = summary.strip().split(None, 2)[1].lower() + if firstWord != 'static' and secondWord != 'static': + self.__error(docstringContext.start() + lineNumber, 0, + "D232", 'static') + elif secondWord == 'static': + if functionName.startswith(('__', 'on_')): + if firstWord != 'private': + self.__error(docstringContext.start() + lineNumber, + 0, "D232", 'private static') + elif functionName.startswith('_') or \ + functionName.endswith('Event'): + if firstWord != 'protected': + self.__error(docstringContext.start() + lineNumber, + 0, "D232", 'protected static') + else: + if firstWord != 'public': + self.__error(docstringContext.start() + lineNumber, + 0, "D232", 'public static') + elif arguments.startswith(('cls,', 'cls)')) or \ + context.special() == "classmethod": + secondWord = summary.strip().split(None, 2)[1].lower() + if firstWord != 'class' and secondWord != 'class': + self.__error(docstringContext.start() + lineNumber, 0, + "D232", 'class') + elif secondWord == 'class': + if functionName.startswith(('__', 'on_')): + if firstWord != 'private': + self.__error(docstringContext.start() + lineNumber, + 0, "D232", 'private class') + elif functionName.startswith('_') or \ + functionName.endswith('Event'): + if firstWord != 'protected': + self.__error(docstringContext.start() + lineNumber, + 0, "D232", 'protected class') + else: + if firstWord != 'public': + self.__error(docstringContext.start() + lineNumber, + 0, "D232", 'public class') elif functionName.startswith(('__', 'on_')): if firstWord != 'private': self.__error(docstringContext.start() + lineNumber, 0, @@ -1365,10 +1431,6 @@ if firstWord != 'protected': self.__error(docstringContext.start() + lineNumber, 0, "D232", 'protected') - elif arguments.startswith(('cls,', 'cls)')): - if firstWord != 'class': - self.__error(docstringContext.start() + lineNumber, 0, - "D232", 'class') else: if firstWord != 'public': self.__error(docstringContext.start() + lineNumber, 0,
--- a/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Fri Aug 04 18:38:45 2017 +0200 +++ b/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Fri Aug 04 18:41:50 2017 +0200 @@ -183,6 +183,7 @@ self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.showButton.setEnabled(False) self.checkProgress.setVisible(True) QApplication.processEvents()
--- a/QScintilla/SearchReplaceWidget.py Fri Aug 04 18:38:45 2017 +0200 +++ b/QScintilla/SearchReplaceWidget.py Fri Aug 04 18:41:50 2017 +0200 @@ -337,7 +337,7 @@ if self.__replace: self.__setReplaceSelectionEnabled(False) self.__setReplaceAndSearchEnabled(False) - self.__setReplaceAllEnabled(False) + self.__setReplaceAllEnabled(True) @pyqtSlot() def on_findNextButton_clicked(self):
--- a/QScintilla/SpellChecker.py Fri Aug 04 18:38:45 2017 +0200 +++ b/QScintilla/SpellChecker.py Fri Aug 04 18:41:50 2017 +0200 @@ -129,7 +129,7 @@ @classmethod def _getDict(cls, lang, pwl="", pel=""): """ - Protected classmethod to get a new dictionary. + Protected class method to get a new dictionary. @param lang the language to be used as the default (string). The string should be in language locale format (e.g. en_US, de).
--- a/Toolbox/PyQt4ImportHook.py Fri Aug 04 18:38:45 2017 +0200 +++ b/Toolbox/PyQt4ImportHook.py Fri Aug 04 18:41:50 2017 +0200 @@ -10,6 +10,82 @@ from __future__ import unicode_literals import sys +import importlib + + +class PyQt4Importer(object): + """ + Class implementing an importer converting PyQt5 imports to PyQt4 + imports. + """ + def __init__(self): + """ + Constructor + """ + self.__path = None + + def find_module(self, fullname, path=None): + """ + Public method returning the module loader. + + @param fullname name of the module to be loaded (string) + @param path path to resolve the module name (string) + @return module loader object + """ + if fullname.startswith("PyQt5"): + self.__path = path + return self + + return None + + @staticmethod + def QComboBox_currentData(other, role=None): + """ + Static method to emulate the currentData method of Qt5. + + @param other reference to the combo box to get the user data of + @type QComboBox + @param role role of which data should be retrieved + @type int + @return stored data at current selection + @rtype any + """ + import PyQt4.Qt + if role is None: + role = PyQt4.Qt.Qt.UserRole + + idx = other.currentIndex() + return other.itemData(idx, role) + + def load_module(self, fullname): + """ + Public method to load a module. + + @param fullname name of the module to be loaded (string) + @return reference to the loaded module (module) + """ + if fullname in ["PyQt5.QtWidgets", "PyQt5.QtPrintSupport"]: + newname = "PyQt4.QtGui" + elif fullname in ["PyQt5.QtWebKitWidgets"]: + newname = "PyQt4.QtWebKit" + else: + newname = fullname.replace("PyQt5", "PyQt4") + + module = importlib.import_module(newname) + sys.modules[fullname] = module + if fullname == "PyQt5.QtCore": + import PyQt4.QtGui + module.qInstallMessageHandler = module.qInstallMsgHandler + module.QItemSelectionModel = PyQt4.QtGui.QItemSelectionModel + module.QItemSelection = PyQt4.QtGui.QItemSelection + module.QSortFilterProxyModel = \ + PyQt4.QtGui.QSortFilterProxyModel + module.QAbstractProxyModel = PyQt4.QtGui.QAbstractProxyModel + module.QStringListModel = PyQt4.QtGui.QStringListModel + + PyQt4.QtGui.QComboBox.currentData = self.QComboBox_currentData + return module + try: if "--pyqt4" in sys.argv: sys.argv.remove("--pyqt4") @@ -17,77 +93,6 @@ raise ImportError import PyQt5 # __IGNORE_WARNING__ except ImportError: - import importlib - - class PyQt4Importer(object): - """ - Class implementing an importer converting PyQt5 imports to PyQt4 - imports. - """ - def __init__(self): - """ - Constructor - """ - self.__path = None - - def find_module(self, fullname, path=None): - """ - Public method returning the module loader. - - @param fullname name of the module to be loaded (string) - @param path path to resolve the module name (string) - @return module loader object - """ - if fullname.startswith("PyQt5"): - self.__path = path - return self - - return None - - @staticmethod - def QComboBox_currentData(other, role=None): - """ - Public method to emulate the currentData method of Qt5. - - @param role role of which data should be retrived - @return stored data at current selection - """ - import PyQt4.Qt - if role is None: - role = PyQt4.Qt.Qt.UserRole - - idx = other.currentIndex() - return other.itemData(idx, role) - - def load_module(self, fullname): - """ - Public method to load a module. - - @param fullname name of the module to be loaded (string) - @return reference to the loaded module (module) - """ - if fullname in ["PyQt5.QtWidgets", "PyQt5.QtPrintSupport"]: - newname = "PyQt4.QtGui" - elif fullname in ["PyQt5.QtWebKitWidgets"]: - newname = "PyQt4.QtWebKit" - else: - newname = fullname.replace("PyQt5", "PyQt4") - - module = importlib.import_module(newname) - sys.modules[fullname] = module - if fullname == "PyQt5.QtCore": - import PyQt4.QtGui - module.qInstallMessageHandler = module.qInstallMsgHandler - module.QItemSelectionModel = PyQt4.QtGui.QItemSelectionModel - module.QItemSelection = PyQt4.QtGui.QItemSelection - module.QSortFilterProxyModel = \ - PyQt4.QtGui.QSortFilterProxyModel - module.QAbstractProxyModel = PyQt4.QtGui.QAbstractProxyModel - module.QStringListModel = PyQt4.QtGui.QStringListModel - - PyQt4.QtGui.QComboBox.currentData = self.QComboBox_currentData - return module - sys.meta_path.insert(0, PyQt4Importer()) if sys.version_info[0] == 2:
--- a/changelog Fri Aug 04 18:38:45 2017 +0200 +++ b/changelog Fri Aug 04 18:41:50 2017 +0200 @@ -1,14 +1,17 @@ Change Log ---------- +Version 17.09: +- bug fixes + Version 17.08: - bug fixes - Shell - -- added support for dfferent history navigation styles (disabled, Linux, + -- added support for different history navigation styles (disabled, Linux, Windows) -- improved shell history dialog - Templates - - added some new predefined template variables (time, path_name_rel, - dir_name_rel) + -- added some new predefined template variables (time, path_name_rel, + dir_name_rel) - Web Browser (NG) -- added support for sessions
--- a/i18n/eric6_cs.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_cs.ts Fri Aug 04 18:41:50 2017 +0200 @@ -41062,22 +41062,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_de.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_de.ts Fri Aug 04 18:41:50 2017 +0200 @@ -40151,22 +40151,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation><p>Für diesen Dateityp ist keine Vorschau verfügbar.</p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation><p>Die ReStructuredText-Vorschau erfordert das <b>python-docutils</b>-Paket.<br/>Installiere es mit dem Paketmanager,'pip install docutils' oder siehe <a href="http://pypi.python.org/pypi/docutils">diese Seite.</a></p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation><p>Die ReStructuredText-Vorschau erfordert das <b>sphinx</b>-Paket.<br/>Installiere es mit dem Paketmanager,'pip install Sphinx' oder siehe <a href="http://pypi.python.org/pypi/Sphinx">diese Seite.</a></p><p>Alternativ kann die Verwendung von Sphinx auf der Konfigurationsseite Editor, Dateibehandlung deaktiviert werden.</p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation><p>Die Markdown-Vorschau erfordert das <b>python-markdown</b>-Paket.<br/>Installiere es mit dem Paketmanager, 'pip install docutils' oder siehe <a href="http://pythonhosted.org/Markdown/install.html">die Installationsanleitung.</a></p></translation> </message>
--- a/i18n/eric6_empty.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_empty.ts Fri Aug 04 18:41:50 2017 +0200 @@ -39945,22 +39945,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_en.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_en.ts Fri Aug 04 18:41:50 2017 +0200 @@ -39984,22 +39984,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_es.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_es.ts Fri Aug 04 18:41:50 2017 +0200 @@ -94,7 +94,7 @@ <message> <location filename="../WebBrowser/AdBlock/AdBlockDialog.ui" line="14"/> <source>AdBlock Configuration</source> - <translation>Configuración de AdBlock </translation> + <translation>Configuración de AdBlock</translation> </message> <message> <location filename="../WebBrowser/AdBlock/AdBlockDialog.ui" line="23"/> @@ -477,7 +477,7 @@ <message> <location filename="../Project/AddDirectoryDialog.ui" line="105"/> <source>Select, whether a recursive add should be performed</source> - <translation>Seleccione, si debe realizarse un agregado recursivo </translation> + <translation>Seleccione, si debe realizarse un agregado recursivo</translation> </message> <message> <location filename="../Project/AddDirectoryDialog.ui" line="108"/> @@ -1174,7 +1174,7 @@ <message> <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="37"/> <source>Select, if only one instance of the application should be running</source> - <translation>Seleccione, si se desea ejecutar una única instancia de la aplicación </translation> + <translation>Seleccione, si se desea ejecutar una única instancia de la aplicación</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="40"/> @@ -1339,7 +1339,7 @@ <message> <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/> <source> ms</source> - <translation>ms</translation> + <translation> ms</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="126"/> @@ -2127,7 +2127,7 @@ <message> <location filename="../Debugger/BreakPointModel.py" line="39"/> <source>Ignore Count</source> - <translation>Conteo Ignorar </translation> + <translation>Conteo Ignorar</translation> </message> </context> <context> @@ -3273,7 +3273,7 @@ <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="318"/> <source>Select to allow hanging closing brackets</source> - <translation>Seleccionar para permitir hanging closing brackets </translation> + <translation>Seleccionar para permitir hanging closing brackets</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="321"/> @@ -3373,7 +3373,7 @@ <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="779"/> <source>Shows the progress of the code style check</source> - <translation>Muestra el progreso de la revisión de estilo de código </translation> + <translation>Muestra el progreso de la revisión de estilo de código</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="788"/> @@ -3863,7 +3863,7 @@ <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="779"/> <source> no message defined for code '{0}'</source> - <translation>sin mensaje definido para el código '{0}'</translation> + <translation> sin mensaje definido para el código '{0}'</translation> </message> </context> <context> @@ -4524,7 +4524,7 @@ <message> <location filename="../Preferences/ConfigurationDialog.py" line="717"/> <source>Configuration Page Error</source> - <translation> Error de Configuración de Página</translation> + <translation>Error de Configuración de Página</translation> </message> <message> <location filename="../Preferences/ConfigurationDialog.py" line="244"/> @@ -5411,7 +5411,9 @@ <source> Not connected </source> - <translation>No conectado</translation> + <translation> +No conectado +</translation> </message> <message> <location filename="../Debugger/DebugServer.py" line="733"/> @@ -6065,7 +6067,8 @@ {1} </source> <translation>El programa ha terminado con estado de salida {0}. -{1}</translation> +{1} +</translation> </message> <message> <location filename="../Debugger/DebugUI.py" line="1071"/> @@ -6073,7 +6076,8 @@ {2} </source> <translation>"{0}" ha terminado con estado de salida {1}. -{2}</translation> +{2} +</translation> </message> <message> <location filename="../Debugger/DebugUI.py" line="362"/> @@ -6101,7 +6105,7 @@ <message> <location filename="../Debugger/DebugViewer.py" line="174"/> <source>Enter regular expression patterns separated by ';' to define variable filters. </source> - <translation>Para definir filtros de variables introduzca patrones de expresión regular separados por ';'.</translation> + <translation>Para definir filtros de variables introduzca patrones de expresión regular separados por ';'. </translation> </message> <message> <location filename="../Debugger/DebugViewer.py" line="178"/> @@ -7019,7 +7023,7 @@ <message> <location filename="../Preferences/ConfigurationPages/DebuggerPythonPage.ui" line="46"/> <source>Enter the path of the Python interpreter to be used by the debug client.</source> - <translation>Introduzca la ruta del intérprete Python que debe utilizar el cliente de depuración. </translation> + <translation>Introduzca la ruta del intérprete Python que debe utilizar el cliente de depuración.</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/DebuggerPythonPage.ui" line="120"/> @@ -7380,7 +7384,7 @@ <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/> <source>docstring summary is not followed by a blank line</source> - <translation>docstring de resumen no seguido de línea en blanco </translation> + <translation>docstring de resumen no seguido de línea en blanco</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310"/> @@ -7410,7 +7414,7 @@ <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329"/> <source>docstring does not contain a @return line but function/method returns something</source> - <translation>docstring no contiene una línea @return pero la función/método retorna algo </translation> + <translation>docstring no contiene una línea @return pero la función/método retorna algo</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="333"/> @@ -7677,8 +7681,7 @@ <message> <location filename="../WebBrowser/Download/DownloadItem.py" line="214"/> <source>Web Archive (*.mhtml *.mht)</source> - <translation> -Archivo Web (*.mhtml *.mht)</translation> + <translation>Archivo Web (*.mhtml *.mht)</translation> </message> <message> <location filename="../WebBrowser/Download/DownloadItem.py" line="215"/> @@ -8432,7 +8435,7 @@ <message> <location filename="../E5Network/E5NetworkProxyFactory.py" line="224"/> <source>Proxy Configuration Error</source> - <translation> Error de Configuración de Proxy</translation> + <translation>Error de Configuración de Proxy</translation> </message> <message> <location filename="../E5Network/E5NetworkProxyFactory.py" line="53"/> @@ -10717,7 +10720,7 @@ <message> <location filename="../Preferences/ConfigurationPages/EditorExportersPage.ui" line="393"/> <source>Use WYSIWYG mode</source> - <translation>Utilizar modo WYSIWYG </translation> + <translation>Utilizar modo WYSIWYG</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/EditorExportersPage.ui" line="97"/> @@ -10890,7 +10893,7 @@ <message> <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="69"/> <source>Warn, if file is greater than</source> - <translation>Avisar si un archivo es mayor que </translation> + <translation>Avisar si un archivo es mayor que</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="76"/> @@ -10900,7 +10903,7 @@ <message> <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="79"/> <source> KB</source> - <translation>KB</translation> + <translation> KB</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="174"/> @@ -11020,7 +11023,7 @@ <message> <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="258"/> <source>Select to use the advanced encoding detection </source> - <translation>Seleccionar para utilizar la detección avanzada de codificación</translation> + <translation>Seleccionar para utilizar la detección avanzada de codificación </translation> </message> <message> <location filename="../Preferences/ConfigurationPages/EditorFilePage.ui" line="261"/> @@ -12366,7 +12369,7 @@ <message> <location filename="../Preferences/ConfigurationPages/EditorSearchPage.ui" line="93"/> <source> ms</source> - <translation>ms</translation> + <translation> ms</translation> </message> </context> <context> @@ -13042,7 +13045,7 @@ <message> <location filename="../Preferences/ConfigurationPages/EditorStylesPage.ui" line="1290"/> <source>Press to select the background colour</source> - <translation>Pulse para seleccionar el color de fondo </translation> + <translation>Pulse para seleccionar el color de fondo</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/EditorStylesPage.ui" line="1293"/> @@ -13152,7 +13155,7 @@ <message> <location filename="../Preferences/ConfigurationPages/EditorStylesPage.ui" line="1359"/> <source> ms</source> - <translation>ms</translation> + <translation> ms</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/EditorStylesPage.ui" line="1392"/> @@ -14371,7 +14374,9 @@ <source> {0} finished. </source> - <translation>{0} ha terminado.</translation> + <translation> +{0} ha terminado. +</translation> </message> </context> <context> @@ -14537,7 +14542,7 @@ <message> <location filename="../Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.ui" line="271"/> <source>Class/Function Header Background</source> - <translation>Color de fondo para Clase/Encabezamiento de Función </translation> + <translation>Color de fondo para Clase/Encabezamiento de Función</translation> </message> <message> <location filename="../Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.ui" line="278"/> @@ -14547,7 +14552,7 @@ <message> <location filename="../Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.ui" line="281"/> <source>Class/Function Header Foreground</source> - <translation>Color de primer plano para Clase/Encabezamiento de Función </translation> + <translation>Color de primer plano para Clase/Encabezamiento de Función</translation> </message> <message> <location filename="../Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.ui" line="288"/> @@ -14756,14 +14761,18 @@ <source> {0} finished. </source> - <translation>{0} ha terminado.</translation> + <translation> +{0} ha terminado. +</translation> </message> <message> <location filename="../Plugins/DocumentationPlugins/Ericdoc/EricdocExecDialog.py" line="126"/> <source> {0} crashed. </source> - <translation>{0} ha dejado de funcionar.</translation> + <translation> +{0} ha dejado de funcionar. +</translation> </message> </context> <context> @@ -14887,7 +14896,7 @@ <message> <location filename="../Debugger/ExceptionLogger.py" line="101"/> <source>An unhandled exception occured. See the shell window for details.</source> - <translation>Ha ocurrido una excepción no controlada. Consulte la ventana de shell para detalles. </translation> + <translation>Ha ocurrido una excepción no controlada. Consulte la ventana de shell para detalles.</translation> </message> <message> <location filename="../Debugger/ExceptionLogger.py" line="68"/> @@ -16012,7 +16021,7 @@ <message> <location filename="../UI/FindFileDialog.ui" line="279"/> <source>Search in open files only </source> - <translation>Buscar solamente en archivos abiertos</translation> + <translation>Buscar solamente en archivos abiertos </translation> </message> <message> <location filename="../UI/FindFileDialog.ui" line="282"/> @@ -17447,7 +17456,7 @@ <message> <location filename="../Helpviewer/HelpClearPrivateDataDialog.ui" line="23"/> <source>Select to clear the browsing history</source> - <translation>Seleccionar para limpiar el historial de navegación </translation> + <translation>Seleccionar para limpiar el historial de navegación</translation> </message> <message> <location filename="../Helpviewer/HelpClearPrivateDataDialog.ui" line="26"/> @@ -19571,7 +19580,7 @@ <message> <location filename="../Helpviewer/HelpWindow.py" line="1818"/> <source>Filtered by: </source> - <translation>Filtrado por:</translation> + <translation>Filtrado por: </translation> </message> <message> <location filename="../Helpviewer/HelpWindow.py" line="2709"/> @@ -25401,7 +25410,7 @@ <message> <location filename="../Plugins/VcsPlugins/vcsMercurial/HgMergeDialog.ui" line="182"/> <source>Enforce merge</source> - <translation>Imponer merge </translation> + <translation>Imponer merge</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsMercurial/HgMergeDialog.ui" line="111"/> @@ -27401,7 +27410,7 @@ <message> <location filename="../Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesHeaderDialog.py" line="198"/> <source>Error: </source> - <translation>Error:</translation> + <translation>Error: </translation> </message> </context> <context> @@ -32509,7 +32518,7 @@ <message> <location filename="../Preferences/ConfigurationPages/InterfacePage.ui" line="343"/> <source> ms</source> - <translation>ms</translation> + <translation> ms</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/InterfacePage.ui" line="193"/> @@ -32951,7 +32960,7 @@ <message> <location filename="../Network/IRC/IrcChannelWidget.py" line="1449"/> <source> (Away)</source> - <translation>.(No está)</translation> + <translation> (No está)</translation> </message> <message> <location filename="../Network/IRC/IrcChannelWidget.py" line="1452"/> @@ -39476,7 +39485,7 @@ <message> <location filename="../PluginManager/PluginInstallDialog.py" line="234"/> <source> ok</source> - <translation>Aceptar</translation> + <translation> Aceptar</translation> </message> <message> <location filename="../PluginManager/PluginInstallDialog.py" line="241"/> @@ -39759,7 +39768,7 @@ <message> <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="110"/> <source>Keep generations of hidden plugins</source> - <translation>Mantener </translation> + <translation>Mantener</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="166"/> @@ -40143,22 +40152,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation><p>No hay vista previa disponible para este tipo de archivo.</p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation><p>La previsualización de ReStructuredText requiere el package <b>python-docutils</b> .<br/>Installar con el gestor de paquetes, 'pip install docutils' o ver <a href="http://pypi.python.org/pypi/docutils">esta página .</a></p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation><p>La previsualización de ReStructuredText requiere el package <b>sphinx</b> .<br/>Installar con el gestor de paquetes, 'pip install sphinx' o ver <a href="http://pypi.python.org/pypi/Sphinx">esta página .</a></p><p>Como alternativa, se puede deshabilitar el uso de Sphinx en el Editor, página de configuración de Gestión de Archivos.</p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation><p>La previsualización de Markdown requiere el package <b>python-markdown</b>.<br/>Instalar con el gestor de paquetes o ver en <a href="http://pythonhosted.org/Markdown/install.html">las instrucciones de instalación.</a></p></translation> </message> @@ -40371,7 +40380,7 @@ <message> <location filename="../Preferences/ConfigurationPages/PrinterPage.ui" line="310"/> <source> cm</source> - <translation>cm</translation> + <translation> cm</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/PrinterPage.ui" line="269"/> @@ -40396,7 +40405,7 @@ <message> <location filename="../Preferences/ConfigurationPages/PrinterPage.ui" line="182"/> <source>Select the printer resolution </source> - <translation>Seleccionar la resolución de la impresora</translation> + <translation>Seleccionar la resolución de la impresora </translation> </message> <message> <location filename="../Preferences/ConfigurationPages/PrinterPage.ui" line="188"/> @@ -41260,7 +41269,7 @@ <message> <location filename="../Project/Project.py" line="4016"/> <source>Source &Documentation</source> - <translation>Origen de &Documentación </translation> + <translation>Origen de &Documentación</translation> </message> <message> <location filename="../Project/Project.py" line="4018"/> @@ -48276,7 +48285,7 @@ <message> <location filename="../Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py" line="701"/> <source>Communication Error</source> - <translation> Error de Comunicación</translation> + <translation>Error de Comunicación</translation> </message> <message> <location filename="../Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py" line="168"/> @@ -50462,7 +50471,8 @@ <location filename="../QScintilla/Shell.py" line="787"/> <source> Not connected</source> - <translation>No conectado</translation> + <translation> +No conectado</translation> </message> <message> <location filename="../QScintilla/Shell.py" line="293"/> @@ -50521,7 +50531,8 @@ <location filename="../QScintilla/Shell.py" line="867"/> <source>Unspecified syntax error. </source> - <translation>Error de sintaxis sin especificar.</translation> + <translation>Error de sintaxis sin especificar. +</translation> </message> <message> <location filename="../QScintilla/Shell.py" line="844"/> @@ -52926,7 +52937,7 @@ <message> <location filename="../Debugger/StartDebugDialog.ui" line="207"/> <source>Don't stop at first line</source> - <translation>No detener en la primera línea </translation> + <translation>No detener en la primera línea</translation> </message> <message> <location filename="../Debugger/StartDebugDialog.ui" line="174"/> @@ -53875,7 +53886,8 @@ <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="318"/> <source>Imported revision {0}. </source> - <translation>Importada revisión {0}.</translation> + <translation>Importada revisión {0}. +</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="588"/> @@ -53886,7 +53898,8 @@ <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1234"/> <source>Revision {0}. </source> - <translation>Revisión {0}.</translation> + <translation>Revisión {0}. +</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsSubversion/subversion.py" line="503"/> @@ -54442,7 +54455,7 @@ <message> <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnDialog.py" line="87"/> <source> (binary)</source> - <translation>(binario)</translation> + <translation> (binario)</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnDialog.py" line="156"/> @@ -54453,7 +54466,8 @@ <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnDialog.py" line="81"/> <source>Revision {0}. </source> - <translation>Revisión {0}.</translation> + <translation>Revisión {0}. +</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnDialog.py" line="89"/> @@ -54468,7 +54482,7 @@ <message> <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnDialogMixin.py" line="98"/> <source>Subversion SSL Server Certificate</source> - <translation>Certificado de Servidor de Subversion SSL </translation> + <translation>Certificado de Servidor de Subversion SSL</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnDialogMixin.py" line="117"/> @@ -55050,7 +55064,7 @@ <message> <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnMergeDialog.ui" line="25"/> <source>Enforce merge</source> - <translation>Imponer merge </translation> + <translation>Imponer merge</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsSubversion/SvnMergeDialog.ui" line="42"/> @@ -57572,7 +57586,7 @@ <message> <location filename="../UI/SymbolsWidget.py" line="145"/> <source>Dingbats</source> - <translation>Habilitar </translation> + <translation>Habilitar</translation> </message> <message> <location filename="../UI/SymbolsWidget.py" line="148"/> @@ -59299,7 +59313,7 @@ <message> <location filename="../Tools/TRPreviewer.py" line="269"/> <source>Close all windows</source> - <translation>Cerrar todas las ventanas </translation> + <translation>Cerrar todas las ventanas</translation> </message> <message> <location filename="../Tools/TRPreviewer.py" line="270"/> @@ -61623,7 +61637,7 @@ <message> <location filename="../Tools/UIPreviewer.py" line="362"/> <source>Load UI File</source> - <translation>Cargar archivo UI </translation> + <translation>Cargar archivo UI</translation> </message> <message> <location filename="../Tools/UIPreviewer.py" line="497"/> @@ -62105,12 +62119,12 @@ <message> <location filename="../PyUnit/UnittestDialog.py" line="121"/> <source>^Failure: </source> - <translation>^Fallido:</translation> + <translation>^Fallido: </translation> </message> <message> <location filename="../PyUnit/UnittestDialog.py" line="122"/> <source>^Error: </source> - <translation>^Error:</translation> + <translation>^Error: </translation> </message> <message> <location filename="../PyUnit/UnittestDialog.py" line="269"/> @@ -62509,7 +62523,7 @@ <message> <location filename="../UI/UserInterface.py" line="1348"/> <source>Activate the edit view profile</source> - <translation>Activar el perfil de vista de edición </translation> + <translation>Activar el perfil de vista de edición</translation> </message> <message> <location filename="../UI/UserInterface.py" line="1350"/> @@ -62524,7 +62538,7 @@ <message> <location filename="../UI/UserInterface.py" line="1365"/> <source>Activate the debug view profile</source> - <translation>Activar el perfil de vista de depuración </translation> + <translation>Activar el perfil de vista de depuración</translation> </message> <message> <location filename="../UI/UserInterface.py" line="1367"/> @@ -63697,7 +63711,8 @@ <location filename="../UI/UserInterface.py" line="4916"/> <source>Process '{0}' has exited. </source> - <translation>El proceso '{0}' ha finalizado.</translation> + <translation>El proceso '{0}' ha finalizado. +</translation> </message> <message> <location filename="../UI/UserInterface.py" line="5314"/> @@ -64313,7 +64328,7 @@ <message> <location filename="../UI/UserInterface.py" line="2421"/> <source><b>PyQt5 Documentation</b><p>Display the PyQt5 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer, or execute a web browser or Qt Assistant. </p></source> - <translation><b>Documentación de PyQt5</b><p>Muestra la Documentación de PyQt5. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric,en un navegador web, o se ejecutará Qt Assistant.</p> </translation> + <translation><b>Documentación de PyQt5</b><p>Muestra la Documentación de PyQt5. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric,en un navegador web, o se ejecutará Qt Assistant.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="2444"/> @@ -64413,7 +64428,7 @@ <message> <location filename="../UI/UserInterface.py" line="2486"/> <source><b>Eric API Documentation</b><p>Display the Eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric6 installation directory.</p></source> - <translation><b>Documentación de API de Eric</b><p>Muestra la documentación de API de Eric. La ubicación de la documentación es el subdirectorio Documentation/Source del directorio de instalación de eric6.</p> </translation> + <translation><b>Documentación de API de Eric</b><p>Muestra la documentación de API de Eric. La ubicación de la documentación es el subdirectorio Documentation/Source del directorio de instalación de eric6.</p></translation> </message> <message> <location filename="../UI/UserInterface.py" line="4474"/> @@ -64578,7 +64593,7 @@ <message> <location filename="../Project/UserPropertiesDialog.ui" line="36"/> <source> sec</source> - <translation>seg</translation> + <translation> seg</translation> </message> <message> <location filename="../Project/UserPropertiesDialog.ui" line="62"/> @@ -65212,7 +65227,7 @@ <message> <location filename="../Preferences/ConfigurationPages/VcsPage.ui" line="82"/> <source> sec</source> - <translation>seg</translation> + <translation> seg</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/VcsPage.ui" line="105"/> @@ -69178,7 +69193,7 @@ <message> <location filename="../Debugger/WatchPointModel.py" line="38"/> <source>Ignore Count</source> - <translation>Conteo Ignorar </translation> + <translation>Conteo Ignorar</translation> </message> </context> <context> @@ -70091,7 +70106,7 @@ <message> <location filename="../Preferences/ConfigurationPages/WebBrowserPage.ui" line="873"/> <source>Enter the port to be used by the web inspector</source> - <translation>Introducir el puerto para ser utilizado por el web inspector </translation> + <translation>Introducir el puerto para ser utilizado por el web inspector</translation> </message> <message> <location filename="../Preferences/ConfigurationPages/WebBrowserPage.ui" line="902"/> @@ -70256,7 +70271,7 @@ <message> <location filename="../Preferences/ConfigurationPages/WebBrowserPage.ui" line="308"/> <source> s</source> - <translation type="unfinished"> s</translation> + <translation> s</translation> </message> </context> <context> @@ -72439,7 +72454,7 @@ <message> <location filename="../WebBrowser/WebBrowserWindow.py" line="2347"/> <source>Filtered by: </source> - <translation>Filtrado por:</translation> + <translation>Filtrado por: </translation> </message> <message> <location filename="../WebBrowser/WebBrowserWindow.py" line="2355"/> @@ -72876,7 +72891,7 @@ <message> <location filename="../Tools/TRPreviewer.py" line="785"/> <source>Load UI File</source> - <translation>Cargar archivo UI </translation> + <translation>Cargar archivo UI</translation> </message> <message> <location filename="../Tools/TRPreviewer.py" line="785"/> @@ -72889,7 +72904,7 @@ <message> <location filename="../Tools/TRPreviewer.py" line="728"/> <source>Load UI File</source> - <translation>Cargar archivo UI </translation> + <translation>Cargar archivo UI</translation> </message> <message> <location filename="../Tools/TRPreviewer.py" line="728"/> @@ -73551,7 +73566,7 @@ <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="158"/> <source>blank line contains whitespace</source> - <translation> línea en blanco contiene espacio en blanco</translation> + <translation>línea en blanco contiene espacio en blanco</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="161"/>
--- a/i18n/eric6_fr.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_fr.ts Fri Aug 04 18:41:50 2017 +0200 @@ -40843,22 +40843,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_it.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_it.ts Fri Aug 04 18:41:50 2017 +0200 @@ -41302,7 +41302,7 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation><p>Non è prevista la visualizzazione per questo tipo di flusso.</p></translation> </message> @@ -41317,17 +41317,17 @@ <translation type="obsolete"><p>La visualizzazione ReStructuredText richiede <b>il pacchetto</b> python-docutils.<br/>Installarlo con il vostro gestore di pacchetti o vedere <a href="http://pypi.python.org/pypi/docutils"> questa pagina.</a></p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_pt.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_pt.ts Fri Aug 04 18:41:50 2017 +0200 @@ -41437,22 +41437,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation><p>A antevisão para este tipo de ficheiro não está disponível.</p></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_tr.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_tr.ts Fri Aug 04 18:41:50 2017 +0200 @@ -40893,22 +40893,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_zh_CN.ts Fri Aug 04 18:38:45 2017 +0200 +++ b/i18n/eric6_zh_CN.ts Fri Aug 04 18:41:50 2017 +0200 @@ -40890,22 +40890,22 @@ <context> <name>PreviewProcessingThread</name> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="434"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="436"/> <source><p>No preview available for this type of file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="566"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="568"/> <source><p>ReStructuredText preview requires the <b>python-docutils</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pypi.python.org/pypi/docutils">this page.</a></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="511"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="513"/> <source><p>ReStructuredText preview requires the <b>sphinx</b> package.<br/>Install it with your package manager,'pip install Sphinx' or see <a href="http://pypi.python.org/pypi/Sphinx">this page.</a></p><p>Alternatively you may disable Sphinx usage on the Editor, Filehandling configuration page.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Previewers/PreviewerHTML.py" line="591"/> + <location filename="../UI/Previewers/PreviewerHTML.py" line="593"/> <source><p>Markdown preview requires the <b>python-markdown</b> package.<br/>Install it with your package manager, 'pip install docutils' or see <a href="http://pythonhosted.org/Markdown/install.html">installation instructions.</a></p></source> <translation type="unfinished"></translation> </message>
--- a/install-i18n.py Fri Aug 04 18:38:45 2017 +0200 +++ b/install-i18n.py Fri Aug 04 18:41:50 2017 +0200 @@ -34,8 +34,7 @@ else: cdn = ".eric6" - hp = os.path.expanduser("~") - hp = os.path.join(hp, cdn) + hp = os.path.join(os.path.expanduser("~"), cdn) if not os.path.exists(hp): os.mkdir(hp) return hp
--- a/install.py Fri Aug 04 18:38:45 2017 +0200 +++ b/install.py Fri Aug 04 18:41:50 2017 +0200 @@ -1052,13 +1052,13 @@ apis = [] if installApis: for progLanguage in progLanguages: - for apiName in glob.glob( - os.path.join(sourceDir, "APIs", progLanguage, "*.api")): + for apiName in sorted(glob.glob( + os.path.join(sourceDir, "APIs", progLanguage, "*.api"))): apis.append(os.path.basename(apiName)) if progLanguage == "Python": # treat Python3 API files the same as Python API files - for apiName in glob.glob( - os.path.join(sourceDir, "APIs", "Python3", "*.api")): + for apiName in sorted(glob.glob( + os.path.join(sourceDir, "APIs", "Python3", "*.api"))): apis.append(os.path.basename(apiName)) fn = 'eric6config.py'
--- a/uninstall.py Fri Aug 04 18:38:45 2017 +0200 +++ b/uninstall.py Fri Aug 04 18:41:50 2017 +0200 @@ -314,11 +314,9 @@ """ if sys.platform.startswith("win"): cdn = "_eric6" - return os.path.join(os.path.expanduser("~"), cdn) else: cdn = ".eric6" - return os.path.join( - os.path.expanduser("~{0}".format(os.getlogin())), cdn) + return os.path.join(os.path.expanduser("~"), cdn) def main(argv):