Fri, 01 Sep 2017 12:08:17 +0200
Merged with default branch in order to prepare a new release.
--- a/APIs/Python3/eric6.api Thu Aug 03 14:50:59 2017 +0200 +++ b/APIs/Python3/eric6.api Fri Sep 01 12:08:17 2017 +0200 @@ -430,7 +430,7 @@ eric6.Debugger.DebugServer.DebugServer.passiveDebugStarted?7 eric6.Debugger.DebugServer.DebugServer.passiveStartUp?4(fn, exc) eric6.Debugger.DebugServer.DebugServer.preferencesChanged?4() -eric6.Debugger.DebugServer.DebugServer.registerDebuggerInterface?4(name, getRegistryData) +eric6.Debugger.DebugServer.DebugServer.registerDebuggerInterface?4(interfaceName, getRegistryData) eric6.Debugger.DebugServer.DebugServer.remoteBanner?4() eric6.Debugger.DebugServer.DebugServer.remoteBreakpoint?4(fn, line, setBreakpoint, cond=None, temp=False) eric6.Debugger.DebugServer.DebugServer.remoteCapabilities?4() @@ -480,7 +480,7 @@ eric6.Debugger.DebugServer.DebugServer.signalClientVariables?4(scope, variables) eric6.Debugger.DebugServer.DebugServer.signalClientWatchConditionError?4(condition) eric6.Debugger.DebugServer.DebugServer.startClient?4(unplanned=True, clType=None, forProject=False, runInConsole=False) -eric6.Debugger.DebugServer.DebugServer.unregisterDebuggerInterface?4(name) +eric6.Debugger.DebugServer.DebugServer.unregisterDebuggerInterface?4(interfaceName) eric6.Debugger.DebugServer.DebugServer.utFinished?7 eric6.Debugger.DebugServer.DebugServer.utPrepared?7 eric6.Debugger.DebugServer.DebugServer.utStartTest?7 @@ -583,90 +583,49 @@ eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone?1(debugServer, passive) eric6.Debugger.DebuggerInterfaceNone.createDebuggerInterfaceNone?4(debugServer, passive) eric6.Debugger.DebuggerInterfaceNone.getRegistryData?4() -eric6.Debugger.DebuggerInterfacePython2.ClientDefaultCapabilities?7 -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.flush?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.getClientCapabilities?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.isConnected?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.newConnection?4(sock) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteBanner?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteBreakpoint?4(fn, line, setBreakpoint, cond=None, temp=False) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteBreakpointEnable?4(fn, line, enable) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteBreakpointIgnore?4(fn, line, count) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteCapabilities?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteClientSetFilter?4(scope, filterStr) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteClientVariable?4(scope, filterList, var, framenr=0) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteClientVariables?4(scope, filterList, framenr=0) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteCompletion?4(text) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteContinue?4(special=False) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteCoverage?4(fn, argv, wd, erase=False) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteEnvironment?4(env) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteLoad?4(fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteMoveIP?4(line) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteProfile?4(fn, argv, wd, erase=False) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteRawInput?4(s) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteRun?4(fn, argv, wd, autoFork=False, forkChild=False) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteSetThread?4(tid) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteStatement?4(stmt) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteStep?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteStepOut?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteStepOver?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteStepQuit?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteThreadList?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteUTRun?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteUTStop?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteWatchpoint?4(cond, setWatch, temp=False) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteWatchpointEnable?4(cond, enable) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteWatchpointIgnore?4(cond, count) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.setCallTraceEnabled?4(on) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.shutdown?4() -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.startRemote?4(port, runInConsole) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.startRemoteForProject?4(port, runInConsole) -eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2?1(debugServer, passive) -eric6.Debugger.DebuggerInterfacePython2.createDebuggerInterfacePython2?4(debugServer, passive) -eric6.Debugger.DebuggerInterfacePython2.getRegistryData?4() -eric6.Debugger.DebuggerInterfacePython3.ClientDefaultCapabilities?7 -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.flush?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.getClientCapabilities?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.isConnected?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.newConnection?4(sock) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteBanner?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteBreakpoint?4(fn, line, setBreakpoint, cond=None, temp=False) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteBreakpointEnable?4(fn, line, enable) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteBreakpointIgnore?4(fn, line, count) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteCapabilities?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteClientSetFilter?4(scope, filterStr) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteClientVariable?4(scope, filterList, var, framenr=0) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteClientVariables?4(scope, filterList, framenr=0) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteCompletion?4(text) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteContinue?4(special=False) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteCoverage?4(fn, argv, wd, erase=False) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteEnvironment?4(env) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteLoad?4(fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteMoveIP?4(line) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteProfile?4(fn, argv, wd, erase=False) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteRawInput?4(s) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteRun?4(fn, argv, wd, autoFork=False, forkChild=False) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteSetThread?4(tid) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteStatement?4(stmt) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteStep?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteStepOut?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteStepOver?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteStepQuit?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteThreadList?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteUTRun?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteUTStop?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteWatchpoint?4(cond, setWatch, temp=False) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteWatchpointEnable?4(cond, enable) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteWatchpointIgnore?4(cond, count) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.setCallTraceEnabled?4(on) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.shutdown?4() -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.startRemote?4(port, runInConsole) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.startRemoteForProject?4(port, runInConsole) -eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3?1(debugServer, passive) -eric6.Debugger.DebuggerInterfacePython3.createDebuggerInterfacePython3?4(debugServer, passive) -eric6.Debugger.DebuggerInterfacePython3.getRegistryData?4() +eric6.Debugger.DebuggerInterfacePython.ClientDefaultCapabilities?7 +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.flush?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.getClientCapabilities?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.isConnected?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.newConnection?4(sock) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteBanner?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteBreakpoint?4(fn, line, setBreakpoint, cond=None, temp=False) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteBreakpointEnable?4(fn, line, enable) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteBreakpointIgnore?4(fn, line, count) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteCapabilities?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteClientSetFilter?4(scope, filterStr) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteClientVariable?4(scope, filterList, var, framenr=0) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteClientVariables?4(scope, filterList, framenr=0) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteCompletion?4(text) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteContinue?4(special=False) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteCoverage?4(fn, argv, wd, erase=False) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteEnvironment?4(env) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteLoad?4(fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteMoveIP?4(line) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteProfile?4(fn, argv, wd, erase=False) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteRawInput?4(s) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteRun?4(fn, argv, wd, autoFork=False, forkChild=False) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteSetThread?4(tid) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStatement?4(stmt) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStep?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStepOut?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStepOver?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStepQuit?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteThreadList?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTRun?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTStop?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteWatchpoint?4(cond, setWatch, temp=False) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteWatchpointEnable?4(cond, enable) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteWatchpointIgnore?4(cond, count) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.setCallTraceEnabled?4(on) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.shutdown?4() +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.startRemote?4(port, runInConsole) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.startRemoteForProject?4(port, runInConsole) +eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython?1(debugServer, passive, pythonVariant) +eric6.Debugger.DebuggerInterfacePython.createDebuggerInterfacePython2?4(debugServer, passive) +eric6.Debugger.DebuggerInterfacePython.createDebuggerInterfacePython3?4(debugServer, passive) +eric6.Debugger.DebuggerInterfacePython.getRegistryData?4() eric6.Debugger.EditBreakpointDialog.EditBreakpointDialog.getAddData?4() eric6.Debugger.EditBreakpointDialog.EditBreakpointDialog.getData?4() eric6.Debugger.EditBreakpointDialog.EditBreakpointDialog.on_filenamePicker_editTextChanged?4(fn) @@ -925,7 +884,7 @@ eric6.E5Gui.E5ErrorMessage.messageHandlerInstalled?4() eric6.E5Gui.E5ErrorMessage.qtHandler?4() eric6.E5Gui.E5ErrorMessageFilterDialog.E5ErrorMessageFilterDialog.getFilters?4() -eric6.E5Gui.E5ErrorMessageFilterDialog.E5ErrorMessageFilterDialog?1(messageFilters, parent=None) +eric6.E5Gui.E5ErrorMessageFilterDialog.E5ErrorMessageFilterDialog?1(messageFilters, defaultFilters, parent=None) eric6.E5Gui.E5FileDialog.DontConfirmOverwrite?7 eric6.E5Gui.E5FileDialog.DontResolveSymlinks?7 eric6.E5Gui.E5FileDialog.DontUseNativeDialog?7 @@ -1264,8 +1223,10 @@ eric6.E5Gui.E5SqueezeLabels.E5SqueezeLabelPath?1(parent=None) eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.getList?4() eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.on_addButton_clicked?4() +eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setDefaultVisible?4(visible) eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setList?4(stringList) eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setListWhatsThis?4(txt) +eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setToDefault?7 eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget?1(parent=None) eric6.E5Gui.E5TabWidget.E5DnDTabBar.dragEnterEvent?4(event) eric6.E5Gui.E5TabWidget.E5DnDTabBar.dropEvent?4(event) @@ -1703,6 +1664,7 @@ eric6.Globals.settingsNameOrganization?7 eric6.Globals.settingsNameRecent?7 eric6.Globals.strGroup?4(txt, sep, groupLen=4) +eric6.Globals.strToQByteArray?4(txt) eric6.Globals.toBool?4(value) eric6.Globals.toByteArray?4(value) eric6.Globals.toDict?4(value) @@ -7517,6 +7479,8 @@ eric6.QScintilla.Exporters.ExporterHTML.ExporterHTML?1(editor, parent=None) eric6.QScintilla.Exporters.ExporterHTML.HTMLGenerator.generate?4(tabSize=4, useTabs=False, wysiwyg=True, folding=False, onlyStylesUsed=False, titleFullPath=False) eric6.QScintilla.Exporters.ExporterHTML.HTMLGenerator?1(editor) +eric6.QScintilla.Exporters.ExporterHTML._StrikeThroughExtension.DEL_RE?7 +eric6.QScintilla.Exporters.ExporterHTML._StrikeThroughExtension.extendMarkdown?4(md, md_globals) eric6.QScintilla.Exporters.ExporterODT.ExporterODT.exportSource?4() eric6.QScintilla.Exporters.ExporterODT.ExporterODT?1(editor, parent=None) eric6.QScintilla.Exporters.ExporterPDF.ExporterPDF.exportSource?4() @@ -8838,7 +8802,7 @@ eric6.UI.Previewer.Previewer.shutdown?4() eric6.UI.Previewer.Previewer?1(viewmanager, splitter, parent=None) eric6.UI.Previewers.PreviewerHTML.PreviewProcessingThread.htmlReady?7 -eric6.UI.Previewers.PreviewerHTML.PreviewProcessingThread.process?4(filePath, language, text, ssiEnabled, rootPath, useSphinx) +eric6.UI.Previewers.PreviewerHTML.PreviewProcessingThread.process?4(filePath, language, text, ssiEnabled, rootPath, useSphinx, convertNewLineToBreak, markdownHtmlFormat, restDocutilsHtmlFormat) eric6.UI.Previewers.PreviewerHTML.PreviewProcessingThread.run?4() eric6.UI.Previewers.PreviewerHTML.PreviewProcessingThread?1(parent=None) eric6.UI.Previewers.PreviewerHTML.PreviewerHTML.on_jsCheckBox_clicked?4(checked) @@ -8944,7 +8908,7 @@ eric6.UI.UserInterface.UserInterface.showFindFilesDialog?4(txt="", searchDir="", openFiles=False) eric6.UI.UserInterface.UserInterface.showLogViewer?4() eric6.UI.UserInterface.UserInterface.showMenu?7 -eric6.UI.UserInterface.UserInterface.showNotification?4(icon, heading, text) +eric6.UI.UserInterface.UserInterface.showNotification?4(icon, heading, text, timeout=None) eric6.UI.UserInterface.UserInterface.showPluginsAvailable?4() eric6.UI.UserInterface.UserInterface.showPreferences?4(pageName=None) eric6.UI.UserInterface.UserInterface.showReplaceFilesDialog?4(txt="", searchDir="", openFiles=False) @@ -10589,6 +10553,105 @@ eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.QtHelpFiltersDialog.on_removeButton_clicked?4() eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.QtHelpFiltersDialog.on_unusedAttributesButton_clicked?4() eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.QtHelpFiltersDialog?1(engine, parent=None) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.ClientId?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.ClientVersion?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.GsbUrlTemplate?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.fairUseDelayExpired?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getFullHashes?4(prefixes, clientState) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getPlatformString?4(platformType) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getPlatformTypes?4(platform) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatEntryString?4(threatEntry) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatLists?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatMessage?4(threatType) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatType?4(threatType) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatsUpdate?4(clientStates) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.networkError?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.setApiKey?4(apiKey) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient?1(apiKey, fairUse=True, parent=None) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.HashPrefixList?1(prefixLength, rawHashes) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.addThreatList?4(threatList) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.cleanupFullHashes?4(keepExpiredFor=43200) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.close?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hash_cue_idx?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hash_expires_idx?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hash_value_idx?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hashes_stmt?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_hash_prefix_stmt?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_threat_list_stmt?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.deleteHashPrefixList?4(threatList) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.deleteThreatList?4(threatList) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hash_cue_idx?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hash_expires_idx?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hash_value_idx?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hashes_stmt?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_hash_prefix_stmt?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_threat_list_stmt?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.getHashPrefixValuesToRemove?4(threatList, indexes) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.getThreatLists?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.hashPrefixListChecksum?4(threatList) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.lookupFullHashes?4(hashValues) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.lookupHashPrefix?4(prefixes) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.maxProcessEventsTime?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.populateHashPrefixList?4(threatList, prefixes) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.prepareCacheDb?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.removeHashPrefixIndices?4(threatList, indexes) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.storeFullHash?4(threatList, hashValue, cacheDuration, malwareThreatType) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.updateHashPrefixExpiration?4(threatList, hashPrefix, negativeCacheDuration) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.updateThreatListClientState?4(threatList, clientState) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache?1(dbPath, parent=None) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.ThreatList.asTuple?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.ThreatList.fromApiEntry?4(entry) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.ThreatList?1(threatType, platformType, threatEntryType) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.closeEvent?4(evt) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_buttonBox_clicked?4(button) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_clearCacheButton_clicked?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_gsbHelpButton_clicked?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_saveButton_clicked?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_showUpdateTimeButton_clicked?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_updateCacheButton_clicked?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_urlCheckButton_clicked?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_urlEdit_textChanged?4(text) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.show?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog?1(manager, parent=None) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingHelp?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.SafeBrowsingInfoWidget.showAt?4(pos) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.SafeBrowsingInfoWidget?1(info, parent=None) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.clicked?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.getThreatInfo?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.mouseDoubleClickEvent?4(evt) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.mouseReleaseEvent?4(evt) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.nokStyle?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.setThreatInfo?4(threatType, threatMessages) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel?1(parent=None) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.close?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.configurationChanged?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.fairUseDelayExpired?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.fullCacheCleanup?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getIgnoreSchemes?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getPlatformString?4(platformType) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatEntryString?4(threatEntry) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatMessage?4(threatType) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatMessages?4(threatLists) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatType?4(threatList) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.isEnabled?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.isUpdatingThreatLists?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.lookupUrl?4(url) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.progress?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.progressMessage?7 +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.showSafeBrowsingDialog?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.updateHashPrefixCache?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager?1() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.canonical?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.digest?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.fullUnescape?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.hashes?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.hostPermutations?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.pathPermutations?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.permutations?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.quote?4() +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl?1(url) +eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.toHex?4(value) eric6.WebBrowser.SearchWidget.SearchWidget.findNext?4() eric6.WebBrowser.SearchWidget.SearchWidget.findPrevious?4() eric6.WebBrowser.SearchWidget.SearchWidget.keyPressEvent?4(event) @@ -10979,6 +11042,7 @@ eric6.WebBrowser.WebBrowserPage.WebBrowserPage.certificateError?4(error) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.execJavaScript?4(script, worldId=QWebEngineScript.MainWorld, timeout=500) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.execPrintPage?4(printer, timeout=1000) +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.getSafeBrowsingStatus?4() eric6.WebBrowser.WebBrowserPage.WebBrowserPage.hitTestContent?4(pos) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.icon?4() eric6.WebBrowser.WebBrowserPage.WebBrowserPage.isJavaScriptEnabled?4() @@ -10987,6 +11051,8 @@ eric6.WebBrowser.WebBrowserPage.WebBrowserPage.printCallback?4(resDict=resultDict) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.resultCallback?4(resDict=resultDict) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.runJavaScript?4(script, worldId=-1, callback=None) +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.safeBrowsingAbort?7 +eric6.WebBrowser.WebBrowserPage.WebBrowserPage.safeBrowsingBad?7 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scroll?4(x, y) eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scrollPosition?4() eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scrollTo?4(pos) @@ -11068,6 +11134,7 @@ eric6.WebBrowser.WebBrowserView.WebBrowserView.forwardAvailable?7 eric6.WebBrowser.WebBrowserView.WebBrowserView.getPreview?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.getRSS?4() +eric6.WebBrowser.WebBrowserView.WebBrowserView.getSafeBrowsingStatus?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.getSessionData?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.hasRSS?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.hasSelection?4() @@ -11090,6 +11157,8 @@ eric6.WebBrowser.WebBrowserView.WebBrowserView.reload?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.reloadBypassingCache?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.requestFullScreen?4(enable) +eric6.WebBrowser.WebBrowserView.WebBrowserView.safeBrowsingAbort?7 +eric6.WebBrowser.WebBrowserView.WebBrowserView.safeBrowsingBad?7 eric6.WebBrowser.WebBrowserView.WebBrowserView.saveAs?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.search?7 eric6.WebBrowser.WebBrowserView.WebBrowserView.selectAll?4() @@ -11136,6 +11205,7 @@ eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._performingShutdown?8 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._performingStartup?8 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._personalInformationManager?8 +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._safeBrowsingManager?8 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._sessionManager?8 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._speedDial?8 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._syncManager?8 @@ -11169,6 +11239,7 @@ eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.getQtHelpCollectionFileName?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.getSourceFileList?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.getWindow?4() +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.globalStatusBar?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.greaseMonkeyManager?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.helpEngine?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.hideFullScreenNavigation?4() @@ -11200,6 +11271,7 @@ eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.preferencesChanged?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.reloadUserStyleSheet?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.requestVirusTotalScan?4(url) +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.safeBrowsingManager?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.search?4(word) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.searchEnginesAction?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.sessionManager?4() @@ -11210,7 +11282,7 @@ eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.setLoadingActions?4(b) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.setUseQtHelp?4(use) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showFullScreenNavigation?4() -eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showNotification?4(icon, heading, text) +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showNotification?4(icon, heading, text, timeout=None) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.shutdown?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.speedDial?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.syncManager?4()
--- a/APIs/Python3/eric6.bas Thu Aug 03 14:50:59 2017 +0200 +++ b/APIs/Python3/eric6.bas Fri Sep 01 12:08:17 2017 +0200 @@ -118,8 +118,7 @@ DebugViewer QWidget DebuggerGeneralPage ConfigurationPageBase Ui_DebuggerGeneralPage DebuggerInterfaceNone QObject -DebuggerInterfacePython2 QObject -DebuggerInterfacePython3 QObject +DebuggerInterfacePython QObject DebuggerPropertiesDialog QDialog Ui_DebuggerPropertiesDialog DebuggerPropertiesReader XMLStreamReaderBase DebuggerPropertiesWriter XMLStreamWriterBase @@ -683,6 +682,12 @@ RemoveBookmarksCommand QUndoCommand RestructuredTextProvider MarkupBase SafariImporter BookmarksImporter +SafeBrowsingAPIClient QObject +SafeBrowsingCache QObject +SafeBrowsingDialog QDialog Ui_SafeBrowsingDialog +SafeBrowsingInfoWidget QMenu +SafeBrowsingLabel QLabel +SafeBrowsingManager QObject SchemeAccessHandler QObject SearchReplaceSlidingWidget QWidget SearchReplaceWidget QWidget
--- a/Debugger/DebugServer.py Thu Aug 03 14:50:59 2017 +0200 +++ b/Debugger/DebugServer.py Fri Sep 01 12:08:17 2017 +0200 @@ -31,8 +31,7 @@ DebuggerInterfaces = { - "Python2": "DebuggerInterfacePython2", - "Python3": "DebuggerInterfacePython3", + "Python": "DebuggerInterfacePython", "None": "DebuggerInterfaceNone", } @@ -163,12 +162,15 @@ """ super(DebugServer, self).__init__() + self.__debuggerInterfaces = {} + # the interface name is the key, a function to get the + # registration data is the value self.__debuggerInterfaceRegistry = {} # the client language is the key, a list containing the client - # capabilities, the list of associated file extensions, a + # capabilities, a list of associated file extensions, a # function reference to create the debugger interface (see - # __createDebuggerInterface() below) and a function to be called - # to get the registration data as values + # __createDebuggerInterface() below) and the interface name is + # the value # create our models self.breakpointModel = BreakPointModel(self) @@ -293,20 +295,20 @@ Public slot to handle the preferencesChanged signal. """ registeredInterfaces = {} - for language in self.__debuggerInterfaceRegistry: - registeredInterfaces[language] = \ - self.__debuggerInterfaceRegistry[language][-1] - # last entry is the registry data function + for interfaceName in self.__debuggerInterfaces: + registeredInterfaces[interfaceName] = \ + self.__debuggerInterfaces[interfaceName] + self.__debuggerInterfaces = {} self.__debuggerInterfaceRegistry = {} - for language, getRegistryData in registeredInterfaces.items(): - self.registerDebuggerInterface(language, getRegistryData) + for interfaceName, getRegistryData in registeredInterfaces.items(): + self.registerDebuggerInterface(interfaceName, getRegistryData) - def registerDebuggerInterface(self, name, getRegistryData): + def registerDebuggerInterface(self, interfaceName, getRegistryData): """ Public method to register a debugger interface. - @param name name of the debugger interface + @param interfaceName name of the debugger interface @type str @param getRegistryData reference to a function to be called to get the debugger interface details. This method shall @@ -315,7 +317,7 @@ to create the debugger interface (see __createDebuggerInterface()) @type function """ - if name in self.__debuggerInterfaceRegistry: + if interfaceName in self.__debuggerInterfaces: E5MessageBox.warning( None, self.tr("Register Debugger Interface"), @@ -323,22 +325,31 @@ """ been registered. Ignoring this request.</p>""")) return - clientLanguage, clientCapabilities, clientExtensions, \ - interfaceCreator = getRegistryData() - if clientLanguage: - self.__debuggerInterfaceRegistry[clientLanguage] = \ - [clientCapabilities, clientExtensions, interfaceCreator, - getRegistryData] + registryDataList = getRegistryData() + if registryDataList: + self.__debuggerInterfaces[interfaceName] = getRegistryData + for clientLanguage, clientCapabilities, clientExtensions, \ + interfaceCreator in registryDataList: + self.__debuggerInterfaceRegistry[clientLanguage] = [ + clientCapabilities, clientExtensions, interfaceCreator, + interfaceName] - def unregisterDebuggerInterface(self, name): + def unregisterDebuggerInterface(self, interfaceName): """ Public method to unregister a debugger interface. - @param name name of the debugger interface + @param interfaceName interfaceName of the debugger interface @type str """ - if name in self.__debuggerInterfaceRegistry: - del self.__debuggerInterfaceRegistry[name] + if interfaceName in self.__debuggerInterfaces: + clientLanguages = [] + for clientLanguage, registryData in \ + self.__debuggerInterfaceRegistry.items(): + if interfaceName == registryData[-1]: + clientLanguages.append(clientLanguage) + for clientLanguage in clientLanguages: + del self.__debuggerInterfaceRegistry[clientLanguage] + del self.__debuggerInterfaces[interfaceName] def __findLanguageForExtension(self, ext): """
--- a/Debugger/DebuggerInterfaceNone.py Thu Aug 03 14:50:59 2017 +0200 +++ b/Debugger/DebuggerInterfaceNone.py Fri Sep 01 12:08:17 2017 +0200 @@ -409,18 +409,19 @@ @param passive flag indicating passive connection mode @type bool @return instantiated debugger interface - @rtype DebuggerInterfacePython + @rtype DebuggerInterfaceNone """ return DebuggerInterfaceNone(debugServer, passive) def getRegistryData(): """ - Module functionto get characterizing data for the debugger interface. + Module function to get characterizing data for the debugger interface. - @return tuple containing client type, client capabilities, client file - type associations and reference to creation function - @rtype tuple of (str, int, list of str, function) + @return list of tuples containing the client type, the client capabilities, + the client file type associations and a reference to the creation + function + @rtype list of tuple of (str, int, list of str, function) """ - return ["None", ClientDefaultCapabilities, ClientTypeAssociations, - createDebuggerInterfaceNone] + return [("None", ClientDefaultCapabilities, ClientTypeAssociations, + createDebuggerInterfaceNone)]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Debugger/DebuggerInterfacePython.py Fri Sep 01 12:08:17 2017 +0200 @@ -0,0 +1,1156 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2009 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Python3 debugger interface for the debug server. +""" + +from __future__ import unicode_literals + +import sys +import os + +from PyQt5.QtCore import QObject, QTextCodec, QProcess, QProcessEnvironment, \ + QTimer +from PyQt5.QtWidgets import QInputDialog + +from E5Gui.E5Application import e5App +from E5Gui import E5MessageBox + +from . import DebugClientCapabilities + +import Preferences +import Utilities + +from eric6config import getConfig + + +ClientDefaultCapabilities = DebugClientCapabilities.HasAll + + +class DebuggerInterfacePython(QObject): + """ + Class implementing the debugger interface for the debug server for Python 2 + and Python 3. + """ + def __init__(self, debugServer, passive, pythonVariant): + """ + Constructor + + @param debugServer reference to the debug server + @type DebugServer + @param passive flag indicating passive connection mode + @type bool + @param pythonVariant Python variant to instantiate for + @type str (one of Python2 or Python3) + """ + super(DebuggerInterfacePython, self).__init__() + + self.__isNetworked = True + self.__autoContinue = False + + self.debugServer = debugServer + self.passive = passive + self.process = None + self.__variant = pythonVariant + + self.qsock = None + self.queue = [] + + # set default values for capabilities of clients + self.clientCapabilities = ClientDefaultCapabilities + + # set translation function + self.translate = self.__identityTranslation + + self.codec = QTextCodec.codecForName( + str(Preferences.getSystem("StringEncoding"))) + + if passive: + # set translation function + if Preferences.getDebugger("PathTranslation"): + self.translateRemote = \ + Preferences.getDebugger("PathTranslationRemote") + self.translateLocal = \ + Preferences.getDebugger("PathTranslationLocal") + self.translate = self.__remoteTranslation + else: + self.translate = self.__identityTranslation + + # attribute to remember the name of the executed script + self.__scriptName = "" + + def __identityTranslation(self, fn, remote2local=True): + """ + Private method to perform the identity path translation. + + @param fn filename to be translated (string) + @param remote2local flag indicating the direction of translation + (False = local to remote, True = remote to local [default]) + @return translated filename (string) + """ + return fn + + def __remoteTranslation(self, fn, remote2local=True): + """ + Private method to perform the path translation. + + @param fn filename to be translated (string) + @param remote2local flag indicating the direction of translation + (False = local to remote, True = remote to local [default]) + @return translated filename (string) + """ + if remote2local: + return fn.replace(self.translateRemote, self.translateLocal) + else: + return fn.replace(self.translateLocal, self.translateRemote) + + def __startProcess(self, program, arguments, environment=None): + """ + Private method to start the debugger client process. + + @param program name of the executable to start (string) + @param arguments arguments to be passed to the program (list of string) + @param environment dictionary of environment settings to pass + (dict of string) + @return the process object (QProcess) or None + """ + proc = QProcess() + if environment is not None: + env = QProcessEnvironment() + for key, value in list(environment.items()): + env.insert(key, value) + proc.setProcessEnvironment(env) + args = [] + for arg in arguments: + args.append(arg) + proc.start(program, args) + if not proc.waitForStarted(10000): + proc = None + + return proc + + def startRemote(self, port, runInConsole): + """ + Public method to start a remote Python interpreter. + + @param port portnumber the debug server is listening on (integer) + @param runInConsole flag indicating to start the debugger in a + console window (boolean) + @return client process object (QProcess), a flag to indicate + a network connection (boolean) and the name of the interpreter + in case of a local execution (string) + """ + if self.__variant == "Python2": + interpreter = Preferences.getDebugger("PythonInterpreter") + else: + interpreter = Preferences.getDebugger("Python3Interpreter") + if interpreter == "": + E5MessageBox.critical( + None, + self.tr("Start Debugger"), + self.tr( + """<p>No {0} interpreter configured.</p>""") + .format(self.__variant)) + return None, False, "" + + if self.__variant == "Python2": + debugClientType = Preferences.getDebugger("DebugClientType") + else: + debugClientType = Preferences.getDebugger("DebugClientType3") + if debugClientType == "standard": + debugClient = os.path.join(getConfig('ericDir'), + "DebugClients", "Python", + "DebugClient.py") + else: + if self.__variant == "Python2": + debugClient = Preferences.getDebugger("DebugClient") + else: + debugClient = Preferences.getDebugger("DebugClient3") + if debugClient == "": + debugClient = os.path.join(sys.path[0], + "DebugClients", "Python", + "DebugClient.py") + + if self.__variant == "Python2": + redirect = str(Preferences.getDebugger("PythonRedirect")) + noencoding = Preferences.getDebugger("PythonNoEncoding") and \ + '--no-encoding' or '' + else: + redirect = str(Preferences.getDebugger("Python3Redirect")) + noencoding = Preferences.getDebugger("Python3NoEncoding") and \ + '--no-encoding' or '' + + if Preferences.getDebugger("RemoteDbgEnabled"): + ipaddr = self.debugServer.getHostAddress(False) + rexec = Preferences.getDebugger("RemoteExecution") + rhost = Preferences.getDebugger("RemoteHost") + if rhost == "": + rhost = "localhost" + if rexec: + args = Utilities.parseOptionString(rexec) + \ + [rhost, interpreter, debugClient, + noencoding, str(port), redirect, ipaddr] + args[0] = Utilities.getExecutablePath(args[0]) + process = self.__startProcess(args[0], args[1:]) + if process is None: + E5MessageBox.critical( + None, + self.tr("Start Debugger"), + self.tr( + """<p>The debugger backend could not be""" + """ started.</p>""")) + + # set translation function + if Preferences.getDebugger("PathTranslation"): + self.translateRemote = \ + Preferences.getDebugger("PathTranslationRemote") + self.translateLocal = \ + Preferences.getDebugger("PathTranslationLocal") + self.translate = self.__remoteTranslation + else: + self.translate = self.__identityTranslation + return process, self.__isNetworked, "" + + # set translation function + self.translate = self.__identityTranslation + + # setup the environment for the debugger + if Preferences.getDebugger("DebugEnvironmentReplace"): + clientEnv = {} + else: + clientEnv = os.environ.copy() + envlist = Utilities.parseEnvironmentString( + Preferences.getDebugger("DebugEnvironment")) + for el in envlist: + try: + key, value = el.split('=', 1) + if value.startswith('"') or value.startswith("'"): + value = value[1:-1] + clientEnv[str(key)] = str(value) + except ValueError: + pass + + ipaddr = self.debugServer.getHostAddress(True) + if runInConsole or Preferences.getDebugger("ConsoleDbgEnabled"): + ccmd = Preferences.getDebugger("ConsoleDbgCommand") + if ccmd: + args = Utilities.parseOptionString(ccmd) + \ + [interpreter, os.path.abspath(debugClient), + noencoding, str(port), '0', ipaddr] + args[0] = Utilities.getExecutablePath(args[0]) + process = self.__startProcess(args[0], args[1:], clientEnv) + if process is None: + E5MessageBox.critical( + None, + self.tr("Start Debugger"), + self.tr( + """<p>The debugger backend could not be""" + """ started.</p>""")) + return process, self.__isNetworked, interpreter + + process = self.__startProcess( + interpreter, + [debugClient, noencoding, str(port), redirect, ipaddr], + clientEnv) + if process is None: + E5MessageBox.critical( + None, + self.tr("Start Debugger"), + self.tr( + """<p>The debugger backend could not be started.</p>""")) + return process, self.__isNetworked, interpreter + + def startRemoteForProject(self, port, runInConsole): + """ + Public method to start a remote Python interpreter for a project. + + @param port portnumber the debug server is listening on (integer) + @param runInConsole flag indicating to start the debugger in a + console window (boolean) + @return client process object (QProcess), a flag to indicate + a network connection (boolean) and the name of the interpreter + in case of a local execution (string) + """ + project = e5App().getObject("Project") + if not project.isDebugPropertiesLoaded(): + return None, self.__isNetworked, "" + + # start debugger with project specific settings + interpreter = project.getDebugProperty("INTERPRETER") + debugClient = project.getDebugProperty("DEBUGCLIENT") + + redirect = str(project.getDebugProperty("REDIRECT")) + noencoding = \ + project.getDebugProperty("NOENCODING") and '--no-encoding' or '' + + if project.getDebugProperty("REMOTEDEBUGGER"): + ipaddr = self.debugServer.getHostAddress(False) + rexec = project.getDebugProperty("REMOTECOMMAND") + rhost = project.getDebugProperty("REMOTEHOST") + if rhost == "": + rhost = "localhost" + if rexec: + args = Utilities.parseOptionString(rexec) + \ + [rhost, interpreter, os.path.abspath(debugClient), + noencoding, str(port), redirect, ipaddr] + args[0] = Utilities.getExecutablePath(args[0]) + process = self.__startProcess(args[0], args[1:]) + if process is None: + E5MessageBox.critical( + None, + self.tr("Start Debugger"), + self.tr( + """<p>The debugger backend could not be""" + """ started.</p>""")) + # set translation function + if project.getDebugProperty("PATHTRANSLATION"): + self.translateRemote = \ + project.getDebugProperty("REMOTEPATH") + self.translateLocal = \ + project.getDebugProperty("LOCALPATH") + self.translate = self.__remoteTranslation + else: + self.translate = self.__identityTranslation + return process, self.__isNetworked, "" + + # set translation function + self.translate = self.__identityTranslation + + # setup the environment for the debugger + if project.getDebugProperty("ENVIRONMENTOVERRIDE"): + clientEnv = {} + else: + clientEnv = os.environ.copy() + envlist = Utilities.parseEnvironmentString( + project.getDebugProperty("ENVIRONMENTSTRING")) + for el in envlist: + try: + key, value = el.split('=', 1) + if value.startswith('"') or value.startswith("'"): + value = value[1:-1] + clientEnv[str(key)] = str(value) + except ValueError: + pass + + ipaddr = self.debugServer.getHostAddress(True) + if runInConsole or project.getDebugProperty("CONSOLEDEBUGGER"): + ccmd = project.getDebugProperty("CONSOLECOMMAND") or \ + Preferences.getDebugger("ConsoleDbgCommand") + if ccmd: + args = Utilities.parseOptionString(ccmd) + \ + [interpreter, os.path.abspath(debugClient), + noencoding, str(port), '0', ipaddr] + args[0] = Utilities.getExecutablePath(args[0]) + process = self.__startProcess(args[0], args[1:], clientEnv) + if process is None: + E5MessageBox.critical( + None, + self.tr("Start Debugger"), + self.tr( + """<p>The debugger backend could not be""" + """ started.</p>""")) + return process, self.__isNetworked, interpreter + + process = self.__startProcess( + interpreter, + [debugClient, noencoding, str(port), redirect, ipaddr], + clientEnv) + if process is None: + E5MessageBox.critical( + None, + self.tr("Start Debugger"), + self.tr( + """<p>The debugger backend could not be started.</p>""")) + return process, self.__isNetworked, interpreter + + def getClientCapabilities(self): + """ + Public method to retrieve the debug clients capabilities. + + @return debug client capabilities (integer) + """ + return self.clientCapabilities + + def newConnection(self, sock): + """ + Public slot to handle a new connection. + + @param sock reference to the socket object (QTcpSocket) + @return flag indicating success (boolean) + """ + # If we already have a connection, refuse this one. It will be closed + # automatically. + if self.qsock is not None: + return False + + sock.disconnected.connect(self.debugServer.startClient) + sock.readyRead.connect(self.__parseClientLine) + + self.qsock = sock + + # Get the remote clients capabilities + self.remoteCapabilities() + return True + + def flush(self): + """ + Public slot to flush the queue. + """ + # Send commands that were waiting for the connection. + for cmd in self.queue: + self.qsock.write(cmd.encode('utf8', 'backslashreplace')) + + self.queue = [] + + def shutdown(self): + """ + Public method to cleanly shut down. + + It closes our socket and shuts down + the debug client. (Needed on Win OS) + """ + if self.qsock is None: + return + + # do not want any slots called during shutdown + self.qsock.disconnected.disconnect(self.debugServer.startClient) + self.qsock.readyRead.disconnect(self.__parseClientLine) + + # close down socket, and shut down client as well. + self.__sendJsonCommand("RequestShutdown", {}) + self.qsock.flush() + self.qsock.close() + + # reinitialize + self.qsock = None + self.queue = [] + + def isConnected(self): + """ + Public method to test, if a debug client has connected. + + @return flag indicating the connection status (boolean) + """ + return self.qsock is not None + + def remoteEnvironment(self, env): + """ + Public method to set the environment for a program to debug, run, ... + + @param env environment settings (dictionary) + """ + self.__sendJsonCommand("RequestEnvironment", {"environment": env}) + + def remoteLoad(self, fn, argv, wd, traceInterpreter=False, + autoContinue=True, autoFork=False, forkChild=False): + """ + Public method to load a new program to debug. + + @param fn the filename to debug (string) + @param argv the commandline arguments to pass to the program (string) + @param wd the working directory for the program (string) + @keyparam traceInterpreter flag indicating if the interpreter library + should be traced as well (boolean) + @keyparam autoContinue flag indicating, that the debugger should not + stop at the first executable line (boolean) + @keyparam autoFork flag indicating the automatic fork mode (boolean) + @keyparam forkChild flag indicating to debug the child after forking + (boolean) + """ + self.__autoContinue = autoContinue + self.__scriptName = os.path.abspath(fn) + + wd = self.translate(wd, False) + fn = self.translate(os.path.abspath(fn), False) + self.__sendJsonCommand("RequestLoad", { + "workdir": wd, + "filename": fn, + "argv": Utilities.parseOptionString(argv), + "traceInterpreter": traceInterpreter, + "autofork": autoFork, + "forkChild": forkChild, + }) + + def remoteRun(self, fn, argv, wd, autoFork=False, forkChild=False): + """ + Public method to load a new program to run. + + @param fn the filename to run (string) + @param argv the commandline arguments to pass to the program (string) + @param wd the working directory for the program (string) + @keyparam autoFork flag indicating the automatic fork mode (boolean) + @keyparam forkChild flag indicating to debug the child after forking + (boolean) + """ + self.__scriptName = os.path.abspath(fn) + + wd = self.translate(wd, False) + fn = self.translate(os.path.abspath(fn), False) + self.__sendJsonCommand("RequestRun", { + "workdir": wd, + "filename": fn, + "argv": Utilities.parseOptionString(argv), + "autofork": autoFork, + "forkChild": forkChild, + }) + + def remoteCoverage(self, fn, argv, wd, erase=False): + """ + Public method to load a new program to collect coverage data. + + @param fn the filename to run (string) + @param argv the commandline arguments to pass to the program (string) + @param wd the working directory for the program (string) + @keyparam erase flag indicating that coverage info should be + cleared first (boolean) + """ + self.__scriptName = os.path.abspath(fn) + + wd = self.translate(wd, False) + fn = self.translate(os.path.abspath(fn), False) + self.__sendJsonCommand("RequestCoverage", { + "workdir": wd, + "filename": fn, + "argv": Utilities.parseOptionString(argv), + "erase": erase, + }) + + def remoteProfile(self, fn, argv, wd, erase=False): + """ + Public method to load a new program to collect profiling data. + + @param fn the filename to run (string) + @param argv the commandline arguments to pass to the program (string) + @param wd the working directory for the program (string) + @keyparam erase flag indicating that timing info should be cleared + first (boolean) + """ + self.__scriptName = os.path.abspath(fn) + + wd = self.translate(wd, False) + fn = self.translate(os.path.abspath(fn), False) + self.__sendJsonCommand("RequestProfile", { + "workdir": wd, + "filename": fn, + "argv": Utilities.parseOptionString(argv), + "erase": erase, + }) + + def remoteStatement(self, stmt): + """ + Public method to execute a Python statement. + + @param stmt the Python statement to execute (string). It + should not have a trailing newline. + """ + self.__sendJsonCommand("ExecuteStatement", { + "statement": stmt, + }) + + def remoteStep(self): + """ + Public method to single step the debugged program. + """ + self.__sendJsonCommand("RequestStep", {}) + + def remoteStepOver(self): + """ + Public method to step over the debugged program. + """ + self.__sendJsonCommand("RequestStepOver", {}) + + def remoteStepOut(self): + """ + Public method to step out the debugged program. + """ + self.__sendJsonCommand("RequestStepOut", {}) + + def remoteStepQuit(self): + """ + Public method to stop the debugged program. + """ + self.__sendJsonCommand("RequestStepQuit", {}) + + def remoteContinue(self, special=False): + """ + Public method to continue the debugged program. + + @param special flag indicating a special continue operation + """ + self.__sendJsonCommand("RequestContinue", { + "special": special, + }) + + def remoteMoveIP(self, line): + """ + Public method to move the instruction pointer to a different line. + + @param line the new line, where execution should be continued + """ + self.__sendJsonCommand("RequestMoveIP", { + "newLine": line, + }) + + def remoteBreakpoint(self, fn, line, setBreakpoint, cond=None, temp=False): + """ + Public method to set or clear a breakpoint. + + @param fn filename the breakpoint belongs to (string) + @param line linenumber of the breakpoint (int) + @param setBreakpoint flag indicating setting or resetting a + breakpoint (boolean) + @param cond condition of the breakpoint (string) + @param temp flag indicating a temporary breakpoint (boolean) + """ + self.__sendJsonCommand("RequestBreakpoint", { + "filename": self.translate(fn, False), + "line": line, + "temporary": temp, + "setBreakpoint": setBreakpoint, + "condition": cond, + }) + + def remoteBreakpointEnable(self, fn, line, enable): + """ + Public method to enable or disable a breakpoint. + + @param fn filename the breakpoint belongs to (string) + @param line linenumber of the breakpoint (int) + @param enable flag indicating enabling or disabling a breakpoint + (boolean) + """ + self.__sendJsonCommand("RequestBreakpointEnable", { + "filename": self.translate(fn, False), + "line": line, + "enable": enable, + }) + + def remoteBreakpointIgnore(self, fn, line, count): + """ + Public method to ignore a breakpoint the next couple of occurrences. + + @param fn filename the breakpoint belongs to (string) + @param line linenumber of the breakpoint (int) + @param count number of occurrences to ignore (int) + """ + self.__sendJsonCommand("RequestBreakpointIgnore", { + "filename": self.translate(fn, False), + "line": line, + "count": count, + }) + + def remoteWatchpoint(self, cond, setWatch, temp=False): + """ + Public method to set or clear a watch expression. + + @param cond expression of the watch expression (string) + @param setWatch flag indicating setting or resetting a watch expression + (boolean) + @param temp flag indicating a temporary watch expression (boolean) + """ + # cond is combination of cond and special (s. watch expression viewer) + self.__sendJsonCommand("RequestWatch", { + "temporary": temp, + "setWatch": setWatch, + "condition": cond, + }) + + def remoteWatchpointEnable(self, cond, enable): + """ + Public method to enable or disable a watch expression. + + @param cond expression of the watch expression (string) + @param enable flag indicating enabling or disabling a watch expression + (boolean) + """ + # cond is combination of cond and special (s. watch expression viewer) + self.__sendJsonCommand("RequestWatchEnable", { + "condition": cond, + "enable": enable, + }) + + def remoteWatchpointIgnore(self, cond, count): + """ + Public method to ignore a watch expression the next couple of + occurrences. + + @param cond expression of the watch expression (string) + @param count number of occurrences to ignore (int) + """ + # cond is combination of cond and special (s. watch expression viewer) + self.__sendJsonCommand("RequestWatchIgnore", { + "condition": cond, + "count": count, + }) + + def remoteRawInput(self, s): + """ + Public method to send the raw input to the debugged program. + + @param s the raw input (string) + """ + self.__sendJsonCommand("RawInput", { + "input": s, + }) + + def remoteThreadList(self): + """ + Public method to request the list of threads from the client. + """ + self.__sendJsonCommand("RequestThreadList", {}) + + def remoteSetThread(self, tid): + """ + Public method to request to set the given thread as current thread. + + @param tid id of the thread (integer) + """ + self.__sendJsonCommand("RequestThreadSet", { + "threadID": tid, + }) + + def remoteClientVariables(self, scope, filterList, framenr=0): + """ + Public method to request the variables of the debugged program. + + @param scope the scope of the variables (0 = local, 1 = global) + @param filterList list of variable types to filter out (list of int) + @param framenr framenumber of the variables to retrieve (int) + """ + self.__sendJsonCommand("RequestVariables", { + "frameNumber": framenr, + "scope": scope, + "filters": filterList, + }) + + def remoteClientVariable(self, scope, filterList, var, framenr=0): + """ + Public method to request the variables of the debugged program. + + @param scope the scope of the variables (0 = local, 1 = global) + @param filterList list of variable types to filter out (list of int) + @param var list encoded name of variable to retrieve (string) + @param framenr framenumber of the variables to retrieve (int) + """ + self.__sendJsonCommand("RequestVariable", { + "variable": var, + "frameNumber": framenr, + "scope": scope, + "filters": filterList, + }) + + def remoteClientSetFilter(self, scope, filterStr): + """ + Public method to set a variables filter list. + + @param scope the scope of the variables (0 = local, 1 = global) + @param filterStr regexp string for variable names to filter out + (string) + """ + self.__sendJsonCommand("RequestSetFilter", { + "scope": scope, + "filter": filterStr, + }) + + def setCallTraceEnabled(self, on): + """ + Public method to set the call trace state. + + @param on flag indicating to enable the call trace function (boolean) + """ + self.__sendJsonCommand("RequestCallTrace", { + "enable": on, + }) + + def remoteBanner(self): + """ + Public slot to get the banner info of the remote client. + """ + self.__sendJsonCommand("RequestBanner", {}) + + def remoteCapabilities(self): + """ + Public slot to get the debug clients capabilities. + """ + self.__sendJsonCommand("RequestCapabilities", {}) + + def remoteCompletion(self, text): + """ + Public slot to get the a list of possible commandline completions + from the remote client. + + @param text the text to be completed (string) + """ + self.__sendJsonCommand("RequestCompletion", { + "text": text, + }) + + def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase): + """ + Public method to prepare a new unittest run. + + @param fn the filename to load (string) + @param tn the testname to load (string) + @param tfn the test function name to load tests from (string) + @param failed list of failed test, if only failed test should be run + (list of strings) + @param cov flag indicating collection of coverage data is requested + (boolean) + @param covname filename to be used to assemble the coverage caches + filename (string) + @param coverase flag indicating erasure of coverage data is requested + (boolean) + """ + self.__scriptName = os.path.abspath(fn) + + fn = self.translate(os.path.abspath(fn), False) + self.__sendJsonCommand("RequestUTPrepare", { + "filename": fn, + "testname": tn, + "testfunctionname": tfn, + "failed": failed, + "coverage": cov, + "coveragefile": covname, + "coverageerase": coverase, + }) + + def remoteUTRun(self): + """ + Public method to start a unittest run. + """ + self.__sendJsonCommand("RequestUTRun", {}) + + def remoteUTStop(self): + """ + Public method to stop a unittest run. + """ + self.__sendJsonCommand("RequestUTStop", {}) + + def __askForkTo(self): + """ + Private method to ask the user which branch of a fork to follow. + """ + selections = [self.tr("Parent Process"), + self.tr("Child process")] + res, ok = QInputDialog.getItem( + None, + self.tr("Client forking"), + self.tr("Select the fork branch to follow."), + selections, + 0, False) + if not ok or res == selections[0]: + self.__sendJsonCommand("ResponseForkTo", { + "target": "parent", + }) + else: + self.__sendJsonCommand("ResponseForkTo", { + "target": "child", + }) + + def __parseClientLine(self): + """ + Private method to handle data from the client. + """ + while self.qsock and self.qsock.canReadLine(): + qs = self.qsock.readLine() + if self.codec is not None: + line = self.codec.toUnicode(qs) + else: + line = bytes(qs).decode() + +## print("Server: ", line) ##debug + + self.__handleJsonCommand(line) + continue + + def __handleJsonCommand(self, jsonStr): + """ + Private method to handle a command or response serialized as a + JSON string. + + @param jsonStr string containing the command or response received + from the debug backend + @type str + """ + import json + + try: + commandDict = json.loads(jsonStr.strip()) + except (TypeError, ValueError) as err: + E5MessageBox.critical( + None, + self.tr("Debug Protocol Error"), + self.tr("""<p>The response received from the debugger""" + """ backend could not be decoded. Please report""" + """ this issue with the received data to the""" + """ eric bugs email address.</p>""" + """<p>Error: {0}</p>""" + """<p>Data:<br/>{0}</p>""").format( + str(err), Utilities.html_encode(jsonStr.strip())), + E5MessageBox.StandardButtons( + E5MessageBox.Ok)) + return + + method = commandDict["method"] + params = commandDict["params"] + + if method == "ClientOutput": + self.debugServer.signalClientOutput(params["text"]) + + elif method in ["ResponseLine", "ResponseStack"]: + # Check if obsolet thread was clicked + if params["stack"] == []: + # Request updated list + self.remoteThreadList() + return + for s in params["stack"]: + s[0] = self.translate(s[0], True) + cf = params["stack"][0] + if self.__autoContinue: + self.__autoContinue = False + QTimer.singleShot(0, self.remoteContinue) + else: + self.debugServer.signalClientLine( + cf[0], int(cf[1]), + method == "ResponseStack") + self.debugServer.signalClientStack(params["stack"]) + + elif method == "CallTrace": + isCall = params["event"].lower() == "c" + fromInfo = params["from"] + toInfo = params["to"] + self.debugServer.signalClientCallTrace( + isCall, + fromInfo["filename"], str(fromInfo["linenumber"]), + fromInfo["codename"], + toInfo["filename"], str(toInfo["linenumber"]), + toInfo["codename"]) + + elif method == "ResponseVariables": + self.debugServer.signalClientVariables( + params["scope"], params["variables"]) + + elif method == "ResponseVariable": + self.debugServer.signalClientVariable( + params["scope"], [params["variable"]] + params["variables"]) + + elif method == "ResponseThreadList": + self.debugServer.signalClientThreadList( + params["currentID"], params["threadList"]) + + elif method == "ResponseThreadSet": + self.debugServer.signalClientThreadSet() + + elif method == "ResponseCapabilities": + self.clientCapabilities = params["capabilities"] + self.debugServer.signalClientCapabilities( + params["capabilities"], params["clientType"]) + + elif method == "ResponseBanner": + self.debugServer.signalClientBanner( + params["version"], + params["platform"], + params["dbgclient"]) + + elif method == "ResponseOK": + self.debugServer.signalClientStatement(False) + + elif method == "ResponseContinue": + self.debugServer.signalClientStatement(True) + + elif method == "RequestRaw": + self.debugServer.signalClientRawInput( + params["prompt"], params["echo"]) + + elif method == "ResponseBPConditionError": + fn = self.translate(params["filename"], True) + self.debugServer.signalClientBreakConditionError( + fn, params["line"]) + + elif method == "ResponseClearBreakpoint": + fn = self.translate(params["filename"], True) + self.debugServer.signalClientClearBreak(fn, params["line"]) + + elif method == "ResponseWatchConditionError": + self.debugServer.signalClientWatchConditionError( + params["condition"]) + + elif method == "ResponseClearWatch": + self.debugServer.signalClientClearWatch(params["condition"]) + + elif method == "ResponseException": + if params: + exctype = params["type"] + excmessage = params["message"] + stack = params["stack"] + if stack: + for stackEntry in stack: + stackEntry[0] = self.translate(stackEntry[0], True) + if stack[0] and stack[0][0] == "<string>": + for stackEntry in stack: + if stackEntry[0] == "<string>": + stackEntry[0] = self.__scriptName + else: + break + else: + exctype = '' + excmessage = '' + stack = [] + + self.debugServer.signalClientException( + exctype, excmessage, stack) + + elif method == "ResponseSyntax": + self.debugServer.signalClientSyntaxError( + params["message"], self.translate(params["filename"], True), + params["linenumber"], params["characternumber"]) + + elif method == "ResponseSignal": + self.debugServer.signalClientSignal( + params["message"], self.translate(params["filename"], True), + params["linenumber"], params["function"], params["arguments"]) + + elif method == "ResponseExit": + self.__scriptName = "" + self.debugServer.signalClientExit( + params["status"], params["message"]) + + elif method == "PassiveStartup": + self.debugServer.passiveStartUp( + self.translate(params["filename"], True), params["exceptions"]) + + elif method == "ResponseCompletion": + self.debugServer.signalClientCompletionList( + params["completions"], params["text"]) + + elif method == "ResponseUTPrepared": + self.debugServer.clientUtPrepared( + params["count"], params["exception"], params["message"]) + + elif method == "ResponseUTFinished": + self.debugServer.clientUtFinished() + + elif method == "ResponseUTStartTest": + self.debugServer.clientUtStartTest( + params["testname"], params["description"]) + + elif method == "ResponseUTStopTest": + self.debugServer.clientUtStopTest() + + elif method == "ResponseUTTestFailed": + self.debugServer.clientUtTestFailed( + params["testname"], params["traceback"], params["id"]) + + elif method == "ResponseUTTestErrored": + self.debugServer.clientUtTestErrored( + params["testname"], params["traceback"], params["id"]) + + elif method == "ResponseUTTestSkipped": + self.debugServer.clientUtTestSkipped( + params["testname"], params["reason"], params["id"]) + + elif method == "ResponseUTTestFailedExpected": + self.debugServer.clientUtTestFailedExpected( + params["testname"], params["traceback"], params["id"]) + + elif method == "ResponseUTTestSucceededUnexpected": + self.debugServer.clientUtTestSucceededUnexpected( + params["testname"], params["id"]) + + elif method == "RequestForkTo": + self.__askForkTo() + + def __sendJsonCommand(self, command, params): + """ + Private method to send a single command to the client. + + @param command command name to be sent + @type str + @param params dictionary of named parameters for the command + @type dict + """ + import json + + commandDict = { + "jsonrpc": "2.0", + "method": command, + "params": params, + } + cmd = json.dumps(commandDict) + '\n' + if self.qsock is not None: + self.qsock.write(cmd.encode('utf8', 'backslashreplace')) + else: + self.queue.append(cmd) + + +def createDebuggerInterfacePython2(debugServer, passive): + """ + Module function to create a debugger interface instance. + + + @param debugServer reference to the debug server + @type DebugServer + @param passive flag indicating passive connection mode + @type bool + @return instantiated debugger interface + @rtype DebuggerInterfacePython + """ + return DebuggerInterfacePython(debugServer, passive, "Python2") + + +def createDebuggerInterfacePython3(debugServer, passive): + """ + Module function to create a debugger interface instance. + + + @param debugServer reference to the debug server + @type DebugServer + @param passive flag indicating passive connection mode + @type bool + @return instantiated debugger interface + @rtype DebuggerInterfacePython + """ + return DebuggerInterfacePython(debugServer, passive, "Python3") + + +def getRegistryData(): + """ + Module function to get characterizing data for the supported debugger + interfaces. + + @return list of tuples containing the client type, the client capabilities, + the client file type associations and a reference to the creation + function + @rtype list of tuple of (str, int, list of str, function) + """ + py2Exts = [] + for ext in Preferences.getDebugger("PythonExtensions").split(): + if ext.startswith("."): + py2Exts.append(ext) + else: + py2Exts.append(".{0}".format(ext)) + + py3Exts = [] + for ext in Preferences.getDebugger("Python3Extensions").split(): + if ext.startswith("."): + py3Exts.append(ext) + else: + py3Exts.append(".{0}".format(ext)) + + registryData = [] + if py2Exts and Preferences.getDebugger("PythonInterpreter"): + registryData.append( + ("Python2", ClientDefaultCapabilities, py2Exts, + createDebuggerInterfacePython2) + ) + + if py3Exts and Preferences.getDebugger("Python3Interpreter"): + registryData.append( + ("Python3", ClientDefaultCapabilities, py3Exts, + createDebuggerInterfacePython3) + ) + + return registryData
--- a/Debugger/DebuggerInterfacePython2.py Thu Aug 03 14:50:59 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1102 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2007 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the Python debugger interface for the debug server. -""" - -from __future__ import unicode_literals - -import sys -import os - -from PyQt5.QtCore import QObject, QTextCodec, QProcess, QProcessEnvironment, \ - QTimer -from PyQt5.QtWidgets import QInputDialog - -from E5Gui.E5Application import e5App -from E5Gui import E5MessageBox - -from . import DebugClientCapabilities - -import Preferences -import Utilities - -from eric6config import getConfig - - -ClientDefaultCapabilities = DebugClientCapabilities.HasAll - - -class DebuggerInterfacePython2(QObject): - """ - Class implementing the Python 2 debugger interface for the debug server. - """ - def __init__(self, debugServer, passive): - """ - Constructor - - @param debugServer reference to the debug server (DebugServer) - @param passive flag indicating passive connection mode (boolean) - """ - super(DebuggerInterfacePython2, self).__init__() - - self.__isNetworked = True - self.__autoContinue = False - - self.debugServer = debugServer - self.passive = passive - self.process = None - - self.qsock = None - self.queue = [] - - # set default values for capabilities of clients - self.clientCapabilities = ClientDefaultCapabilities - - # set translation function - self.translate = self.__identityTranslation - - self.codec = QTextCodec.codecForName( - Preferences.getSystem("StringEncoding")) - - if passive: - # set translation function - if Preferences.getDebugger("PathTranslation"): - self.translateRemote = \ - Preferences.getDebugger("PathTranslationRemote") - self.translateLocal = \ - Preferences.getDebugger("PathTranslationLocal") - self.translate = self.__remoteTranslation - else: - self.translate = self.__identityTranslation - - # attribute to remember the name of the executed script - self.__scriptName = "" - - def __identityTranslation(self, fn, remote2local=True): - """ - Private method to perform the identity path translation. - - @param fn filename to be translated (string) - @param remote2local flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) - @return translated filename (string) - """ - return fn - - def __remoteTranslation(self, fn, remote2local=True): - """ - Private method to perform the path translation. - - @param fn filename to be translated (string) - @param remote2local flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) - @return translated filename (string) - """ - if remote2local: - return fn.replace(self.translateRemote, self.translateLocal) - else: - return fn.replace(self.translateLocal, self.translateRemote) - - def __startProcess(self, program, arguments, environment=None): - """ - Private method to start the debugger client process. - - @param program name of the executable to start (string) - @param arguments arguments to be passed to the program (list of string) - @param environment dictionary of environment settings to pass - (dict of string) - @return the process object (QProcess) or None - """ - proc = QProcess() - if environment is not None: - env = QProcessEnvironment() - for key, value in list(environment.items()): - env.insert(key, value) - proc.setProcessEnvironment(env) - args = [] - for arg in arguments: - args.append(arg) - proc.start(program, args) - if not proc.waitForStarted(10000): - proc = None - - return proc - - def startRemote(self, port, runInConsole): - """ - Public method to start a remote Python interpreter. - - @param port portnumber the debug server is listening on (integer) - @param runInConsole flag indicating to start the debugger in a - console window (boolean) - @return client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) - """ - interpreter = Preferences.getDebugger("PythonInterpreter") - if interpreter == "": - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>No Python2 interpreter configured.</p>""")) - return None, False, "" - - debugClientType = Preferences.getDebugger("DebugClientType") - if debugClientType == "standard": - debugClient = os.path.join(getConfig('ericDir'), - "DebugClients", "Python", - "DebugClient.py") - else: - debugClient = Preferences.getDebugger("DebugClient") - if debugClient == "": - debugClient = os.path.join(sys.path[0], - "DebugClients", "Python", - "DebugClient.py") - - redirect = str(Preferences.getDebugger("PythonRedirect")) - noencoding = Preferences.getDebugger("PythonNoEncoding") and \ - '--no-encoding' or '' - - if Preferences.getDebugger("RemoteDbgEnabled"): - ipaddr = self.debugServer.getHostAddress(False) - rexec = Preferences.getDebugger("RemoteExecution") - rhost = Preferences.getDebugger("RemoteHost") - if rhost == "": - rhost = "localhost" - if rexec: - args = Utilities.parseOptionString(rexec) + \ - [rhost, interpreter, debugClient, - noencoding, str(port), redirect, ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:]) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - - # set translation function - if Preferences.getDebugger("PathTranslation"): - self.translateRemote = \ - Preferences.getDebugger("PathTranslationRemote") - self.translateLocal = \ - Preferences.getDebugger("PathTranslationLocal") - self.translate = self.__remoteTranslation - else: - self.translate = self.__identityTranslation - return process, self.__isNetworked, "" - - # set translation function - self.translate = self.__identityTranslation - - # setup the environment for the debugger - if Preferences.getDebugger("DebugEnvironmentReplace"): - clientEnv = {} - else: - clientEnv = os.environ.copy() - envlist = Utilities.parseEnvironmentString( - Preferences.getDebugger("DebugEnvironment")) - for el in envlist: - try: - key, value = el.split('=', 1) - if value.startswith('"') or value.startswith("'"): - value = value[1:-1] - clientEnv[str(key)] = str(value) - except ValueError: - pass - - ipaddr = self.debugServer.getHostAddress(True) - if runInConsole or Preferences.getDebugger("ConsoleDbgEnabled"): - ccmd = Preferences.getDebugger("ConsoleDbgCommand") - if ccmd: - args = Utilities.parseOptionString(ccmd) + \ - [interpreter, os.path.abspath(debugClient), - noencoding, str(port), '0', ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:], clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - return process, self.__isNetworked, interpreter - - process = self.__startProcess( - interpreter, - [debugClient, noencoding, str(port), redirect, ipaddr], - clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be started.</p>""")) - return process, self.__isNetworked, interpreter - - def startRemoteForProject(self, port, runInConsole): - """ - Public method to start a remote Python interpreter for a project. - - @param port portnumber the debug server is listening on (integer) - @param runInConsole flag indicating to start the debugger in a - console window (boolean) - @return client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) - """ - project = e5App().getObject("Project") - if not project.isDebugPropertiesLoaded(): - return None, self.__isNetworked, "" - - # start debugger with project specific settings - interpreter = project.getDebugProperty("INTERPRETER") - debugClient = project.getDebugProperty("DEBUGCLIENT") - - redirect = str(project.getDebugProperty("REDIRECT")) - noencoding = \ - project.getDebugProperty("NOENCODING") and '--no-encoding' or '' - - if project.getDebugProperty("REMOTEDEBUGGER"): - ipaddr = self.debugServer.getHostAddress(False) - rexec = project.getDebugProperty("REMOTECOMMAND") - rhost = project.getDebugProperty("REMOTEHOST") - if rhost == "": - rhost = "localhost" - if rexec: - args = Utilities.parseOptionString(rexec) + \ - [rhost, interpreter, os.path.abspath(debugClient), - noencoding, str(port), redirect, ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:]) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - # set translation function - if project.getDebugProperty("PATHTRANSLATION"): - self.translateRemote = \ - project.getDebugProperty("REMOTEPATH") - self.translateLocal = \ - project.getDebugProperty("LOCALPATH") - self.translate = self.__remoteTranslation - else: - self.translate = self.__identityTranslation - return process, self.__isNetworked, "" - - # set translation function - self.translate = self.__identityTranslation - - # setup the environment for the debugger - if project.getDebugProperty("ENVIRONMENTOVERRIDE"): - clientEnv = {} - else: - clientEnv = os.environ.copy() - envlist = Utilities.parseEnvironmentString( - project.getDebugProperty("ENVIRONMENTSTRING")) - for el in envlist: - try: - key, value = el.split('=', 1) - if value.startswith('"') or value.startswith("'"): - value = value[1:-1] - clientEnv[str(key)] = str(value) - except ValueError: - pass - - ipaddr = self.debugServer.getHostAddress(True) - if runInConsole or project.getDebugProperty("CONSOLEDEBUGGER"): - ccmd = project.getDebugProperty("CONSOLECOMMAND") or \ - Preferences.getDebugger("ConsoleDbgCommand") - if ccmd: - args = Utilities.parseOptionString(ccmd) + \ - [interpreter, os.path.abspath(debugClient), - noencoding, str(port), '0', ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:], clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - return process, self.__isNetworked, interpreter - - process = self.__startProcess( - interpreter, - [debugClient, noencoding, str(port), redirect, ipaddr], - clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be started.</p>""")) - return process, self.__isNetworked, interpreter - - def getClientCapabilities(self): - """ - Public method to retrieve the debug clients capabilities. - - @return debug client capabilities (integer) - """ - return self.clientCapabilities - - def newConnection(self, sock): - """ - Public slot to handle a new connection. - - @param sock reference to the socket object (QTcpSocket) - @return flag indicating success (boolean) - """ - # If we already have a connection, refuse this one. It will be closed - # automatically. - if self.qsock is not None: - return False - - sock.disconnected.connect(self.debugServer.startClient) - sock.readyRead.connect(self.__parseClientLine) - - self.qsock = sock - - # Get the remote clients capabilities - self.remoteCapabilities() - return True - - def flush(self): - """ - Public slot to flush the queue. - """ - # Send commands that were waiting for the connection. - for cmd in self.queue: - self.qsock.write(cmd.encode('utf8', 'backslashreplace')) - - self.queue = [] - - def shutdown(self): - """ - Public method to cleanly shut down. - - It closes our socket and shuts down - the debug client. (Needed on Win OS) - """ - if self.qsock is None: - return - - # do not want any slots called during shutdown - self.qsock.disconnected.disconnect(self.debugServer.startClient) - self.qsock.readyRead.disconnect(self.__parseClientLine) - - # close down socket, and shut down client as well. - self.__sendJsonCommand("RequestShutdown", {}) - self.qsock.flush() - self.qsock.close() - - # reinitialize - self.qsock = None - self.queue = [] - - def isConnected(self): - """ - Public method to test, if a debug client has connected. - - @return flag indicating the connection status (boolean) - """ - return self.qsock is not None - - def remoteEnvironment(self, env): - """ - Public method to set the environment for a program to debug, run, ... - - @param env environment settings (dictionary) - """ - self.__sendJsonCommand("RequestEnvironment", {"environment": env}) - - def remoteLoad(self, fn, argv, wd, traceInterpreter=False, - autoContinue=True, autoFork=False, forkChild=False): - """ - Public method to load a new program to debug. - - @param fn the filename to debug (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam traceInterpreter flag indicating if the interpreter library - should be traced as well (boolean) - @keyparam autoContinue flag indicating, that the debugger should not - stop at the first executable line (boolean) - @keyparam autoFork flag indicating the automatic fork mode (boolean) - @keyparam forkChild flag indicating to debug the child after forking - (boolean) - """ - self.__autoContinue = autoContinue - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestLoad", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "traceInterpreter": traceInterpreter, - "autofork": autoFork, - "forkChild": forkChild, - }) - - def remoteRun(self, fn, argv, wd, autoFork=False, forkChild=False): - """ - Public method to load a new program to run. - - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam autoFork flag indicating the automatic fork mode (boolean) - @keyparam forkChild flag indicating to debug the child after forking - (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestRun", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "autofork": autoFork, - "forkChild": forkChild, - }) - - def remoteCoverage(self, fn, argv, wd, erase=False): - """ - Public method to load a new program to collect coverage data. - - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam erase flag indicating that coverage info should be - cleared first (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestCoverage", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "erase": erase, - }) - - def remoteProfile(self, fn, argv, wd, erase=False): - """ - Public method to load a new program to collect profiling data. - - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam erase flag indicating that timing info should be cleared - first (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestProfile", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "erase": erase, - }) - - def remoteStatement(self, stmt): - """ - Public method to execute a Python statement. - - @param stmt the Python statement to execute (string). It - should not have a trailing newline. - """ - self.__sendJsonCommand("ExecuteStatement", { - "statement": stmt, - }) - - def remoteStep(self): - """ - Public method to single step the debugged program. - """ - self.__sendJsonCommand("RequestStep", {}) - - def remoteStepOver(self): - """ - Public method to step over the debugged program. - """ - self.__sendJsonCommand("RequestStepOver", {}) - - def remoteStepOut(self): - """ - Public method to step out the debugged program. - """ - self.__sendJsonCommand("RequestStepOut", {}) - - def remoteStepQuit(self): - """ - Public method to stop the debugged program. - """ - self.__sendJsonCommand("RequestStepQuit", {}) - - def remoteContinue(self, special=False): - """ - Public method to continue the debugged program. - - @param special flag indicating a special continue operation (boolean) - """ - self.__sendJsonCommand("RequestContinue", { - "special": special, - }) - - def remoteMoveIP(self, line): - """ - Public method to move the instruction pointer to a different line. - - @param line the new line, where execution should be continued - """ - self.__sendJsonCommand("RequestMoveIP", { - "newLine": line, - }) - - def remoteBreakpoint(self, fn, line, setBreakpoint, cond=None, temp=False): - """ - Public method to set or clear a breakpoint. - - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param setBreakpoint flag indicating setting or resetting a - breakpoint (boolean) - @param cond condition of the breakpoint (string) - @param temp flag indicating a temporary breakpoint (boolean) - """ - self.__sendJsonCommand("RequestBreakpoint", { - "filename": self.translate(fn, False), - "line": line, - "temporary": temp, - "setBreakpoint": setBreakpoint, - "condition": cond, - }) - - def remoteBreakpointEnable(self, fn, line, enable): - """ - Public method to enable or disable a breakpoint. - - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param enable flag indicating enabling or disabling a breakpoint - (boolean) - """ - self.__sendJsonCommand("RequestBreakpointEnable", { - "filename": self.translate(fn, False), - "line": line, - "enable": enable, - }) - - def remoteBreakpointIgnore(self, fn, line, count): - """ - Public method to ignore a breakpoint the next couple of occurrences. - - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param count number of occurrences to ignore (int) - """ - self.__sendJsonCommand("RequestBreakpointIgnore", { - "filename": self.translate(fn, False), - "line": line, - "count": count, - }) - - def remoteWatchpoint(self, cond, setWatch, temp=False): - """ - Public method to set or clear a watch expression. - - @param cond expression of the watch expression (string) - @param setWatch flag indicating setting or resetting a watch expression - (boolean) - @param temp flag indicating a temporary watch expression (boolean) - """ - # cond is combination of cond and special (s. watch expression viewer) - self.__sendJsonCommand("RequestWatch", { - "temporary": temp, - "setWatch": setWatch, - "condition": cond, - }) - - def remoteWatchpointEnable(self, cond, enable): - """ - Public method to enable or disable a watch expression. - - @param cond expression of the watch expression (string) - @param enable flag indicating enabling or disabling a watch expression - (boolean) - """ - # cond is combination of cond and special (s. watch expression viewer) - self.__sendJsonCommand("RequestWatchEnable", { - "condition": cond, - "enable": enable, - }) - - def remoteWatchpointIgnore(self, cond, count): - """ - Public method to ignore a watch expression the next couple of - occurrences. - - @param cond expression of the watch expression (string) - @param count number of occurrences to ignore (int) - """ - # cond is combination of cond and special (s. watch expression viewer) - self.__sendJsonCommand("RequestWatchIgnore", { - "condition": cond, - "count": count, - }) - - def remoteRawInput(self, s): - """ - Public method to send the raw input to the debugged program. - - @param s the raw input (string) - """ - self.__sendJsonCommand("RawInput", { - "input": s, - }) - - def remoteThreadList(self): - """ - Public method to request the list of threads from the client. - """ - self.__sendJsonCommand("RequestThreadList", {}) - - def remoteSetThread(self, tid): - """ - Public method to request to set the given thread as current thread. - - @param tid id of the thread (integer) - """ - self.__sendJsonCommand("RequestThreadSet", { - "threadID": tid, - }) - - def remoteClientVariables(self, scope, filterList, framenr=0): - """ - Public method to request the variables of the debugged program. - - @param scope the scope of the variables (0 = local, 1 = global) - @param filterList list of variable types to filter out (list of int) - @param framenr framenumber of the variables to retrieve (int) - """ - self.__sendJsonCommand("RequestVariables", { - "frameNumber": framenr, - "scope": scope, - "filters": filterList, - }) - - def remoteClientVariable(self, scope, filterList, var, framenr=0): - """ - Public method to request the variables of the debugged program. - - @param scope the scope of the variables (0 = local, 1 = global) - @param filterList list of variable types to filter out (list of int) - @param var list encoded name of variable to retrieve (string) - @param framenr framenumber of the variables to retrieve (int) - """ - self.__sendJsonCommand("RequestVariable", { - "variable": var, - "frameNumber": framenr, - "scope": scope, - "filters": filterList, - }) - - def remoteClientSetFilter(self, scope, filterStr): - """ - Public method to set a variables filter list. - - @param scope the scope of the variables (0 = local, 1 = global) - @param filterStr regexp string for variable names to filter out - (string) - """ - self.__sendJsonCommand("RequestSetFilter", { - "scope": scope, - "filter": filterStr, - }) - - def setCallTraceEnabled(self, on): - """ - Public method to set the call trace state. - - @param on flag indicating to enable the call trace function (boolean) - """ - self.__sendJsonCommand("RequestCallTrace", { - "enable": on, - }) - - def remoteBanner(self): - """ - Public slot to get the banner info of the remote client. - """ - self.__sendJsonCommand("RequestBanner", {}) - - def remoteCapabilities(self): - """ - Public slot to get the debug clients capabilities. - """ - self.__sendJsonCommand("RequestCapabilities", {}) - - def remoteCompletion(self, text): - """ - Public slot to get the a list of possible commandline completions - from the remote client. - - @param text the text to be completed (string) - """ - self.__sendJsonCommand("RequestCompletion", { - "text": text, - }) - - def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase): - """ - Public method to prepare a new unittest run. - - @param fn the filename to load (string) - @param tn the testname to load (string) - @param tfn the test function name to load tests from (string) - @param failed list of failed test, if only failed test should be run - (list of strings) - @param cov flag indicating collection of coverage data is requested - (boolean) - @param covname filename to be used to assemble the coverage caches - filename (string) - @param coverase flag indicating erasure of coverage data is requested - (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestUTPrepare", { - "filename": fn, - "testname": tn, - "testfunctionname": tfn, - "failed": failed, - "coverage": cov, - "coveragefile": covname, - "coverageerase": coverase, - }) - - def remoteUTRun(self): - """ - Public method to start a unittest run. - """ - self.__sendJsonCommand("RequestUTRun", {}) - - def remoteUTStop(self): - """ - Public method to stop a unittest run. - """ - self.__sendJsonCommand("RequestUTStop", {}) - - def __askForkTo(self): - """ - Private method to ask the user which branch of a fork to follow. - """ - selections = [self.tr("Parent Process"), - self.tr("Child process")] - res, ok = QInputDialog.getItem( - None, - self.tr("Client forking"), - self.tr("Select the fork branch to follow."), - selections, - 0, False) - if not ok or res == selections[0]: - self.__sendJsonCommand("ResponseForkTo", { - "target": "parent", - }) - else: - self.__sendJsonCommand("ResponseForkTo", { - "target": "child", - }) - - def __parseClientLine(self): - """ - Private method to handle data from the client. - """ - while self.qsock and self.qsock.canReadLine(): - qs = self.qsock.readLine() - if self.codec is not None: - line = self.codec.toUnicode(qs) - else: - line = bytes(qs).decode() - -## print("Server: ", line) ##debug - - self.__handleJsonCommand(line) - continue - - def __handleJsonCommand(self, jsonStr): - """ - Private method to handle a command or response serialized as a - JSON string. - - @param jsonStr string containing the command or response received - from the debug backend - @type str - """ - import json - - try: - commandDict = json.loads(jsonStr.strip()) - except (TypeError, ValueError) as err: - E5MessageBox.critical( - None, - self.tr("Debug Protocol Error"), - self.tr("""<p>The response received from the debugger""" - """ backend could not be decoded. Please report""" - """ this issue with the received data to the""" - """ eric bugs email address.</p>""" - """<p>Error: {0}</p>""" - """<p>Data:<br/>{0}</p>""").format( - str(err), Utilities.html_encode(jsonStr.strip())), - E5MessageBox.StandardButtons( - E5MessageBox.Ok)) - return - - method = commandDict["method"] - params = commandDict["params"] - - if method == "ClientOutput": - self.debugServer.signalClientOutput(params["text"]) - - elif method in ["ResponseLine", "ResponseStack"]: - # Check if obsolet thread was clicked - if params["stack"] == []: - # Request updated list - self.remoteThreadList() - return - for s in params["stack"]: - s[0] = self.translate(s[0], True) - cf = params["stack"][0] - if self.__autoContinue: - self.__autoContinue = False - QTimer.singleShot(0, self.remoteContinue) - else: - self.debugServer.signalClientLine( - cf[0], int(cf[1]), - method == "ResponseStack") - self.debugServer.signalClientStack(params["stack"]) - - elif method == "CallTrace": - isCall = params["event"].lower() == "c" - fromInfo = params["from"] - toInfo = params["to"] - self.debugServer.signalClientCallTrace( - isCall, - fromInfo["filename"], str(fromInfo["linenumber"]), - fromInfo["codename"], - toInfo["filename"], str(toInfo["linenumber"]), - toInfo["codename"]) - - elif method == "ResponseVariables": - self.debugServer.signalClientVariables( - params["scope"], params["variables"]) - - elif method == "ResponseVariable": - self.debugServer.signalClientVariable( - params["scope"], [params["variable"]] + params["variables"]) - - elif method == "ResponseThreadList": - self.debugServer.signalClientThreadList( - params["currentID"], params["threadList"]) - - elif method == "ResponseThreadSet": - self.debugServer.signalClientThreadSet() - - elif method == "ResponseCapabilities": - self.clientCapabilities = params["capabilities"] - self.debugServer.signalClientCapabilities( - params["capabilities"], params["clientType"]) - - elif method == "ResponseBanner": - self.debugServer.signalClientBanner( - params["version"], - params["platform"], - params["dbgclient"]) - - elif method == "ResponseOK": - self.debugServer.signalClientStatement(False) - - elif method == "ResponseContinue": - self.debugServer.signalClientStatement(True) - - elif method == "RequestRaw": - self.debugServer.signalClientRawInput( - params["prompt"], params["echo"]) - - elif method == "ResponseBPConditionError": - fn = self.translate(params["filename"], True) - self.debugServer.signalClientBreakConditionError( - fn, params["line"]) - - elif method == "ResponseClearBreakpoint": - fn = self.translate(params["filename"], True) - self.debugServer.signalClientClearBreak(fn, params["line"]) - - elif method == "ResponseWatchConditionError": - self.debugServer.signalClientWatchConditionError( - params["condition"]) - - elif method == "ResponseClearWatch": - self.debugServer.signalClientClearWatch(params["condition"]) - - elif method == "ResponseException": - if params: - exctype = params["type"] - excmessage = params["message"] - stack = params["stack"] - if stack: - for stackEntry in stack: - stackEntry[0] = self.translate(stackEntry[0], True) - if stack[0] and stack[0][0] == "<string>": - for stackEntry in stack: - if stackEntry[0] == "<string>": - stackEntry[0] = self.__scriptName - else: - break - else: - exctype = '' - excmessage = '' - stack = [] - - self.debugServer.signalClientException( - exctype, excmessage, stack) - - elif method == "ResponseSyntax": - self.debugServer.signalClientSyntaxError( - params["message"], self.translate(params["filename"], True), - params["linenumber"], params["characternumber"]) - - elif method == "ResponseSignal": - self.debugServer.signalClientSignal( - params["message"], self.translate(params["filename"], True), - params["linenumber"], params["function"], params["arguments"]) - - elif method == "ResponseExit": - self.__scriptName = "" - self.debugServer.signalClientExit( - params["status"], params["message"]) - - elif method == "PassiveStartup": - self.debugServer.passiveStartUp( - self.translate(params["filename"], True), params["exceptions"]) - - elif method == "ResponseCompletion": - self.debugServer.signalClientCompletionList( - params["completions"], params["text"]) - - elif method == "ResponseUTPrepared": - self.debugServer.clientUtPrepared( - params["count"], params["exception"], params["message"]) - - elif method == "ResponseUTFinished": - self.debugServer.clientUtFinished() - - elif method == "ResponseUTStartTest": - self.debugServer.clientUtStartTest( - params["testname"], params["description"]) - - elif method == "ResponseUTStopTest": - self.debugServer.clientUtStopTest() - - elif method == "ResponseUTTestFailed": - self.debugServer.clientUtTestFailed( - params["testname"], params["traceback"], params["id"]) - - elif method == "ResponseUTTestErrored": - self.debugServer.clientUtTestErrored( - params["testname"], params["traceback"], params["id"]) - - elif method == "ResponseUTTestSkipped": - self.debugServer.clientUtTestSkipped( - params["testname"], params["reason"], params["id"]) - - elif method == "ResponseUTTestFailedExpected": - self.debugServer.clientUtTestFailedExpected( - params["testname"], params["traceback"], params["id"]) - - elif method == "ResponseUTTestSucceededUnexpected": - self.debugServer.clientUtTestSucceededUnexpected( - params["testname"], params["id"]) - - elif method == "RequestForkTo": - self.__askForkTo() - - def __sendJsonCommand(self, command, params): - """ - Private method to send a single command to the client. - - @param command command name to be sent - @type str - @param params dictionary of named parameters for the command - @type dict - """ - import json - - commandDict = { - "jsonrpc": "2.0", - "method": command, - "params": params, - } - cmd = json.dumps(commandDict) + '\n' - if self.qsock is not None: - self.qsock.write(cmd.encode('utf8', 'backslashreplace')) - else: - self.queue.append(cmd) - - -def createDebuggerInterfacePython2(debugServer, passive): - """ - Module function to create a debugger interface instance. - - - @param debugServer reference to the debug server - @type DebugServer - @param passive flag indicating passive connection mode - @type bool - @return instantiated debugger interface - @rtype DebuggerInterfacePython - """ - return DebuggerInterfacePython2(debugServer, passive) - - -def getRegistryData(): - """ - Module function to get characterizing data for the debugger interface. - - @return tuple containing client type, client capabilities, client file - type associations and reference to creation function - @rtype tuple of (str, int, list of str, function) - """ - exts = [] - for ext in Preferences.getDebugger("PythonExtensions").split(): - if ext.startswith("."): - exts.append(ext) - else: - exts.append(".{0}".format(ext)) - - if exts and Preferences.getDebugger("PythonInterpreter"): - return ["Python2", ClientDefaultCapabilities, exts, - createDebuggerInterfacePython2] - else: - return ["", 0, [], None]
--- a/Debugger/DebuggerInterfacePython3.py Thu Aug 03 14:50:59 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1102 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2009 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the Python3 debugger interface for the debug server. -""" - -from __future__ import unicode_literals - -import sys -import os - -from PyQt5.QtCore import QObject, QTextCodec, QProcess, QProcessEnvironment, \ - QTimer -from PyQt5.QtWidgets import QInputDialog - -from E5Gui.E5Application import e5App -from E5Gui import E5MessageBox - -from . import DebugClientCapabilities - -import Preferences -import Utilities - -from eric6config import getConfig - - -ClientDefaultCapabilities = DebugClientCapabilities.HasAll - - -class DebuggerInterfacePython3(QObject): - """ - Class implementing the Python 3 debugger interface for the debug server. - """ - def __init__(self, debugServer, passive): - """ - Constructor - - @param debugServer reference to the debug server (DebugServer) - @param passive flag indicating passive connection mode (boolean) - """ - super(DebuggerInterfacePython3, self).__init__() - - self.__isNetworked = True - self.__autoContinue = False - - self.debugServer = debugServer - self.passive = passive - self.process = None - - self.qsock = None - self.queue = [] - - # set default values for capabilities of clients - self.clientCapabilities = ClientDefaultCapabilities - - # set translation function - self.translate = self.__identityTranslation - - self.codec = QTextCodec.codecForName( - str(Preferences.getSystem("StringEncoding"))) - - if passive: - # set translation function - if Preferences.getDebugger("PathTranslation"): - self.translateRemote = \ - Preferences.getDebugger("PathTranslationRemote") - self.translateLocal = \ - Preferences.getDebugger("PathTranslationLocal") - self.translate = self.__remoteTranslation - else: - self.translate = self.__identityTranslation - - # attribute to remember the name of the executed script - self.__scriptName = "" - - def __identityTranslation(self, fn, remote2local=True): - """ - Private method to perform the identity path translation. - - @param fn filename to be translated (string) - @param remote2local flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) - @return translated filename (string) - """ - return fn - - def __remoteTranslation(self, fn, remote2local=True): - """ - Private method to perform the path translation. - - @param fn filename to be translated (string) - @param remote2local flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) - @return translated filename (string) - """ - if remote2local: - return fn.replace(self.translateRemote, self.translateLocal) - else: - return fn.replace(self.translateLocal, self.translateRemote) - - def __startProcess(self, program, arguments, environment=None): - """ - Private method to start the debugger client process. - - @param program name of the executable to start (string) - @param arguments arguments to be passed to the program (list of string) - @param environment dictionary of environment settings to pass - (dict of string) - @return the process object (QProcess) or None - """ - proc = QProcess() - if environment is not None: - env = QProcessEnvironment() - for key, value in list(environment.items()): - env.insert(key, value) - proc.setProcessEnvironment(env) - args = [] - for arg in arguments: - args.append(arg) - proc.start(program, args) - if not proc.waitForStarted(10000): - proc = None - - return proc - - def startRemote(self, port, runInConsole): - """ - Public method to start a remote Python interpreter. - - @param port portnumber the debug server is listening on (integer) - @param runInConsole flag indicating to start the debugger in a - console window (boolean) - @return client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) - """ - interpreter = Preferences.getDebugger("Python3Interpreter") - if interpreter == "": - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>No Python3 interpreter configured.</p>""")) - return None, False, "" - - debugClientType = Preferences.getDebugger("DebugClientType3") - if debugClientType == "standard": - debugClient = os.path.join(getConfig('ericDir'), - "DebugClients", "Python", - "DebugClient.py") - else: - debugClient = Preferences.getDebugger("DebugClient3") - if debugClient == "": - debugClient = os.path.join(sys.path[0], - "DebugClients", "Python", - "DebugClient.py") - - redirect = str(Preferences.getDebugger("Python3Redirect")) - noencoding = Preferences.getDebugger("Python3NoEncoding") and \ - '--no-encoding' or '' - - if Preferences.getDebugger("RemoteDbgEnabled"): - ipaddr = self.debugServer.getHostAddress(False) - rexec = Preferences.getDebugger("RemoteExecution") - rhost = Preferences.getDebugger("RemoteHost") - if rhost == "": - rhost = "localhost" - if rexec: - args = Utilities.parseOptionString(rexec) + \ - [rhost, interpreter, debugClient, - noencoding, str(port), redirect, ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:]) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - - # set translation function - if Preferences.getDebugger("PathTranslation"): - self.translateRemote = \ - Preferences.getDebugger("PathTranslationRemote") - self.translateLocal = \ - Preferences.getDebugger("PathTranslationLocal") - self.translate = self.__remoteTranslation - else: - self.translate = self.__identityTranslation - return process, self.__isNetworked, "" - - # set translation function - self.translate = self.__identityTranslation - - # setup the environment for the debugger - if Preferences.getDebugger("DebugEnvironmentReplace"): - clientEnv = {} - else: - clientEnv = os.environ.copy() - envlist = Utilities.parseEnvironmentString( - Preferences.getDebugger("DebugEnvironment")) - for el in envlist: - try: - key, value = el.split('=', 1) - if value.startswith('"') or value.startswith("'"): - value = value[1:-1] - clientEnv[str(key)] = str(value) - except ValueError: - pass - - ipaddr = self.debugServer.getHostAddress(True) - if runInConsole or Preferences.getDebugger("ConsoleDbgEnabled"): - ccmd = Preferences.getDebugger("ConsoleDbgCommand") - if ccmd: - args = Utilities.parseOptionString(ccmd) + \ - [interpreter, os.path.abspath(debugClient), - noencoding, str(port), '0', ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:], clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - return process, self.__isNetworked, interpreter - - process = self.__startProcess( - interpreter, - [debugClient, noencoding, str(port), redirect, ipaddr], - clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be started.</p>""")) - return process, self.__isNetworked, interpreter - - def startRemoteForProject(self, port, runInConsole): - """ - Public method to start a remote Python interpreter for a project. - - @param port portnumber the debug server is listening on (integer) - @param runInConsole flag indicating to start the debugger in a - console window (boolean) - @return client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) - """ - project = e5App().getObject("Project") - if not project.isDebugPropertiesLoaded(): - return None, self.__isNetworked, "" - - # start debugger with project specific settings - interpreter = project.getDebugProperty("INTERPRETER") - debugClient = project.getDebugProperty("DEBUGCLIENT") - - redirect = str(project.getDebugProperty("REDIRECT")) - noencoding = \ - project.getDebugProperty("NOENCODING") and '--no-encoding' or '' - - if project.getDebugProperty("REMOTEDEBUGGER"): - ipaddr = self.debugServer.getHostAddress(False) - rexec = project.getDebugProperty("REMOTECOMMAND") - rhost = project.getDebugProperty("REMOTEHOST") - if rhost == "": - rhost = "localhost" - if rexec: - args = Utilities.parseOptionString(rexec) + \ - [rhost, interpreter, os.path.abspath(debugClient), - noencoding, str(port), redirect, ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:]) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - # set translation function - if project.getDebugProperty("PATHTRANSLATION"): - self.translateRemote = \ - project.getDebugProperty("REMOTEPATH") - self.translateLocal = \ - project.getDebugProperty("LOCALPATH") - self.translate = self.__remoteTranslation - else: - self.translate = self.__identityTranslation - return process, self.__isNetworked, "" - - # set translation function - self.translate = self.__identityTranslation - - # setup the environment for the debugger - if project.getDebugProperty("ENVIRONMENTOVERRIDE"): - clientEnv = {} - else: - clientEnv = os.environ.copy() - envlist = Utilities.parseEnvironmentString( - project.getDebugProperty("ENVIRONMENTSTRING")) - for el in envlist: - try: - key, value = el.split('=', 1) - if value.startswith('"') or value.startswith("'"): - value = value[1:-1] - clientEnv[str(key)] = str(value) - except ValueError: - pass - - ipaddr = self.debugServer.getHostAddress(True) - if runInConsole or project.getDebugProperty("CONSOLEDEBUGGER"): - ccmd = project.getDebugProperty("CONSOLECOMMAND") or \ - Preferences.getDebugger("ConsoleDbgCommand") - if ccmd: - args = Utilities.parseOptionString(ccmd) + \ - [interpreter, os.path.abspath(debugClient), - noencoding, str(port), '0', ipaddr] - args[0] = Utilities.getExecutablePath(args[0]) - process = self.__startProcess(args[0], args[1:], clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be""" - """ started.</p>""")) - return process, self.__isNetworked, interpreter - - process = self.__startProcess( - interpreter, - [debugClient, noencoding, str(port), redirect, ipaddr], - clientEnv) - if process is None: - E5MessageBox.critical( - None, - self.tr("Start Debugger"), - self.tr( - """<p>The debugger backend could not be started.</p>""")) - return process, self.__isNetworked, interpreter - - def getClientCapabilities(self): - """ - Public method to retrieve the debug clients capabilities. - - @return debug client capabilities (integer) - """ - return self.clientCapabilities - - def newConnection(self, sock): - """ - Public slot to handle a new connection. - - @param sock reference to the socket object (QTcpSocket) - @return flag indicating success (boolean) - """ - # If we already have a connection, refuse this one. It will be closed - # automatically. - if self.qsock is not None: - return False - - sock.disconnected.connect(self.debugServer.startClient) - sock.readyRead.connect(self.__parseClientLine) - - self.qsock = sock - - # Get the remote clients capabilities - self.remoteCapabilities() - return True - - def flush(self): - """ - Public slot to flush the queue. - """ - # Send commands that were waiting for the connection. - for cmd in self.queue: - self.qsock.write(cmd.encode('utf8', 'backslashreplace')) - - self.queue = [] - - def shutdown(self): - """ - Public method to cleanly shut down. - - It closes our socket and shuts down - the debug client. (Needed on Win OS) - """ - if self.qsock is None: - return - - # do not want any slots called during shutdown - self.qsock.disconnected.disconnect(self.debugServer.startClient) - self.qsock.readyRead.disconnect(self.__parseClientLine) - - # close down socket, and shut down client as well. - self.__sendJsonCommand("RequestShutdown", {}) - self.qsock.flush() - self.qsock.close() - - # reinitialize - self.qsock = None - self.queue = [] - - def isConnected(self): - """ - Public method to test, if a debug client has connected. - - @return flag indicating the connection status (boolean) - """ - return self.qsock is not None - - def remoteEnvironment(self, env): - """ - Public method to set the environment for a program to debug, run, ... - - @param env environment settings (dictionary) - """ - self.__sendJsonCommand("RequestEnvironment", {"environment": env}) - - def remoteLoad(self, fn, argv, wd, traceInterpreter=False, - autoContinue=True, autoFork=False, forkChild=False): - """ - Public method to load a new program to debug. - - @param fn the filename to debug (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam traceInterpreter flag indicating if the interpreter library - should be traced as well (boolean) - @keyparam autoContinue flag indicating, that the debugger should not - stop at the first executable line (boolean) - @keyparam autoFork flag indicating the automatic fork mode (boolean) - @keyparam forkChild flag indicating to debug the child after forking - (boolean) - """ - self.__autoContinue = autoContinue - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestLoad", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "traceInterpreter": traceInterpreter, - "autofork": autoFork, - "forkChild": forkChild, - }) - - def remoteRun(self, fn, argv, wd, autoFork=False, forkChild=False): - """ - Public method to load a new program to run. - - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam autoFork flag indicating the automatic fork mode (boolean) - @keyparam forkChild flag indicating to debug the child after forking - (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestRun", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "autofork": autoFork, - "forkChild": forkChild, - }) - - def remoteCoverage(self, fn, argv, wd, erase=False): - """ - Public method to load a new program to collect coverage data. - - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam erase flag indicating that coverage info should be - cleared first (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestCoverage", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "erase": erase, - }) - - def remoteProfile(self, fn, argv, wd, erase=False): - """ - Public method to load a new program to collect profiling data. - - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam erase flag indicating that timing info should be cleared - first (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - wd = self.translate(wd, False) - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestProfile", { - "workdir": wd, - "filename": fn, - "argv": Utilities.parseOptionString(argv), - "erase": erase, - }) - - def remoteStatement(self, stmt): - """ - Public method to execute a Python statement. - - @param stmt the Python statement to execute (string). It - should not have a trailing newline. - """ - self.__sendJsonCommand("ExecuteStatement", { - "statement": stmt, - }) - - def remoteStep(self): - """ - Public method to single step the debugged program. - """ - self.__sendJsonCommand("RequestStep", {}) - - def remoteStepOver(self): - """ - Public method to step over the debugged program. - """ - self.__sendJsonCommand("RequestStepOver", {}) - - def remoteStepOut(self): - """ - Public method to step out the debugged program. - """ - self.__sendJsonCommand("RequestStepOut", {}) - - def remoteStepQuit(self): - """ - Public method to stop the debugged program. - """ - self.__sendJsonCommand("RequestStepQuit", {}) - - def remoteContinue(self, special=False): - """ - Public method to continue the debugged program. - - @param special flag indicating a special continue operation - """ - self.__sendJsonCommand("RequestContinue", { - "special": special, - }) - - def remoteMoveIP(self, line): - """ - Public method to move the instruction pointer to a different line. - - @param line the new line, where execution should be continued - """ - self.__sendJsonCommand("RequestMoveIP", { - "newLine": line, - }) - - def remoteBreakpoint(self, fn, line, setBreakpoint, cond=None, temp=False): - """ - Public method to set or clear a breakpoint. - - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param setBreakpoint flag indicating setting or resetting a - breakpoint (boolean) - @param cond condition of the breakpoint (string) - @param temp flag indicating a temporary breakpoint (boolean) - """ - self.__sendJsonCommand("RequestBreakpoint", { - "filename": self.translate(fn, False), - "line": line, - "temporary": temp, - "setBreakpoint": setBreakpoint, - "condition": cond, - }) - - def remoteBreakpointEnable(self, fn, line, enable): - """ - Public method to enable or disable a breakpoint. - - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param enable flag indicating enabling or disabling a breakpoint - (boolean) - """ - self.__sendJsonCommand("RequestBreakpointEnable", { - "filename": self.translate(fn, False), - "line": line, - "enable": enable, - }) - - def remoteBreakpointIgnore(self, fn, line, count): - """ - Public method to ignore a breakpoint the next couple of occurrences. - - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param count number of occurrences to ignore (int) - """ - self.__sendJsonCommand("RequestBreakpointIgnore", { - "filename": self.translate(fn, False), - "line": line, - "count": count, - }) - - def remoteWatchpoint(self, cond, setWatch, temp=False): - """ - Public method to set or clear a watch expression. - - @param cond expression of the watch expression (string) - @param setWatch flag indicating setting or resetting a watch expression - (boolean) - @param temp flag indicating a temporary watch expression (boolean) - """ - # cond is combination of cond and special (s. watch expression viewer) - self.__sendJsonCommand("RequestWatch", { - "temporary": temp, - "setWatch": setWatch, - "condition": cond, - }) - - def remoteWatchpointEnable(self, cond, enable): - """ - Public method to enable or disable a watch expression. - - @param cond expression of the watch expression (string) - @param enable flag indicating enabling or disabling a watch expression - (boolean) - """ - # cond is combination of cond and special (s. watch expression viewer) - self.__sendJsonCommand("RequestWatchEnable", { - "condition": cond, - "enable": enable, - }) - - def remoteWatchpointIgnore(self, cond, count): - """ - Public method to ignore a watch expression the next couple of - occurrences. - - @param cond expression of the watch expression (string) - @param count number of occurrences to ignore (int) - """ - # cond is combination of cond and special (s. watch expression viewer) - self.__sendJsonCommand("RequestWatchIgnore", { - "condition": cond, - "count": count, - }) - - def remoteRawInput(self, s): - """ - Public method to send the raw input to the debugged program. - - @param s the raw input (string) - """ - self.__sendJsonCommand("RawInput", { - "input": s, - }) - - def remoteThreadList(self): - """ - Public method to request the list of threads from the client. - """ - self.__sendJsonCommand("RequestThreadList", {}) - - def remoteSetThread(self, tid): - """ - Public method to request to set the given thread as current thread. - - @param tid id of the thread (integer) - """ - self.__sendJsonCommand("RequestThreadSet", { - "threadID": tid, - }) - - def remoteClientVariables(self, scope, filterList, framenr=0): - """ - Public method to request the variables of the debugged program. - - @param scope the scope of the variables (0 = local, 1 = global) - @param filterList list of variable types to filter out (list of int) - @param framenr framenumber of the variables to retrieve (int) - """ - self.__sendJsonCommand("RequestVariables", { - "frameNumber": framenr, - "scope": scope, - "filters": filterList, - }) - - def remoteClientVariable(self, scope, filterList, var, framenr=0): - """ - Public method to request the variables of the debugged program. - - @param scope the scope of the variables (0 = local, 1 = global) - @param filterList list of variable types to filter out (list of int) - @param var list encoded name of variable to retrieve (string) - @param framenr framenumber of the variables to retrieve (int) - """ - self.__sendJsonCommand("RequestVariable", { - "variable": var, - "frameNumber": framenr, - "scope": scope, - "filters": filterList, - }) - - def remoteClientSetFilter(self, scope, filterStr): - """ - Public method to set a variables filter list. - - @param scope the scope of the variables (0 = local, 1 = global) - @param filterStr regexp string for variable names to filter out - (string) - """ - self.__sendJsonCommand("RequestSetFilter", { - "scope": scope, - "filter": filterStr, - }) - - def setCallTraceEnabled(self, on): - """ - Public method to set the call trace state. - - @param on flag indicating to enable the call trace function (boolean) - """ - self.__sendJsonCommand("RequestCallTrace", { - "enable": on, - }) - - def remoteBanner(self): - """ - Public slot to get the banner info of the remote client. - """ - self.__sendJsonCommand("RequestBanner", {}) - - def remoteCapabilities(self): - """ - Public slot to get the debug clients capabilities. - """ - self.__sendJsonCommand("RequestCapabilities", {}) - - def remoteCompletion(self, text): - """ - Public slot to get the a list of possible commandline completions - from the remote client. - - @param text the text to be completed (string) - """ - self.__sendJsonCommand("RequestCompletion", { - "text": text, - }) - - def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase): - """ - Public method to prepare a new unittest run. - - @param fn the filename to load (string) - @param tn the testname to load (string) - @param tfn the test function name to load tests from (string) - @param failed list of failed test, if only failed test should be run - (list of strings) - @param cov flag indicating collection of coverage data is requested - (boolean) - @param covname filename to be used to assemble the coverage caches - filename (string) - @param coverase flag indicating erasure of coverage data is requested - (boolean) - """ - self.__scriptName = os.path.abspath(fn) - - fn = self.translate(os.path.abspath(fn), False) - self.__sendJsonCommand("RequestUTPrepare", { - "filename": fn, - "testname": tn, - "testfunctionname": tfn, - "failed": failed, - "coverage": cov, - "coveragefile": covname, - "coverageerase": coverase, - }) - - def remoteUTRun(self): - """ - Public method to start a unittest run. - """ - self.__sendJsonCommand("RequestUTRun", {}) - - def remoteUTStop(self): - """ - Public method to stop a unittest run. - """ - self.__sendJsonCommand("RequestUTStop", {}) - - def __askForkTo(self): - """ - Private method to ask the user which branch of a fork to follow. - """ - selections = [self.tr("Parent Process"), - self.tr("Child process")] - res, ok = QInputDialog.getItem( - None, - self.tr("Client forking"), - self.tr("Select the fork branch to follow."), - selections, - 0, False) - if not ok or res == selections[0]: - self.__sendJsonCommand("ResponseForkTo", { - "target": "parent", - }) - else: - self.__sendJsonCommand("ResponseForkTo", { - "target": "child", - }) - - def __parseClientLine(self): - """ - Private method to handle data from the client. - """ - while self.qsock and self.qsock.canReadLine(): - qs = self.qsock.readLine() - if self.codec is not None: - line = self.codec.toUnicode(qs) - else: - line = bytes(qs).decode() - -## print("Server: ", line) ##debug - - self.__handleJsonCommand(line) - continue - - def __handleJsonCommand(self, jsonStr): - """ - Private method to handle a command or response serialized as a - JSON string. - - @param jsonStr string containing the command or response received - from the debug backend - @type str - """ - import json - - try: - commandDict = json.loads(jsonStr.strip()) - except (TypeError, ValueError) as err: - E5MessageBox.critical( - None, - self.tr("Debug Protocol Error"), - self.tr("""<p>The response received from the debugger""" - """ backend could not be decoded. Please report""" - """ this issue with the received data to the""" - """ eric bugs email address.</p>""" - """<p>Error: {0}</p>""" - """<p>Data:<br/>{0}</p>""").format( - str(err), Utilities.html_encode(jsonStr.strip())), - E5MessageBox.StandardButtons( - E5MessageBox.Ok)) - return - - method = commandDict["method"] - params = commandDict["params"] - - if method == "ClientOutput": - self.debugServer.signalClientOutput(params["text"]) - - elif method in ["ResponseLine", "ResponseStack"]: - # Check if obsolet thread was clicked - if params["stack"] == []: - # Request updated list - self.remoteThreadList() - return - for s in params["stack"]: - s[0] = self.translate(s[0], True) - cf = params["stack"][0] - if self.__autoContinue: - self.__autoContinue = False - QTimer.singleShot(0, self.remoteContinue) - else: - self.debugServer.signalClientLine( - cf[0], int(cf[1]), - method == "ResponseStack") - self.debugServer.signalClientStack(params["stack"]) - - elif method == "CallTrace": - isCall = params["event"].lower() == "c" - fromInfo = params["from"] - toInfo = params["to"] - self.debugServer.signalClientCallTrace( - isCall, - fromInfo["filename"], str(fromInfo["linenumber"]), - fromInfo["codename"], - toInfo["filename"], str(toInfo["linenumber"]), - toInfo["codename"]) - - elif method == "ResponseVariables": - self.debugServer.signalClientVariables( - params["scope"], params["variables"]) - - elif method == "ResponseVariable": - self.debugServer.signalClientVariable( - params["scope"], [params["variable"]] + params["variables"]) - - elif method == "ResponseThreadList": - self.debugServer.signalClientThreadList( - params["currentID"], params["threadList"]) - - elif method == "ResponseThreadSet": - self.debugServer.signalClientThreadSet() - - elif method == "ResponseCapabilities": - self.clientCapabilities = params["capabilities"] - self.debugServer.signalClientCapabilities( - params["capabilities"], params["clientType"]) - - elif method == "ResponseBanner": - self.debugServer.signalClientBanner( - params["version"], - params["platform"], - params["dbgclient"]) - - elif method == "ResponseOK": - self.debugServer.signalClientStatement(False) - - elif method == "ResponseContinue": - self.debugServer.signalClientStatement(True) - - elif method == "RequestRaw": - self.debugServer.signalClientRawInput( - params["prompt"], params["echo"]) - - elif method == "ResponseBPConditionError": - fn = self.translate(params["filename"], True) - self.debugServer.signalClientBreakConditionError( - fn, params["line"]) - - elif method == "ResponseClearBreakpoint": - fn = self.translate(params["filename"], True) - self.debugServer.signalClientClearBreak(fn, params["line"]) - - elif method == "ResponseWatchConditionError": - self.debugServer.signalClientWatchConditionError( - params["condition"]) - - elif method == "ResponseClearWatch": - self.debugServer.signalClientClearWatch(params["condition"]) - - elif method == "ResponseException": - if params: - exctype = params["type"] - excmessage = params["message"] - stack = params["stack"] - if stack: - for stackEntry in stack: - stackEntry[0] = self.translate(stackEntry[0], True) - if stack[0] and stack[0][0] == "<string>": - for stackEntry in stack: - if stackEntry[0] == "<string>": - stackEntry[0] = self.__scriptName - else: - break - else: - exctype = '' - excmessage = '' - stack = [] - - self.debugServer.signalClientException( - exctype, excmessage, stack) - - elif method == "ResponseSyntax": - self.debugServer.signalClientSyntaxError( - params["message"], self.translate(params["filename"], True), - params["linenumber"], params["characternumber"]) - - elif method == "ResponseSignal": - self.debugServer.signalClientSignal( - params["message"], self.translate(params["filename"], True), - params["linenumber"], params["function"], params["arguments"]) - - elif method == "ResponseExit": - self.__scriptName = "" - self.debugServer.signalClientExit( - params["status"], params["message"]) - - elif method == "PassiveStartup": - self.debugServer.passiveStartUp( - self.translate(params["filename"], True), params["exceptions"]) - - elif method == "ResponseCompletion": - self.debugServer.signalClientCompletionList( - params["completions"], params["text"]) - - elif method == "ResponseUTPrepared": - self.debugServer.clientUtPrepared( - params["count"], params["exception"], params["message"]) - - elif method == "ResponseUTFinished": - self.debugServer.clientUtFinished() - - elif method == "ResponseUTStartTest": - self.debugServer.clientUtStartTest( - params["testname"], params["description"]) - - elif method == "ResponseUTStopTest": - self.debugServer.clientUtStopTest() - - elif method == "ResponseUTTestFailed": - self.debugServer.clientUtTestFailed( - params["testname"], params["traceback"], params["id"]) - - elif method == "ResponseUTTestErrored": - self.debugServer.clientUtTestErrored( - params["testname"], params["traceback"], params["id"]) - - elif method == "ResponseUTTestSkipped": - self.debugServer.clientUtTestSkipped( - params["testname"], params["reason"], params["id"]) - - elif method == "ResponseUTTestFailedExpected": - self.debugServer.clientUtTestFailedExpected( - params["testname"], params["traceback"], params["id"]) - - elif method == "ResponseUTTestSucceededUnexpected": - self.debugServer.clientUtTestSucceededUnexpected( - params["testname"], params["id"]) - - elif method == "RequestForkTo": - self.__askForkTo() - - def __sendJsonCommand(self, command, params): - """ - Private method to send a single command to the client. - - @param command command name to be sent - @type str - @param params dictionary of named parameters for the command - @type dict - """ - import json - - commandDict = { - "jsonrpc": "2.0", - "method": command, - "params": params, - } - cmd = json.dumps(commandDict) + '\n' - if self.qsock is not None: - self.qsock.write(cmd.encode('utf8', 'backslashreplace')) - else: - self.queue.append(cmd) - - -def createDebuggerInterfacePython3(debugServer, passive): - """ - Module function to create a debugger interface instance. - - - @param debugServer reference to the debug server - @type DebugServer - @param passive flag indicating passive connection mode - @type bool - @return instantiated debugger interface - @rtype DebuggerInterfacePython - """ - return DebuggerInterfacePython3(debugServer, passive) - - -def getRegistryData(): - """ - Module function to get characterizing data for the debugger interface. - - @return tuple containing client type, client capabilities, client file - type associations and reference to creation function - @rtype tuple of (str, int, list of str, function) - """ - exts = [] - for ext in Preferences.getDebugger("Python3Extensions").split(): - if ext.startswith("."): - exts.append(ext) - else: - exts.append(".{0}".format(ext)) - - if exts and Preferences.getDebugger("Python3Interpreter"): - return ["Python3", ClientDefaultCapabilities, exts, - createDebuggerInterfacePython3] - else: - return ["", 0, [], None]
--- a/Documentation/Help/source.qhp Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Help/source.qhp Fri Sep 01 12:08:17 2017 +0200 @@ -54,8 +54,7 @@ <section title="eric6.Debugger.DebugUI" ref="eric6.Debugger.DebugUI.html" /> <section title="eric6.Debugger.DebugViewer" ref="eric6.Debugger.DebugViewer.html" /> <section title="eric6.Debugger.DebuggerInterfaceNone" ref="eric6.Debugger.DebuggerInterfaceNone.html" /> - <section title="eric6.Debugger.DebuggerInterfacePython2" ref="eric6.Debugger.DebuggerInterfacePython2.html" /> - <section title="eric6.Debugger.DebuggerInterfacePython3" ref="eric6.Debugger.DebuggerInterfacePython3.html" /> + <section title="eric6.Debugger.DebuggerInterfacePython" ref="eric6.Debugger.DebuggerInterfacePython.html" /> <section title="eric6.Debugger.EditBreakpointDialog" ref="eric6.Debugger.EditBreakpointDialog.html" /> <section title="eric6.Debugger.EditWatchpointDialog" ref="eric6.Debugger.EditWatchpointDialog.html" /> <section title="eric6.Debugger.ExceptionLogger" ref="eric6.Debugger.ExceptionLogger.html" /> @@ -1224,6 +1223,17 @@ <section title="eric6.WebBrowser.QtHelp.QtHelpDocumentationSelectionDialog" ref="eric6.WebBrowser.QtHelp.QtHelpDocumentationSelectionDialog.html" /> <section title="eric6.WebBrowser.QtHelp.QtHelpFiltersDialog" ref="eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.html" /> </section> + <section title="eric6.WebBrowser.SafeBrowsing" ref="index-eric6.WebBrowser.SafeBrowsing.html"> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html" /> + <section title="eric6.WebBrowser.SafeBrowsing.__init__" ref="eric6.WebBrowser.SafeBrowsing.__init__.html" /> + </section> <section title="eric6.WebBrowser.Session" ref="index-eric6.WebBrowser.Session.html"> <section title="eric6.WebBrowser.Session.SessionManager" ref="eric6.WebBrowser.Session.SessionManager.html" /> <section title="eric6.WebBrowser.Session.SessionManagerDialog" ref="eric6.WebBrowser.Session.SessionManagerDialog.html" /> @@ -3673,102 +3683,54 @@ <keyword name="DebuggerInterfaceNone.shutdown" id="DebuggerInterfaceNone.shutdown" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.shutdown" /> <keyword name="DebuggerInterfaceNone.startRemote" id="DebuggerInterfaceNone.startRemote" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.startRemote" /> <keyword name="DebuggerInterfaceNone.startRemoteForProject" id="DebuggerInterfaceNone.startRemoteForProject" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.startRemoteForProject" /> - <keyword name="DebuggerInterfacePython2" id="DebuggerInterfacePython2" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2" /> - <keyword name="DebuggerInterfacePython2 (Constructor)" id="DebuggerInterfacePython2 (Constructor)" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__init__" /> - <keyword name="DebuggerInterfacePython2 (Module)" id="DebuggerInterfacePython2 (Module)" ref="eric6.Debugger.DebuggerInterfacePython2.html" /> - <keyword name="DebuggerInterfacePython2.__askForkTo" id="DebuggerInterfacePython2.__askForkTo" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__askForkTo" /> - <keyword name="DebuggerInterfacePython2.__handleJsonCommand" id="DebuggerInterfacePython2.__handleJsonCommand" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__handleJsonCommand" /> - <keyword name="DebuggerInterfacePython2.__identityTranslation" id="DebuggerInterfacePython2.__identityTranslation" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__identityTranslation" /> - <keyword name="DebuggerInterfacePython2.__parseClientLine" id="DebuggerInterfacePython2.__parseClientLine" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__parseClientLine" /> - <keyword name="DebuggerInterfacePython2.__remoteTranslation" id="DebuggerInterfacePython2.__remoteTranslation" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__remoteTranslation" /> - <keyword name="DebuggerInterfacePython2.__sendJsonCommand" id="DebuggerInterfacePython2.__sendJsonCommand" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__sendJsonCommand" /> - <keyword name="DebuggerInterfacePython2.__startProcess" id="DebuggerInterfacePython2.__startProcess" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.__startProcess" /> - <keyword name="DebuggerInterfacePython2.flush" id="DebuggerInterfacePython2.flush" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.flush" /> - <keyword name="DebuggerInterfacePython2.getClientCapabilities" id="DebuggerInterfacePython2.getClientCapabilities" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.getClientCapabilities" /> - <keyword name="DebuggerInterfacePython2.isConnected" id="DebuggerInterfacePython2.isConnected" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.isConnected" /> - <keyword name="DebuggerInterfacePython2.newConnection" id="DebuggerInterfacePython2.newConnection" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.newConnection" /> - <keyword name="DebuggerInterfacePython2.remoteBanner" id="DebuggerInterfacePython2.remoteBanner" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteBanner" /> - <keyword name="DebuggerInterfacePython2.remoteBreakpoint" id="DebuggerInterfacePython2.remoteBreakpoint" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteBreakpoint" /> - <keyword name="DebuggerInterfacePython2.remoteBreakpointEnable" id="DebuggerInterfacePython2.remoteBreakpointEnable" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteBreakpointEnable" /> - <keyword name="DebuggerInterfacePython2.remoteBreakpointIgnore" id="DebuggerInterfacePython2.remoteBreakpointIgnore" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteBreakpointIgnore" /> - <keyword name="DebuggerInterfacePython2.remoteCapabilities" id="DebuggerInterfacePython2.remoteCapabilities" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteCapabilities" /> - <keyword name="DebuggerInterfacePython2.remoteClientSetFilter" id="DebuggerInterfacePython2.remoteClientSetFilter" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteClientSetFilter" /> - <keyword name="DebuggerInterfacePython2.remoteClientVariable" id="DebuggerInterfacePython2.remoteClientVariable" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteClientVariable" /> - <keyword name="DebuggerInterfacePython2.remoteClientVariables" id="DebuggerInterfacePython2.remoteClientVariables" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteClientVariables" /> - <keyword name="DebuggerInterfacePython2.remoteCompletion" id="DebuggerInterfacePython2.remoteCompletion" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteCompletion" /> - <keyword name="DebuggerInterfacePython2.remoteContinue" id="DebuggerInterfacePython2.remoteContinue" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteContinue" /> - <keyword name="DebuggerInterfacePython2.remoteCoverage" id="DebuggerInterfacePython2.remoteCoverage" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteCoverage" /> - <keyword name="DebuggerInterfacePython2.remoteEnvironment" id="DebuggerInterfacePython2.remoteEnvironment" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteEnvironment" /> - <keyword name="DebuggerInterfacePython2.remoteLoad" id="DebuggerInterfacePython2.remoteLoad" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteLoad" /> - <keyword name="DebuggerInterfacePython2.remoteMoveIP" id="DebuggerInterfacePython2.remoteMoveIP" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteMoveIP" /> - <keyword name="DebuggerInterfacePython2.remoteProfile" id="DebuggerInterfacePython2.remoteProfile" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteProfile" /> - <keyword name="DebuggerInterfacePython2.remoteRawInput" id="DebuggerInterfacePython2.remoteRawInput" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteRawInput" /> - <keyword name="DebuggerInterfacePython2.remoteRun" id="DebuggerInterfacePython2.remoteRun" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteRun" /> - <keyword name="DebuggerInterfacePython2.remoteSetThread" id="DebuggerInterfacePython2.remoteSetThread" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteSetThread" /> - <keyword name="DebuggerInterfacePython2.remoteStatement" id="DebuggerInterfacePython2.remoteStatement" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteStatement" /> - <keyword name="DebuggerInterfacePython2.remoteStep" id="DebuggerInterfacePython2.remoteStep" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteStep" /> - <keyword name="DebuggerInterfacePython2.remoteStepOut" id="DebuggerInterfacePython2.remoteStepOut" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteStepOut" /> - <keyword name="DebuggerInterfacePython2.remoteStepOver" id="DebuggerInterfacePython2.remoteStepOver" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteStepOver" /> - <keyword name="DebuggerInterfacePython2.remoteStepQuit" id="DebuggerInterfacePython2.remoteStepQuit" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteStepQuit" /> - <keyword name="DebuggerInterfacePython2.remoteThreadList" id="DebuggerInterfacePython2.remoteThreadList" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteThreadList" /> - <keyword name="DebuggerInterfacePython2.remoteUTPrepare" id="DebuggerInterfacePython2.remoteUTPrepare" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteUTPrepare" /> - <keyword name="DebuggerInterfacePython2.remoteUTRun" id="DebuggerInterfacePython2.remoteUTRun" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteUTRun" /> - <keyword name="DebuggerInterfacePython2.remoteUTStop" id="DebuggerInterfacePython2.remoteUTStop" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteUTStop" /> - <keyword name="DebuggerInterfacePython2.remoteWatchpoint" id="DebuggerInterfacePython2.remoteWatchpoint" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteWatchpoint" /> - <keyword name="DebuggerInterfacePython2.remoteWatchpointEnable" id="DebuggerInterfacePython2.remoteWatchpointEnable" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteWatchpointEnable" /> - <keyword name="DebuggerInterfacePython2.remoteWatchpointIgnore" id="DebuggerInterfacePython2.remoteWatchpointIgnore" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteWatchpointIgnore" /> - <keyword name="DebuggerInterfacePython2.setCallTraceEnabled" id="DebuggerInterfacePython2.setCallTraceEnabled" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.setCallTraceEnabled" /> - <keyword name="DebuggerInterfacePython2.shutdown" id="DebuggerInterfacePython2.shutdown" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.shutdown" /> - <keyword name="DebuggerInterfacePython2.startRemote" id="DebuggerInterfacePython2.startRemote" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.startRemote" /> - <keyword name="DebuggerInterfacePython2.startRemoteForProject" id="DebuggerInterfacePython2.startRemoteForProject" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.startRemoteForProject" /> - <keyword name="DebuggerInterfacePython3" id="DebuggerInterfacePython3" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3" /> - <keyword name="DebuggerInterfacePython3 (Constructor)" id="DebuggerInterfacePython3 (Constructor)" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__init__" /> - <keyword name="DebuggerInterfacePython3 (Module)" id="DebuggerInterfacePython3 (Module)" ref="eric6.Debugger.DebuggerInterfacePython3.html" /> - <keyword name="DebuggerInterfacePython3.__askForkTo" id="DebuggerInterfacePython3.__askForkTo" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__askForkTo" /> - <keyword name="DebuggerInterfacePython3.__handleJsonCommand" id="DebuggerInterfacePython3.__handleJsonCommand" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__handleJsonCommand" /> - <keyword name="DebuggerInterfacePython3.__identityTranslation" id="DebuggerInterfacePython3.__identityTranslation" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__identityTranslation" /> - <keyword name="DebuggerInterfacePython3.__parseClientLine" id="DebuggerInterfacePython3.__parseClientLine" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__parseClientLine" /> - <keyword name="DebuggerInterfacePython3.__remoteTranslation" id="DebuggerInterfacePython3.__remoteTranslation" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__remoteTranslation" /> - <keyword name="DebuggerInterfacePython3.__sendJsonCommand" id="DebuggerInterfacePython3.__sendJsonCommand" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__sendJsonCommand" /> - <keyword name="DebuggerInterfacePython3.__startProcess" id="DebuggerInterfacePython3.__startProcess" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.__startProcess" /> - <keyword name="DebuggerInterfacePython3.flush" id="DebuggerInterfacePython3.flush" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.flush" /> - <keyword name="DebuggerInterfacePython3.getClientCapabilities" id="DebuggerInterfacePython3.getClientCapabilities" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.getClientCapabilities" /> - <keyword name="DebuggerInterfacePython3.isConnected" id="DebuggerInterfacePython3.isConnected" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.isConnected" /> - <keyword name="DebuggerInterfacePython3.newConnection" id="DebuggerInterfacePython3.newConnection" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.newConnection" /> - <keyword name="DebuggerInterfacePython3.remoteBanner" id="DebuggerInterfacePython3.remoteBanner" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteBanner" /> - <keyword name="DebuggerInterfacePython3.remoteBreakpoint" id="DebuggerInterfacePython3.remoteBreakpoint" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteBreakpoint" /> - <keyword name="DebuggerInterfacePython3.remoteBreakpointEnable" id="DebuggerInterfacePython3.remoteBreakpointEnable" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteBreakpointEnable" /> - <keyword name="DebuggerInterfacePython3.remoteBreakpointIgnore" id="DebuggerInterfacePython3.remoteBreakpointIgnore" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteBreakpointIgnore" /> - <keyword name="DebuggerInterfacePython3.remoteCapabilities" id="DebuggerInterfacePython3.remoteCapabilities" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteCapabilities" /> - <keyword name="DebuggerInterfacePython3.remoteClientSetFilter" id="DebuggerInterfacePython3.remoteClientSetFilter" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteClientSetFilter" /> - <keyword name="DebuggerInterfacePython3.remoteClientVariable" id="DebuggerInterfacePython3.remoteClientVariable" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteClientVariable" /> - <keyword name="DebuggerInterfacePython3.remoteClientVariables" id="DebuggerInterfacePython3.remoteClientVariables" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteClientVariables" /> - <keyword name="DebuggerInterfacePython3.remoteCompletion" id="DebuggerInterfacePython3.remoteCompletion" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteCompletion" /> - <keyword name="DebuggerInterfacePython3.remoteContinue" id="DebuggerInterfacePython3.remoteContinue" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteContinue" /> - <keyword name="DebuggerInterfacePython3.remoteCoverage" id="DebuggerInterfacePython3.remoteCoverage" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteCoverage" /> - <keyword name="DebuggerInterfacePython3.remoteEnvironment" id="DebuggerInterfacePython3.remoteEnvironment" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteEnvironment" /> - <keyword name="DebuggerInterfacePython3.remoteLoad" id="DebuggerInterfacePython3.remoteLoad" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteLoad" /> - <keyword name="DebuggerInterfacePython3.remoteMoveIP" id="DebuggerInterfacePython3.remoteMoveIP" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteMoveIP" /> - <keyword name="DebuggerInterfacePython3.remoteProfile" id="DebuggerInterfacePython3.remoteProfile" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteProfile" /> - <keyword name="DebuggerInterfacePython3.remoteRawInput" id="DebuggerInterfacePython3.remoteRawInput" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteRawInput" /> - <keyword name="DebuggerInterfacePython3.remoteRun" id="DebuggerInterfacePython3.remoteRun" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteRun" /> - <keyword name="DebuggerInterfacePython3.remoteSetThread" id="DebuggerInterfacePython3.remoteSetThread" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteSetThread" /> - <keyword name="DebuggerInterfacePython3.remoteStatement" id="DebuggerInterfacePython3.remoteStatement" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteStatement" /> - <keyword name="DebuggerInterfacePython3.remoteStep" id="DebuggerInterfacePython3.remoteStep" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteStep" /> - <keyword name="DebuggerInterfacePython3.remoteStepOut" id="DebuggerInterfacePython3.remoteStepOut" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteStepOut" /> - <keyword name="DebuggerInterfacePython3.remoteStepOver" id="DebuggerInterfacePython3.remoteStepOver" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteStepOver" /> - <keyword name="DebuggerInterfacePython3.remoteStepQuit" id="DebuggerInterfacePython3.remoteStepQuit" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteStepQuit" /> - <keyword name="DebuggerInterfacePython3.remoteThreadList" id="DebuggerInterfacePython3.remoteThreadList" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteThreadList" /> - <keyword name="DebuggerInterfacePython3.remoteUTPrepare" id="DebuggerInterfacePython3.remoteUTPrepare" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteUTPrepare" /> - <keyword name="DebuggerInterfacePython3.remoteUTRun" id="DebuggerInterfacePython3.remoteUTRun" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteUTRun" /> - <keyword name="DebuggerInterfacePython3.remoteUTStop" id="DebuggerInterfacePython3.remoteUTStop" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteUTStop" /> - <keyword name="DebuggerInterfacePython3.remoteWatchpoint" id="DebuggerInterfacePython3.remoteWatchpoint" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteWatchpoint" /> - <keyword name="DebuggerInterfacePython3.remoteWatchpointEnable" id="DebuggerInterfacePython3.remoteWatchpointEnable" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteWatchpointEnable" /> - <keyword name="DebuggerInterfacePython3.remoteWatchpointIgnore" id="DebuggerInterfacePython3.remoteWatchpointIgnore" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteWatchpointIgnore" /> - <keyword name="DebuggerInterfacePython3.setCallTraceEnabled" id="DebuggerInterfacePython3.setCallTraceEnabled" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.setCallTraceEnabled" /> - <keyword name="DebuggerInterfacePython3.shutdown" id="DebuggerInterfacePython3.shutdown" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.shutdown" /> - <keyword name="DebuggerInterfacePython3.startRemote" id="DebuggerInterfacePython3.startRemote" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.startRemote" /> - <keyword name="DebuggerInterfacePython3.startRemoteForProject" id="DebuggerInterfacePython3.startRemoteForProject" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.startRemoteForProject" /> + <keyword name="DebuggerInterfacePython" id="DebuggerInterfacePython" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython" /> + <keyword name="DebuggerInterfacePython (Constructor)" id="DebuggerInterfacePython (Constructor)" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__init__" /> + <keyword name="DebuggerInterfacePython (Module)" id="DebuggerInterfacePython (Module)" ref="eric6.Debugger.DebuggerInterfacePython.html" /> + <keyword name="DebuggerInterfacePython.__askForkTo" id="DebuggerInterfacePython.__askForkTo" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__askForkTo" /> + <keyword name="DebuggerInterfacePython.__handleJsonCommand" id="DebuggerInterfacePython.__handleJsonCommand" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__handleJsonCommand" /> + <keyword name="DebuggerInterfacePython.__identityTranslation" id="DebuggerInterfacePython.__identityTranslation" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__identityTranslation" /> + <keyword name="DebuggerInterfacePython.__parseClientLine" id="DebuggerInterfacePython.__parseClientLine" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__parseClientLine" /> + <keyword name="DebuggerInterfacePython.__remoteTranslation" id="DebuggerInterfacePython.__remoteTranslation" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__remoteTranslation" /> + <keyword name="DebuggerInterfacePython.__sendJsonCommand" id="DebuggerInterfacePython.__sendJsonCommand" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__sendJsonCommand" /> + <keyword name="DebuggerInterfacePython.__startProcess" id="DebuggerInterfacePython.__startProcess" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.__startProcess" /> + <keyword name="DebuggerInterfacePython.flush" id="DebuggerInterfacePython.flush" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.flush" /> + <keyword name="DebuggerInterfacePython.getClientCapabilities" id="DebuggerInterfacePython.getClientCapabilities" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.getClientCapabilities" /> + <keyword name="DebuggerInterfacePython.isConnected" id="DebuggerInterfacePython.isConnected" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.isConnected" /> + <keyword name="DebuggerInterfacePython.newConnection" id="DebuggerInterfacePython.newConnection" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.newConnection" /> + <keyword name="DebuggerInterfacePython.remoteBanner" id="DebuggerInterfacePython.remoteBanner" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteBanner" /> + <keyword name="DebuggerInterfacePython.remoteBreakpoint" id="DebuggerInterfacePython.remoteBreakpoint" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteBreakpoint" /> + <keyword name="DebuggerInterfacePython.remoteBreakpointEnable" id="DebuggerInterfacePython.remoteBreakpointEnable" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteBreakpointEnable" /> + <keyword name="DebuggerInterfacePython.remoteBreakpointIgnore" id="DebuggerInterfacePython.remoteBreakpointIgnore" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteBreakpointIgnore" /> + <keyword name="DebuggerInterfacePython.remoteCapabilities" id="DebuggerInterfacePython.remoteCapabilities" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteCapabilities" /> + <keyword name="DebuggerInterfacePython.remoteClientSetFilter" id="DebuggerInterfacePython.remoteClientSetFilter" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteClientSetFilter" /> + <keyword name="DebuggerInterfacePython.remoteClientVariable" id="DebuggerInterfacePython.remoteClientVariable" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteClientVariable" /> + <keyword name="DebuggerInterfacePython.remoteClientVariables" id="DebuggerInterfacePython.remoteClientVariables" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteClientVariables" /> + <keyword name="DebuggerInterfacePython.remoteCompletion" id="DebuggerInterfacePython.remoteCompletion" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteCompletion" /> + <keyword name="DebuggerInterfacePython.remoteContinue" id="DebuggerInterfacePython.remoteContinue" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteContinue" /> + <keyword name="DebuggerInterfacePython.remoteCoverage" id="DebuggerInterfacePython.remoteCoverage" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteCoverage" /> + <keyword name="DebuggerInterfacePython.remoteEnvironment" id="DebuggerInterfacePython.remoteEnvironment" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteEnvironment" /> + <keyword name="DebuggerInterfacePython.remoteLoad" id="DebuggerInterfacePython.remoteLoad" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteLoad" /> + <keyword name="DebuggerInterfacePython.remoteMoveIP" id="DebuggerInterfacePython.remoteMoveIP" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteMoveIP" /> + <keyword name="DebuggerInterfacePython.remoteProfile" id="DebuggerInterfacePython.remoteProfile" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteProfile" /> + <keyword name="DebuggerInterfacePython.remoteRawInput" id="DebuggerInterfacePython.remoteRawInput" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteRawInput" /> + <keyword name="DebuggerInterfacePython.remoteRun" id="DebuggerInterfacePython.remoteRun" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteRun" /> + <keyword name="DebuggerInterfacePython.remoteSetThread" id="DebuggerInterfacePython.remoteSetThread" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteSetThread" /> + <keyword name="DebuggerInterfacePython.remoteStatement" id="DebuggerInterfacePython.remoteStatement" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteStatement" /> + <keyword name="DebuggerInterfacePython.remoteStep" id="DebuggerInterfacePython.remoteStep" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteStep" /> + <keyword name="DebuggerInterfacePython.remoteStepOut" id="DebuggerInterfacePython.remoteStepOut" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteStepOut" /> + <keyword name="DebuggerInterfacePython.remoteStepOver" id="DebuggerInterfacePython.remoteStepOver" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteStepOver" /> + <keyword name="DebuggerInterfacePython.remoteStepQuit" id="DebuggerInterfacePython.remoteStepQuit" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteStepQuit" /> + <keyword name="DebuggerInterfacePython.remoteThreadList" id="DebuggerInterfacePython.remoteThreadList" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteThreadList" /> + <keyword name="DebuggerInterfacePython.remoteUTPrepare" id="DebuggerInterfacePython.remoteUTPrepare" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteUTPrepare" /> + <keyword name="DebuggerInterfacePython.remoteUTRun" id="DebuggerInterfacePython.remoteUTRun" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteUTRun" /> + <keyword name="DebuggerInterfacePython.remoteUTStop" id="DebuggerInterfacePython.remoteUTStop" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteUTStop" /> + <keyword name="DebuggerInterfacePython.remoteWatchpoint" id="DebuggerInterfacePython.remoteWatchpoint" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteWatchpoint" /> + <keyword name="DebuggerInterfacePython.remoteWatchpointEnable" id="DebuggerInterfacePython.remoteWatchpointEnable" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteWatchpointEnable" /> + <keyword name="DebuggerInterfacePython.remoteWatchpointIgnore" id="DebuggerInterfacePython.remoteWatchpointIgnore" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteWatchpointIgnore" /> + <keyword name="DebuggerInterfacePython.setCallTraceEnabled" id="DebuggerInterfacePython.setCallTraceEnabled" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.setCallTraceEnabled" /> + <keyword name="DebuggerInterfacePython.shutdown" id="DebuggerInterfacePython.shutdown" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.shutdown" /> + <keyword name="DebuggerInterfacePython.startRemote" id="DebuggerInterfacePython.startRemote" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.startRemote" /> + <keyword name="DebuggerInterfacePython.startRemoteForProject" id="DebuggerInterfacePython.startRemoteForProject" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.startRemoteForProject" /> <keyword name="DebuggerPropertiesDialog" id="DebuggerPropertiesDialog" ref="eric6.Project.DebuggerPropertiesDialog.html#DebuggerPropertiesDialog" /> <keyword name="DebuggerPropertiesDialog (Constructor)" id="DebuggerPropertiesDialog (Constructor)" ref="eric6.Project.DebuggerPropertiesDialog.html#DebuggerPropertiesDialog.__init__" /> <keyword name="DebuggerPropertiesDialog (Module)" id="DebuggerPropertiesDialog (Module)" ref="eric6.Project.DebuggerPropertiesDialog.html" /> @@ -4185,6 +4147,7 @@ <keyword name="E5ErrorMessageFilterDialog" id="E5ErrorMessageFilterDialog" ref="eric6.E5Gui.E5ErrorMessageFilterDialog.html#E5ErrorMessageFilterDialog" /> <keyword name="E5ErrorMessageFilterDialog (Constructor)" id="E5ErrorMessageFilterDialog (Constructor)" ref="eric6.E5Gui.E5ErrorMessageFilterDialog.html#E5ErrorMessageFilterDialog.__init__" /> <keyword name="E5ErrorMessageFilterDialog (Module)" id="E5ErrorMessageFilterDialog (Module)" ref="eric6.E5Gui.E5ErrorMessageFilterDialog.html" /> + <keyword name="E5ErrorMessageFilterDialog.__setToDefault" id="E5ErrorMessageFilterDialog.__setToDefault" ref="eric6.E5Gui.E5ErrorMessageFilterDialog.html#E5ErrorMessageFilterDialog.__setToDefault" /> <keyword name="E5ErrorMessageFilterDialog.getFilters" id="E5ErrorMessageFilterDialog.getFilters" ref="eric6.E5Gui.E5ErrorMessageFilterDialog.html#E5ErrorMessageFilterDialog.getFilters" /> <keyword name="E5FileCompleter" id="E5FileCompleter" ref="eric6.E5Gui.E5Completers.html#E5FileCompleter" /> <keyword name="E5FileCompleter (Constructor)" id="E5FileCompleter (Constructor)" ref="eric6.E5Gui.E5Completers.html#E5FileCompleter.__init__" /> @@ -4652,6 +4615,7 @@ <keyword name="E5StringListEditWidget (Module)" id="E5StringListEditWidget (Module)" ref="eric6.E5Gui.E5StringListEditWidget.html" /> <keyword name="E5StringListEditWidget.getList" id="E5StringListEditWidget.getList" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.getList" /> <keyword name="E5StringListEditWidget.on_addButton_clicked" id="E5StringListEditWidget.on_addButton_clicked" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.on_addButton_clicked" /> + <keyword name="E5StringListEditWidget.setDefaultVisible" id="E5StringListEditWidget.setDefaultVisible" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.setDefaultVisible" /> <keyword name="E5StringListEditWidget.setList" id="E5StringListEditWidget.setList" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.setList" /> <keyword name="E5StringListEditWidget.setListWhatsThis" id="E5StringListEditWidget.setListWhatsThis" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.setListWhatsThis" /> <keyword name="E5TabWidget" id="E5TabWidget" ref="eric6.E5Gui.E5TabWidget.html#E5TabWidget" /> @@ -5587,6 +5551,8 @@ <keyword name="ExporterHTML" id="ExporterHTML" ref="eric6.QScintilla.Exporters.ExporterHTML.html#ExporterHTML" /> <keyword name="ExporterHTML (Constructor)" id="ExporterHTML (Constructor)" ref="eric6.QScintilla.Exporters.ExporterHTML.html#ExporterHTML.__init__" /> <keyword name="ExporterHTML (Module)" id="ExporterHTML (Module)" ref="eric6.QScintilla.Exporters.ExporterHTML.html" /> + <keyword name="ExporterHTML.__generateFromMarkdown" id="ExporterHTML.__generateFromMarkdown" ref="eric6.QScintilla.Exporters.ExporterHTML.html#ExporterHTML.__generateFromMarkdown" /> + <keyword name="ExporterHTML.__generateFromReSTDocutils" id="ExporterHTML.__generateFromReSTDocutils" ref="eric6.QScintilla.Exporters.ExporterHTML.html#ExporterHTML.__generateFromReSTDocutils" /> <keyword name="ExporterHTML.exportSource" id="ExporterHTML.exportSource" ref="eric6.QScintilla.Exporters.ExporterHTML.html#ExporterHTML.exportSource" /> <keyword name="ExporterODT" id="ExporterODT" ref="eric6.QScintilla.Exporters.ExporterODT.html#ExporterODT" /> <keyword name="ExporterODT (Constructor)" id="ExporterODT (Constructor)" ref="eric6.QScintilla.Exporters.ExporterODT.html#ExporterODT.__init__" /> @@ -6391,6 +6357,10 @@ <keyword name="HTMLGenerator" id="HTMLGenerator" ref="eric6.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator" /> <keyword name="HTMLGenerator (Constructor)" id="HTMLGenerator (Constructor)" ref="eric6.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator.__init__" /> <keyword name="HTMLGenerator.generate" id="HTMLGenerator.generate" ref="eric6.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator.generate" /> + <keyword name="HashPrefixList" id="HashPrefixList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList" /> + <keyword name="HashPrefixList (Constructor)" id="HashPrefixList (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList.__init__" /> + <keyword name="HashPrefixList.__iter__" id="HashPrefixList.__iter__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList.__iter__" /> + <keyword name="HashPrefixList.__len__" id="HashPrefixList.__len__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList.__len__" /> <keyword name="HashableWrapper" id="HashableWrapper" ref="eric6.Utilities.binplistlib.html#HashableWrapper" /> <keyword name="HashableWrapper (Constructor)" id="HashableWrapper (Constructor)" ref="eric6.Utilities.binplistlib.html#HashableWrapper.__init__" /> <keyword name="HashableWrapper.__repr__" id="HashableWrapper.__repr__" ref="eric6.Utilities.binplistlib.html#HashableWrapper.__repr__" /> @@ -9741,6 +9711,7 @@ <keyword name="MimeTypesPage" id="MimeTypesPage" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html#MimeTypesPage" /> <keyword name="MimeTypesPage (Constructor)" id="MimeTypesPage (Constructor)" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html#MimeTypesPage.__init__" /> <keyword name="MimeTypesPage (Module)" id="MimeTypesPage (Module)" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html" /> + <keyword name="MimeTypesPage.__setToDefault" id="MimeTypesPage.__setToDefault" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html#MimeTypesPage.__setToDefault" /> <keyword name="MimeTypesPage.on_resetButton_clicked" id="MimeTypesPage.on_resetButton_clicked" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html#MimeTypesPage.on_resetButton_clicked" /> <keyword name="MimeTypesPage.save" id="MimeTypesPage.save" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html#MimeTypesPage.save" /> <keyword name="MiniEditor" id="MiniEditor" ref="eric6.QScintilla.MiniEditor.html#MiniEditor" /> @@ -11003,6 +10974,7 @@ <keyword name="PreviewProcessingThread.__convertReSTDocutils" id="PreviewProcessingThread.__convertReSTDocutils" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__convertReSTDocutils" /> <keyword name="PreviewProcessingThread.__convertReSTSphinx" id="PreviewProcessingThread.__convertReSTSphinx" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__convertReSTSphinx" /> <keyword name="PreviewProcessingThread.__getHtml" id="PreviewProcessingThread.__getHtml" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__getHtml" /> + <keyword name="PreviewProcessingThread.__processRootPath" id="PreviewProcessingThread.__processRootPath" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__processRootPath" /> <keyword name="PreviewProcessingThread.__processSSI" id="PreviewProcessingThread.__processSSI" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.__processSSI" /> <keyword name="PreviewProcessingThread.process" id="PreviewProcessingThread.process" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.process" /> <keyword name="PreviewProcessingThread.run" id="PreviewProcessingThread.run" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewProcessingThread.run" /> @@ -11027,6 +10999,7 @@ <keyword name="PreviewerHTML.__saveScrollBarPositions" id="PreviewerHTML.__saveScrollBarPositions" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__saveScrollBarPositions" /> <keyword name="PreviewerHTML.__setHtml" id="PreviewerHTML.__setHtml" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__setHtml" /> <keyword name="PreviewerHTML.__setJavaScriptEnabled" id="PreviewerHTML.__setJavaScriptEnabled" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__setJavaScriptEnabled" /> + <keyword name="PreviewerHTML.__showLink" id="PreviewerHTML.__showLink" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewerHTML.__showLink" /> <keyword name="PreviewerHTML.on_jsCheckBox_clicked" id="PreviewerHTML.on_jsCheckBox_clicked" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewerHTML.on_jsCheckBox_clicked" /> <keyword name="PreviewerHTML.on_previewView_linkClicked" id="PreviewerHTML.on_previewView_linkClicked" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewerHTML.on_previewView_linkClicked" /> <keyword name="PreviewerHTML.on_previewView_titleChanged" id="PreviewerHTML.on_previewView_titleChanged" ref="eric6.UI.Previewers.PreviewerHTML.html#PreviewerHTML.on_previewView_titleChanged" /> @@ -12298,6 +12271,113 @@ <keyword name="SafariImporter.open" id="SafariImporter.open" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter.open" /> <keyword name="SafariImporter.setPath" id="SafariImporter.setPath" ref="eric6.Helpviewer.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter.setPath" /> <keyword name="SafariImporter.setPath" id="SafariImporter.setPath" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter.setPath" /> + <keyword name="SafeBrowsing (Package)" id="SafeBrowsing (Package)" ref="index-eric6.WebBrowser.SafeBrowsing.html" /> + <keyword name="SafeBrowsingAPIClient" id="SafeBrowsingAPIClient" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient" /> + <keyword name="SafeBrowsingAPIClient (Constructor)" id="SafeBrowsingAPIClient (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.__init__" /> + <keyword name="SafeBrowsingAPIClient (Module)" id="SafeBrowsingAPIClient (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html" /> + <keyword name="SafeBrowsingAPIClient.__extractData" id="SafeBrowsingAPIClient.__extractData" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.__extractData" /> + <keyword name="SafeBrowsingAPIClient.__setWaitDuration" id="SafeBrowsingAPIClient.__setWaitDuration" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.__setWaitDuration" /> + <keyword name="SafeBrowsingAPIClient.fairUseDelayExpired" id="SafeBrowsingAPIClient.fairUseDelayExpired" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.fairUseDelayExpired" /> + <keyword name="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" id="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" /> + <keyword name="SafeBrowsingAPIClient.getFullHashes" id="SafeBrowsingAPIClient.getFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getFullHashes" /> + <keyword name="SafeBrowsingAPIClient.getPlatformString" id="SafeBrowsingAPIClient.getPlatformString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getPlatformString" /> + <keyword name="SafeBrowsingAPIClient.getPlatformTypes" id="SafeBrowsingAPIClient.getPlatformTypes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getPlatformTypes" /> + <keyword name="SafeBrowsingAPIClient.getThreatEntryString" id="SafeBrowsingAPIClient.getThreatEntryString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatEntryString" /> + <keyword name="SafeBrowsingAPIClient.getThreatLists" id="SafeBrowsingAPIClient.getThreatLists" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatLists" /> + <keyword name="SafeBrowsingAPIClient.getThreatMessage" id="SafeBrowsingAPIClient.getThreatMessage" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatMessage" /> + <keyword name="SafeBrowsingAPIClient.getThreatType" id="SafeBrowsingAPIClient.getThreatType" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatType" /> + <keyword name="SafeBrowsingAPIClient.getThreatsUpdate" id="SafeBrowsingAPIClient.getThreatsUpdate" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatsUpdate" /> + <keyword name="SafeBrowsingAPIClient.setApiKey" id="SafeBrowsingAPIClient.setApiKey" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.setApiKey" /> + <keyword name="SafeBrowsingCache" id="SafeBrowsingCache" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache" /> + <keyword name="SafeBrowsingCache (Constructor)" id="SafeBrowsingCache (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.__init__" /> + <keyword name="SafeBrowsingCache (Module)" id="SafeBrowsingCache (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html" /> + <keyword name="SafeBrowsingCache.__openCacheDb" id="SafeBrowsingCache.__openCacheDb" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.__openCacheDb" /> + <keyword name="SafeBrowsingCache.addThreatList" id="SafeBrowsingCache.addThreatList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.addThreatList" /> + <keyword name="SafeBrowsingCache.cleanupFullHashes" id="SafeBrowsingCache.cleanupFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.cleanupFullHashes" /> + <keyword name="SafeBrowsingCache.close" id="SafeBrowsingCache.close" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.close" /> + <keyword name="SafeBrowsingCache.deleteHashPrefixList" id="SafeBrowsingCache.deleteHashPrefixList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.deleteHashPrefixList" /> + <keyword name="SafeBrowsingCache.deleteThreatList" id="SafeBrowsingCache.deleteThreatList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.deleteThreatList" /> + <keyword name="SafeBrowsingCache.getHashPrefixValuesToRemove" id="SafeBrowsingCache.getHashPrefixValuesToRemove" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.getHashPrefixValuesToRemove" /> + <keyword name="SafeBrowsingCache.getThreatLists" id="SafeBrowsingCache.getThreatLists" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.getThreatLists" /> + <keyword name="SafeBrowsingCache.hashPrefixListChecksum" id="SafeBrowsingCache.hashPrefixListChecksum" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.hashPrefixListChecksum" /> + <keyword name="SafeBrowsingCache.lookupFullHashes" id="SafeBrowsingCache.lookupFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.lookupFullHashes" /> + <keyword name="SafeBrowsingCache.lookupHashPrefix" id="SafeBrowsingCache.lookupHashPrefix" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.lookupHashPrefix" /> + <keyword name="SafeBrowsingCache.populateHashPrefixList" id="SafeBrowsingCache.populateHashPrefixList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.populateHashPrefixList" /> + <keyword name="SafeBrowsingCache.prepareCacheDb" id="SafeBrowsingCache.prepareCacheDb" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.prepareCacheDb" /> + <keyword name="SafeBrowsingCache.removeHashPrefixIndices" id="SafeBrowsingCache.removeHashPrefixIndices" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.removeHashPrefixIndices" /> + <keyword name="SafeBrowsingCache.storeFullHash" id="SafeBrowsingCache.storeFullHash" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.storeFullHash" /> + <keyword name="SafeBrowsingCache.updateHashPrefixExpiration" id="SafeBrowsingCache.updateHashPrefixExpiration" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.updateHashPrefixExpiration" /> + <keyword name="SafeBrowsingCache.updateThreatListClientState" id="SafeBrowsingCache.updateThreatListClientState" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.updateThreatListClientState" /> + <keyword name="SafeBrowsingDialog" id="SafeBrowsingDialog" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog" /> + <keyword name="SafeBrowsingDialog (Constructor)" id="SafeBrowsingDialog (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__init__" /> + <keyword name="SafeBrowsingDialog (Module)" id="SafeBrowsingDialog (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html" /> + <keyword name="SafeBrowsingDialog.__isModified" id="SafeBrowsingDialog.__isModified" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__isModified" /> + <keyword name="SafeBrowsingDialog.__okToClose" id="SafeBrowsingDialog.__okToClose" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__okToClose" /> + <keyword name="SafeBrowsingDialog.__resetProgress" id="SafeBrowsingDialog.__resetProgress" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__resetProgress" /> + <keyword name="SafeBrowsingDialog.__save" id="SafeBrowsingDialog.__save" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__save" /> + <keyword name="SafeBrowsingDialog.__setProgress" id="SafeBrowsingDialog.__setProgress" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__setProgress" /> + <keyword name="SafeBrowsingDialog.__setProgressMessage" id="SafeBrowsingDialog.__setProgressMessage" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__setProgressMessage" /> + <keyword name="SafeBrowsingDialog.__updateCacheButtons" id="SafeBrowsingDialog.__updateCacheButtons" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__updateCacheButtons" /> + <keyword name="SafeBrowsingDialog.closeEvent" id="SafeBrowsingDialog.closeEvent" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.closeEvent" /> + <keyword name="SafeBrowsingDialog.on_buttonBox_clicked" id="SafeBrowsingDialog.on_buttonBox_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_buttonBox_clicked" /> + <keyword name="SafeBrowsingDialog.on_clearCacheButton_clicked" id="SafeBrowsingDialog.on_clearCacheButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_clearCacheButton_clicked" /> + <keyword name="SafeBrowsingDialog.on_gsbHelpButton_clicked" id="SafeBrowsingDialog.on_gsbHelpButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_gsbHelpButton_clicked" /> + <keyword name="SafeBrowsingDialog.on_saveButton_clicked" id="SafeBrowsingDialog.on_saveButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_saveButton_clicked" /> + <keyword name="SafeBrowsingDialog.on_showUpdateTimeButton_clicked" id="SafeBrowsingDialog.on_showUpdateTimeButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_showUpdateTimeButton_clicked" /> + <keyword name="SafeBrowsingDialog.on_updateCacheButton_clicked" id="SafeBrowsingDialog.on_updateCacheButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_updateCacheButton_clicked" /> + <keyword name="SafeBrowsingDialog.on_urlCheckButton_clicked" id="SafeBrowsingDialog.on_urlCheckButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_urlCheckButton_clicked" /> + <keyword name="SafeBrowsingDialog.on_urlEdit_textChanged" id="SafeBrowsingDialog.on_urlEdit_textChanged" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_urlEdit_textChanged" /> + <keyword name="SafeBrowsingDialog.show" id="SafeBrowsingDialog.show" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.show" /> + <keyword name="SafeBrowsingHelp" id="SafeBrowsingHelp" ref="eric6.WebBrowser.SafeBrowsing.__init__.html#SafeBrowsingHelp" /> + <keyword name="SafeBrowsingInfoWidget" id="SafeBrowsingInfoWidget" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html#SafeBrowsingInfoWidget" /> + <keyword name="SafeBrowsingInfoWidget (Constructor)" id="SafeBrowsingInfoWidget (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html#SafeBrowsingInfoWidget.__init__" /> + <keyword name="SafeBrowsingInfoWidget (Module)" id="SafeBrowsingInfoWidget (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html" /> + <keyword name="SafeBrowsingInfoWidget.showAt" id="SafeBrowsingInfoWidget.showAt" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html#SafeBrowsingInfoWidget.showAt" /> + <keyword name="SafeBrowsingLabel" id="SafeBrowsingLabel" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel" /> + <keyword name="SafeBrowsingLabel (Constructor)" id="SafeBrowsingLabel (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.__init__" /> + <keyword name="SafeBrowsingLabel (Module)" id="SafeBrowsingLabel (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html" /> + <keyword name="SafeBrowsingLabel.__updateLabel" id="SafeBrowsingLabel.__updateLabel" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.__updateLabel" /> + <keyword name="SafeBrowsingLabel.getThreatInfo" id="SafeBrowsingLabel.getThreatInfo" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.getThreatInfo" /> + <keyword name="SafeBrowsingLabel.mouseDoubleClickEvent" id="SafeBrowsingLabel.mouseDoubleClickEvent" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.mouseDoubleClickEvent" /> + <keyword name="SafeBrowsingLabel.mouseReleaseEvent" id="SafeBrowsingLabel.mouseReleaseEvent" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.mouseReleaseEvent" /> + <keyword name="SafeBrowsingLabel.setThreatInfo" id="SafeBrowsingLabel.setThreatInfo" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.setThreatInfo" /> + <keyword name="SafeBrowsingManager" id="SafeBrowsingManager" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager" /> + <keyword name="SafeBrowsingManager (Constructor)" id="SafeBrowsingManager (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__init__" /> + <keyword name="SafeBrowsingManager (Module)" id="SafeBrowsingManager (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html" /> + <keyword name="SafeBrowsingManager.__lookupHashes" id="SafeBrowsingManager.__lookupHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__lookupHashes" /> + <keyword name="SafeBrowsingManager.__setAutoUpdateThreatLists" id="SafeBrowsingManager.__setAutoUpdateThreatLists" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__setAutoUpdateThreatLists" /> + <keyword name="SafeBrowsingManager.__setPlatforms" id="SafeBrowsingManager.__setPlatforms" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__setPlatforms" /> + <keyword name="SafeBrowsingManager.__showNotificationMessage" id="SafeBrowsingManager.__showNotificationMessage" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__showNotificationMessage" /> + <keyword name="SafeBrowsingManager.__syncFullHashes" id="SafeBrowsingManager.__syncFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__syncFullHashes" /> + <keyword name="SafeBrowsingManager.__threatListsUpdateTimerTimeout" id="SafeBrowsingManager.__threatListsUpdateTimerTimeout" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__threatListsUpdateTimerTimeout" /> + <keyword name="SafeBrowsingManager.__verifyThreatListChecksum" id="SafeBrowsingManager.__verifyThreatListChecksum" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__verifyThreatListChecksum" /> + <keyword name="SafeBrowsingManager.close" id="SafeBrowsingManager.close" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.close" /> + <keyword name="SafeBrowsingManager.configurationChanged" id="SafeBrowsingManager.configurationChanged" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.configurationChanged" /> + <keyword name="SafeBrowsingManager.fairUseDelayExpired" id="SafeBrowsingManager.fairUseDelayExpired" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.fairUseDelayExpired" /> + <keyword name="SafeBrowsingManager.fullCacheCleanup" id="SafeBrowsingManager.fullCacheCleanup" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.fullCacheCleanup" /> + <keyword name="SafeBrowsingManager.getIgnoreSchemes" id="SafeBrowsingManager.getIgnoreSchemes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getIgnoreSchemes" /> + <keyword name="SafeBrowsingManager.getPlatformString" id="SafeBrowsingManager.getPlatformString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getPlatformString" /> + <keyword name="SafeBrowsingManager.getThreatEntryString" id="SafeBrowsingManager.getThreatEntryString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatEntryString" /> + <keyword name="SafeBrowsingManager.getThreatMessage" id="SafeBrowsingManager.getThreatMessage" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatMessage" /> + <keyword name="SafeBrowsingManager.getThreatMessages" id="SafeBrowsingManager.getThreatMessages" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatMessages" /> + <keyword name="SafeBrowsingManager.getThreatType" id="SafeBrowsingManager.getThreatType" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatType" /> + <keyword name="SafeBrowsingManager.isEnabled" id="SafeBrowsingManager.isEnabled" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.isEnabled" /> + <keyword name="SafeBrowsingManager.isUpdatingThreatLists" id="SafeBrowsingManager.isUpdatingThreatLists" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.isUpdatingThreatLists" /> + <keyword name="SafeBrowsingManager.lookupUrl" id="SafeBrowsingManager.lookupUrl" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.lookupUrl" /> + <keyword name="SafeBrowsingManager.showSafeBrowsingDialog" id="SafeBrowsingManager.showSafeBrowsingDialog" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.showSafeBrowsingDialog" /> + <keyword name="SafeBrowsingManager.updateHashPrefixCache" id="SafeBrowsingManager.updateHashPrefixCache" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.updateHashPrefixCache" /> + <keyword name="SafeBrowsingUrl" id="SafeBrowsingUrl" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl" /> + <keyword name="SafeBrowsingUrl (Constructor)" id="SafeBrowsingUrl (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.__init__" /> + <keyword name="SafeBrowsingUrl (Module)" id="SafeBrowsingUrl (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html" /> + <keyword name="SafeBrowsingUrl.canonical" id="SafeBrowsingUrl.canonical" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.canonical" /> + <keyword name="SafeBrowsingUrl.digest" id="SafeBrowsingUrl.digest" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.digest" /> + <keyword name="SafeBrowsingUrl.fullUnescape" id="SafeBrowsingUrl.fullUnescape" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.fullUnescape" /> + <keyword name="SafeBrowsingUrl.hashes" id="SafeBrowsingUrl.hashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.hashes" /> + <keyword name="SafeBrowsingUrl.hostPermutations" id="SafeBrowsingUrl.hostPermutations" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.hostPermutations" /> + <keyword name="SafeBrowsingUrl.pathPermutations" id="SafeBrowsingUrl.pathPermutations" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.pathPermutations" /> + <keyword name="SafeBrowsingUrl.permutations" id="SafeBrowsingUrl.permutations" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.permutations" /> + <keyword name="SafeBrowsingUrl.quote" id="SafeBrowsingUrl.quote" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.quote" /> + <keyword name="SafeBrowsingUtilities (Module)" id="SafeBrowsingUtilities (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html" /> <keyword name="SchemeAccessHandler" id="SchemeAccessHandler" ref="eric6.Helpviewer.Network.SchemeAccessHandler.html#SchemeAccessHandler" /> <keyword name="SchemeAccessHandler (Constructor)" id="SchemeAccessHandler (Constructor)" ref="eric6.Helpviewer.Network.SchemeAccessHandler.html#SchemeAccessHandler.__init__" /> <keyword name="SchemeAccessHandler (Module)" id="SchemeAccessHandler (Module)" ref="eric6.Helpviewer.Network.SchemeAccessHandler.html" /> @@ -14549,6 +14629,11 @@ <keyword name="ThreadExtension.updateThreadList" id="ThreadExtension.updateThreadList" ref="eric6.DebugClients.Python.ThreadExtension.html#ThreadExtension.updateThreadList" /> <keyword name="ThreadWrapper" id="ThreadWrapper" ref="eric6.DebugClients.Python.ThreadExtension.html#ThreadWrapper" /> <keyword name="ThreadWrapper (Constructor)" id="ThreadWrapper (Constructor)" ref="eric6.DebugClients.Python.ThreadExtension.html#ThreadWrapper.__init__" /> + <keyword name="ThreatList" id="ThreatList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList" /> + <keyword name="ThreatList (Constructor)" id="ThreatList (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.__init__" /> + <keyword name="ThreatList.__repr__" id="ThreatList.__repr__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.__repr__" /> + <keyword name="ThreatList.asTuple" id="ThreatList.asTuple" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.asTuple" /> + <keyword name="ThreatList.fromApiEntry" id="ThreatList.fromApiEntry" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.fromApiEntry" /> <keyword name="Token" id="Token" ref="eric6.DataViews.CodeMetrics.html#Token" /> <keyword name="Token" id="Token" ref="eric6.E5Network.E5RFC6266.html#Token" /> <keyword name="Token (Constructor)" id="Token (Constructor)" ref="eric6.DataViews.CodeMetrics.html#Token.__init__" /> @@ -14832,6 +14917,7 @@ <keyword name="UrlBar.__setRssButton" id="UrlBar.__setRssButton" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__setRssButton" /> <keyword name="UrlBar.__showBookmarkInfo" id="UrlBar.__showBookmarkInfo" ref="eric6.Helpviewer.UrlBar.UrlBar.html#UrlBar.__showBookmarkInfo" /> <keyword name="UrlBar.__showBookmarkInfo" id="UrlBar.__showBookmarkInfo" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__showBookmarkInfo" /> + <keyword name="UrlBar.__showThreatInfo" id="UrlBar.__showThreatInfo" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__showThreatInfo" /> <keyword name="UrlBar.__textChanged" id="UrlBar.__textChanged" ref="eric6.Helpviewer.UrlBar.UrlBar.html#UrlBar.__textChanged" /> <keyword name="UrlBar.__textChanged" id="UrlBar.__textChanged" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__textChanged" /> <keyword name="UrlBar.browser" id="UrlBar.browser" ref="eric6.Helpviewer.UrlBar.UrlBar.html#UrlBar.browser" /> @@ -15848,6 +15934,7 @@ <keyword name="WebBrowserPage.certificateError" id="WebBrowserPage.certificateError" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.certificateError" /> <keyword name="WebBrowserPage.execJavaScript" id="WebBrowserPage.execJavaScript" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.execJavaScript" /> <keyword name="WebBrowserPage.execPrintPage" id="WebBrowserPage.execPrintPage" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.execPrintPage" /> + <keyword name="WebBrowserPage.getSafeBrowsingStatus" id="WebBrowserPage.getSafeBrowsingStatus" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.getSafeBrowsingStatus" /> <keyword name="WebBrowserPage.hitTestContent" id="WebBrowserPage.hitTestContent" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.hitTestContent" /> <keyword name="WebBrowserPage.icon" id="WebBrowserPage.icon" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.icon" /> <keyword name="WebBrowserPage.isJavaScriptEnabled" id="WebBrowserPage.isJavaScriptEnabled" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.isJavaScriptEnabled" /> @@ -15961,6 +16048,7 @@ <keyword name="WebBrowserView.__createImageContextMenu" id="WebBrowserView.__createImageContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createImageContextMenu" /> <keyword name="WebBrowserView.__createLinkContextMenu" id="WebBrowserView.__createLinkContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createLinkContextMenu" /> <keyword name="WebBrowserView.__createMediaContextMenu" id="WebBrowserView.__createMediaContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createMediaContextMenu" /> + <keyword name="WebBrowserView.__createNewPage" id="WebBrowserView.__createNewPage" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createNewPage" /> <keyword name="WebBrowserView.__createPageContextMenu" id="WebBrowserView.__createPageContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createPageContextMenu" /> <keyword name="WebBrowserView.__createSelectedTextContextMenu" id="WebBrowserView.__createSelectedTextContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createSelectedTextContextMenu" /> <keyword name="WebBrowserView.__currentEngineChanged" id="WebBrowserView.__currentEngineChanged" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__currentEngineChanged" /> @@ -16025,6 +16113,7 @@ <keyword name="WebBrowserView.forward" id="WebBrowserView.forward" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.forward" /> <keyword name="WebBrowserView.getPreview" id="WebBrowserView.getPreview" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getPreview" /> <keyword name="WebBrowserView.getRSS" id="WebBrowserView.getRSS" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getRSS" /> + <keyword name="WebBrowserView.getSafeBrowsingStatus" id="WebBrowserView.getSafeBrowsingStatus" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getSafeBrowsingStatus" /> <keyword name="WebBrowserView.getSessionData" id="WebBrowserView.getSessionData" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getSessionData" /> <keyword name="WebBrowserView.hasRSS" id="WebBrowserView.hasRSS" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.hasRSS" /> <keyword name="WebBrowserView.hasSelection" id="WebBrowserView.hasSelection" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.hasSelection" /> @@ -16166,6 +16255,7 @@ <keyword name="WebBrowserWindow.__showPasswordsDialog" id="WebBrowserWindow.__showPasswordsDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showPasswordsDialog" /> <keyword name="WebBrowserWindow.__showPersonalInformationDialog" id="WebBrowserWindow.__showPersonalInformationDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showPersonalInformationDialog" /> <keyword name="WebBrowserWindow.__showPreferences" id="WebBrowserWindow.__showPreferences" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showPreferences" /> + <keyword name="WebBrowserWindow.__showSafeBrowsingDialog" id="WebBrowserWindow.__showSafeBrowsingDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSafeBrowsingDialog" /> <keyword name="WebBrowserWindow.__showSearchWindow" id="WebBrowserWindow.__showSearchWindow" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSearchWindow" /> <keyword name="WebBrowserWindow.__showSessionManagerDialog" id="WebBrowserWindow.__showSessionManagerDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSessionManagerDialog" /> <keyword name="WebBrowserWindow.__showSiteinfoDialog" id="WebBrowserWindow.__showSiteinfoDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSiteinfoDialog" /> @@ -16222,6 +16312,7 @@ <keyword name="WebBrowserWindow.getQtHelpCollectionFileName" id="WebBrowserWindow.getQtHelpCollectionFileName" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.getQtHelpCollectionFileName" /> <keyword name="WebBrowserWindow.getSourceFileList" id="WebBrowserWindow.getSourceFileList" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.getSourceFileList" /> <keyword name="WebBrowserWindow.getWindow" id="WebBrowserWindow.getWindow" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.getWindow" /> + <keyword name="WebBrowserWindow.globalStatusBar" id="WebBrowserWindow.globalStatusBar" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.globalStatusBar" /> <keyword name="WebBrowserWindow.greaseMonkeyManager" id="WebBrowserWindow.greaseMonkeyManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.greaseMonkeyManager" /> <keyword name="WebBrowserWindow.helpEngine" id="WebBrowserWindow.helpEngine" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.helpEngine" /> <keyword name="WebBrowserWindow.hideFullScreenNavigation" id="WebBrowserWindow.hideFullScreenNavigation" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.hideFullScreenNavigation" /> @@ -16253,6 +16344,7 @@ <keyword name="WebBrowserWindow.preferencesChanged" id="WebBrowserWindow.preferencesChanged" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.preferencesChanged" /> <keyword name="WebBrowserWindow.reloadUserStyleSheet" id="WebBrowserWindow.reloadUserStyleSheet" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.reloadUserStyleSheet" /> <keyword name="WebBrowserWindow.requestVirusTotalScan" id="WebBrowserWindow.requestVirusTotalScan" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.requestVirusTotalScan" /> + <keyword name="WebBrowserWindow.safeBrowsingManager" id="WebBrowserWindow.safeBrowsingManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.safeBrowsingManager" /> <keyword name="WebBrowserWindow.search" id="WebBrowserWindow.search" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.search" /> <keyword name="WebBrowserWindow.searchEnginesAction" id="WebBrowserWindow.searchEnginesAction" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.searchEnginesAction" /> <keyword name="WebBrowserWindow.sessionManager" id="WebBrowserWindow.sessionManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.sessionManager" /> @@ -16536,7 +16628,9 @@ <keyword name="_ClbrBase" id="_ClbrBase" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase" /> <keyword name="_ClbrBase (Constructor)" id="_ClbrBase (Constructor)" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.__init__" /> <keyword name="_ClbrBase.setEndLine" id="_ClbrBase.setEndLine" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.setEndLine" /> + <keyword name="_StrikeThroughExtension" id="_StrikeThroughExtension" ref="eric6.QScintilla.Exporters.ExporterHTML.html#_StrikeThroughExtension" /> <keyword name="_StrikeThroughExtension" id="_StrikeThroughExtension" ref="eric6.UI.Previewers.PreviewerHTML.html#_StrikeThroughExtension" /> + <keyword name="_StrikeThroughExtension.extendMarkdown" id="_StrikeThroughExtension.extendMarkdown" ref="eric6.QScintilla.Exporters.ExporterHTML.html#_StrikeThroughExtension.extendMarkdown" /> <keyword name="_StrikeThroughExtension.extendMarkdown" id="_StrikeThroughExtension.extendMarkdown" ref="eric6.UI.Previewers.PreviewerHTML.html#_StrikeThroughExtension.extendMarkdown" /> <keyword name="__check" id="__check" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#__check" /> <keyword name="__checkCodeStyle" id="__checkCodeStyle" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#__checkCodeStyle" /> @@ -16685,8 +16779,8 @@ <keyword name="createConfigurationPage" id="createConfigurationPage" ref="eric6.Plugins.PluginVcsPySvn.html#createConfigurationPage" /> <keyword name="createConfigurationPage" id="createConfigurationPage" ref="eric6.Plugins.PluginVcsSubversion.html#createConfigurationPage" /> <keyword name="createDebuggerInterfaceNone" id="createDebuggerInterfaceNone" ref="eric6.Debugger.DebuggerInterfaceNone.html#createDebuggerInterfaceNone" /> - <keyword name="createDebuggerInterfacePython2" id="createDebuggerInterfacePython2" ref="eric6.Debugger.DebuggerInterfacePython2.html#createDebuggerInterfacePython2" /> - <keyword name="createDebuggerInterfacePython3" id="createDebuggerInterfacePython3" ref="eric6.Debugger.DebuggerInterfacePython3.html#createDebuggerInterfacePython3" /> + <keyword name="createDebuggerInterfacePython2" id="createDebuggerInterfacePython2" ref="eric6.Debugger.DebuggerInterfacePython.html#createDebuggerInterfacePython2" /> + <keyword name="createDebuggerInterfacePython3" id="createDebuggerInterfacePython3" ref="eric6.Debugger.DebuggerInterfacePython.html#createDebuggerInterfacePython3" /> <keyword name="createDefaultConfig" id="createDefaultConfig" ref="eric6.Plugins.VcsPlugins.vcsPySvn.SvnUtilities.html#createDefaultConfig" /> <keyword name="createDefaultConfig" id="createDefaultConfig" ref="eric6.Plugins.VcsPlugins.vcsSubversion.SvnUtilities.html#createDefaultConfig" /> <keyword name="createGlobalPluginsDir" id="createGlobalPluginsDir" ref="eric6.install.html#createGlobalPluginsDir" /> @@ -16920,8 +17014,7 @@ <keyword name="getQtTranslationsDir" id="getQtTranslationsDir" ref="eric6.Preferences.__init__.html#getQtTranslationsDir" /> <keyword name="getRealName" id="getRealName" ref="eric6.Utilities.__init__.html#getRealName" /> <keyword name="getRegistryData" id="getRegistryData" ref="eric6.Debugger.DebuggerInterfaceNone.html#getRegistryData" /> - <keyword name="getRegistryData" id="getRegistryData" ref="eric6.Debugger.DebuggerInterfacePython2.html#getRegistryData" /> - <keyword name="getRegistryData" id="getRegistryData" ref="eric6.Debugger.DebuggerInterfacePython3.html#getRegistryData" /> + <keyword name="getRegistryData" id="getRegistryData" ref="eric6.Debugger.DebuggerInterfacePython.html#getRegistryData" /> <keyword name="getSaveFileFiltersList" id="getSaveFileFiltersList" ref="eric6.QScintilla.Lexers.__init__.html#getSaveFileFiltersList" /> <keyword name="getSaveFileName" id="getSaveFileName" ref="eric6.E5Gui.E5FileDialog.html#getSaveFileName" /> <keyword name="getSaveFileNameAndFilter" id="getSaveFileNameAndFilter" ref="eric6.E5Gui.E5FileDialog.html#getSaveFileNameAndFilter" /> @@ -17255,6 +17348,7 @@ <keyword name="startswithPath" id="startswithPath" ref="eric6.Utilities.__init__.html#startswithPath" /> <keyword name="stdin_get_value" id="stdin_get_value" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#stdin_get_value" /> <keyword name="strGroup" id="strGroup" ref="eric6.Globals.__init__.html#strGroup" /> + <keyword name="strToQByteArray" id="strToQByteArray" ref="eric6.Globals.__init__.html#strToQByteArray" /> <keyword name="strip (Module)" id="strip (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.StripExtension.strip.html" /> <keyword name="strip_PKCS7_padding" id="strip_PKCS7_padding" ref="eric6.Utilities.crypto.py3AES.html#strip_PKCS7_padding" /> <keyword name="subversion (Module)" id="subversion (Module)" ref="eric6.Plugins.VcsPlugins.vcsPySvn.subversion.html" /> @@ -17274,6 +17368,8 @@ <keyword name="toByteArray" id="toByteArray" ref="eric6.Preferences.__init__.html#toByteArray" /> <keyword name="toDict" id="toDict" ref="eric6.Globals.__init__.html#toDict" /> <keyword name="toDict" id="toDict" ref="eric6.Preferences.__init__.html#toDict" /> + <keyword name="toHex" id="toHex" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html#toHex" /> + <keyword name="toHex_1" id="toHex_1" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html#toHex_1" /> <keyword name="toList" id="toList" ref="eric6.Globals.__init__.html#toList" /> <keyword name="toList" id="toList" ref="eric6.Preferences.__init__.html#toList" /> <keyword name="toNativeSeparators" id="toNativeSeparators" ref="eric6.Utilities.__init__.html#toNativeSeparators" /> @@ -17367,8 +17463,7 @@ <file>eric6.Debugger.DebugUI.html</file> <file>eric6.Debugger.DebugViewer.html</file> <file>eric6.Debugger.DebuggerInterfaceNone.html</file> - <file>eric6.Debugger.DebuggerInterfacePython2.html</file> - <file>eric6.Debugger.DebuggerInterfacePython3.html</file> + <file>eric6.Debugger.DebuggerInterfacePython.html</file> <file>eric6.Debugger.EditBreakpointDialog.html</file> <file>eric6.Debugger.EditWatchpointDialog.html</file> <file>eric6.Debugger.ExceptionLogger.html</file> @@ -18289,6 +18384,15 @@ <file>eric6.WebBrowser.QtHelp.QtHelpDocumentationDialog.html</file> <file>eric6.WebBrowser.QtHelp.QtHelpDocumentationSelectionDialog.html</file> <file>eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html</file> + <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html</file> + <file>eric6.WebBrowser.SafeBrowsing.__init__.html</file> <file>eric6.WebBrowser.SearchWidget.html</file> <file>eric6.WebBrowser.Session.SessionManager.html</file> <file>eric6.WebBrowser.Session.SessionManagerDialog.html</file> @@ -18515,6 +18619,7 @@ <file>index-eric6.WebBrowser.Passwords.html</file> <file>index-eric6.WebBrowser.PersonalInformationManager.html</file> <file>index-eric6.WebBrowser.QtHelp.html</file> + <file>index-eric6.WebBrowser.SafeBrowsing.html</file> <file>index-eric6.WebBrowser.Session.html</file> <file>index-eric6.WebBrowser.SiteInfo.html</file> <file>index-eric6.WebBrowser.SpeedDial.html</file>
--- a/Documentation/Source/eric6.Debugger.DebugServer.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.Debugger.DebugServer.html Fri Sep 01 12:08:17 2017 +0200 @@ -1106,11 +1106,11 @@ Public slot to handle the preferencesChanged signal. </p><a NAME="DebugServer.registerDebuggerInterface" ID="DebugServer.registerDebuggerInterface"></a> <h4>DebugServer.registerDebuggerInterface</h4> -<b>registerDebuggerInterface</b>(<i>name, getRegistryData</i>) +<b>registerDebuggerInterface</b>(<i>interfaceName, getRegistryData</i>) <p> Public method to register a debugger interface. </p><dl> -<dt><i>name</i> (str)</dt> +<dt><i>interfaceName</i> (str)</dt> <dd> name of the debugger interface </dd><dt><i>getRegistryData</i> (function)</dt> @@ -1848,13 +1848,13 @@ </dd> </dl><a NAME="DebugServer.unregisterDebuggerInterface" ID="DebugServer.unregisterDebuggerInterface"></a> <h4>DebugServer.unregisterDebuggerInterface</h4> -<b>unregisterDebuggerInterface</b>(<i>name</i>) +<b>unregisterDebuggerInterface</b>(<i>interfaceName</i>) <p> Public method to unregister a debugger interface. </p><dl> -<dt><i>name</i> (str)</dt> +<dt><i>interfaceName</i> (str)</dt> <dd> -name of the debugger interface +interfaceName of the debugger interface </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfaceNone.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.Debugger.DebuggerInterfaceNone.html Fri Sep 01 12:08:17 2017 +0200 @@ -41,7 +41,7 @@ <td>Module function to create a debugger interface instance.</td> </tr><tr> <td><a href="#getRegistryData">getRegistryData</a></td> -<td>Module functionto get characterizing data for the debugger interface.</td> +<td>Module function to get characterizing data for the debugger interface.</td> </tr> </table> <hr /><hr /> @@ -723,7 +723,7 @@ </dl><dl> <dt>Return Type:</dt> <dd> -DebuggerInterfacePython +DebuggerInterfaceNone </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -732,17 +732,18 @@ <h2>getRegistryData</h2> <b>getRegistryData</b>(<i></i>) <p> - Module functionto get characterizing data for the debugger interface. + Module function to get characterizing data for the debugger interface. </p><dl> <dt>Returns:</dt> <dd> -tuple containing client type, client capabilities, client file - type associations and reference to creation function +list of tuples containing the client type, the client capabilities, + the client file type associations and a reference to the creation + function </dd> </dl><dl> <dt>Return Type:</dt> <dd> -tuple of (str, int, list of str, function) +list of tuple of (str, int, list of str, function) </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Debugger.DebuggerInterfacePython.html Fri Sep 01 12:08:17 2017 +0200 @@ -0,0 +1,897 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Debugger.DebuggerInterfacePython</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Debugger.DebuggerInterfacePython</h1> +<p> +Module implementing the Python3 debugger interface for the debug server. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>ClientDefaultCapabilities</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#DebuggerInterfacePython">DebuggerInterfacePython</a></td> +<td>Class implementing the debugger interface for the debug server for Python 2 and Python 3.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr> +<td><a href="#createDebuggerInterfacePython2">createDebuggerInterfacePython2</a></td> +<td>Module function to create a debugger interface instance.</td> +</tr><tr> +<td><a href="#createDebuggerInterfacePython3">createDebuggerInterfacePython3</a></td> +<td>Module function to create a debugger interface instance.</td> +</tr><tr> +<td><a href="#getRegistryData">getRegistryData</a></td> +<td>Module function to get characterizing data for the supported debugger interfaces.</td> +</tr> +</table> +<hr /><hr /> +<a NAME="DebuggerInterfacePython" ID="DebuggerInterfacePython"></a> +<h2>DebuggerInterfacePython</h2> +<p> + Class implementing the debugger interface for the debug server for Python 2 + and Python 3. +</p> +<h3>Derived from</h3> +QObject +<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="#DebuggerInterfacePython.__init__">DebuggerInterfacePython</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.__askForkTo">__askForkTo</a></td> +<td>Private method to ask the user which branch of a fork to follow.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.__handleJsonCommand">__handleJsonCommand</a></td> +<td>Private method to handle a command or response serialized as a JSON string.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.__identityTranslation">__identityTranslation</a></td> +<td>Private method to perform the identity path translation.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.__parseClientLine">__parseClientLine</a></td> +<td>Private method to handle data from the client.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.__remoteTranslation">__remoteTranslation</a></td> +<td>Private method to perform the path translation.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.__sendJsonCommand">__sendJsonCommand</a></td> +<td>Private method to send a single command to the client.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.__startProcess">__startProcess</a></td> +<td>Private method to start the debugger client process.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.flush">flush</a></td> +<td>Public slot to flush the queue.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.getClientCapabilities">getClientCapabilities</a></td> +<td>Public method to retrieve the debug clients capabilities.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.isConnected">isConnected</a></td> +<td>Public method to test, if a debug client has connected.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.newConnection">newConnection</a></td> +<td>Public slot to handle a new connection.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteBanner">remoteBanner</a></td> +<td>Public slot to get the banner info of the remote client.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteBreakpoint">remoteBreakpoint</a></td> +<td>Public method to set or clear a breakpoint.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteBreakpointEnable">remoteBreakpointEnable</a></td> +<td>Public method to enable or disable a breakpoint.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteBreakpointIgnore">remoteBreakpointIgnore</a></td> +<td>Public method to ignore a breakpoint the next couple of occurrences.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteCapabilities">remoteCapabilities</a></td> +<td>Public slot to get the debug clients capabilities.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteClientSetFilter">remoteClientSetFilter</a></td> +<td>Public method to set a variables filter list.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteClientVariable">remoteClientVariable</a></td> +<td>Public method to request the variables of the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteClientVariables">remoteClientVariables</a></td> +<td>Public method to request the variables of the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteCompletion">remoteCompletion</a></td> +<td>Public slot to get the a list of possible commandline completions from the remote client.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteContinue">remoteContinue</a></td> +<td>Public method to continue the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteCoverage">remoteCoverage</a></td> +<td>Public method to load a new program to collect coverage data.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteEnvironment">remoteEnvironment</a></td> +<td>Public method to set the environment for a program to debug, run, ...</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteLoad">remoteLoad</a></td> +<td>Public method to load a new program to debug.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteMoveIP">remoteMoveIP</a></td> +<td>Public method to move the instruction pointer to a different line.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteProfile">remoteProfile</a></td> +<td>Public method to load a new program to collect profiling data.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteRawInput">remoteRawInput</a></td> +<td>Public method to send the raw input to the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteRun">remoteRun</a></td> +<td>Public method to load a new program to run.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteSetThread">remoteSetThread</a></td> +<td>Public method to request to set the given thread as current thread.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteStatement">remoteStatement</a></td> +<td>Public method to execute a Python statement.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteStep">remoteStep</a></td> +<td>Public method to single step the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteStepOut">remoteStepOut</a></td> +<td>Public method to step out the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteStepOver">remoteStepOver</a></td> +<td>Public method to step over the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteStepQuit">remoteStepQuit</a></td> +<td>Public method to stop the debugged program.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteThreadList">remoteThreadList</a></td> +<td>Public method to request the list of threads from the client.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteUTPrepare">remoteUTPrepare</a></td> +<td>Public method to prepare a new unittest run.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteUTRun">remoteUTRun</a></td> +<td>Public method to start a unittest run.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteUTStop">remoteUTStop</a></td> +<td>Public method to stop a unittest run.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteWatchpoint">remoteWatchpoint</a></td> +<td>Public method to set or clear a watch expression.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteWatchpointEnable">remoteWatchpointEnable</a></td> +<td>Public method to enable or disable a watch expression.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.remoteWatchpointIgnore">remoteWatchpointIgnore</a></td> +<td>Public method to ignore a watch expression the next couple of occurrences.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.setCallTraceEnabled">setCallTraceEnabled</a></td> +<td>Public method to set the call trace state.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.shutdown">shutdown</a></td> +<td>Public method to cleanly shut down.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.startRemote">startRemote</a></td> +<td>Public method to start a remote Python interpreter.</td> +</tr><tr> +<td><a href="#DebuggerInterfacePython.startRemoteForProject">startRemoteForProject</a></td> +<td>Public method to start a remote Python interpreter for a project.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="DebuggerInterfacePython.__init__" ID="DebuggerInterfacePython.__init__"></a> +<h4>DebuggerInterfacePython (Constructor)</h4> +<b>DebuggerInterfacePython</b>(<i>debugServer, passive, pythonVariant</i>) +<p> + Constructor +</p><dl> +<dt><i>debugServer</i> (DebugServer)</dt> +<dd> +reference to the debug server +</dd><dt><i>passive</i> (bool)</dt> +<dd> +flag indicating passive connection mode +</dd><dt><i>pythonVariant</i> (str (one of Python2 or Python3))</dt> +<dd> +Python variant to instantiate for +</dd> +</dl><a NAME="DebuggerInterfacePython.__askForkTo" ID="DebuggerInterfacePython.__askForkTo"></a> +<h4>DebuggerInterfacePython.__askForkTo</h4> +<b>__askForkTo</b>(<i></i>) +<p> + Private method to ask the user which branch of a fork to follow. +</p><a NAME="DebuggerInterfacePython.__handleJsonCommand" ID="DebuggerInterfacePython.__handleJsonCommand"></a> +<h4>DebuggerInterfacePython.__handleJsonCommand</h4> +<b>__handleJsonCommand</b>(<i>jsonStr</i>) +<p> + Private method to handle a command or response serialized as a + JSON string. +</p><dl> +<dt><i>jsonStr</i> (str)</dt> +<dd> +string containing the command or response received + from the debug backend +</dd> +</dl><a NAME="DebuggerInterfacePython.__identityTranslation" ID="DebuggerInterfacePython.__identityTranslation"></a> +<h4>DebuggerInterfacePython.__identityTranslation</h4> +<b>__identityTranslation</b>(<i>fn, remote2local=True</i>) +<p> + Private method to perform the identity path translation. +</p><dl> +<dt><i>fn</i></dt> +<dd> +filename to be translated (string) +</dd><dt><i>remote2local</i></dt> +<dd> +flag indicating the direction of translation + (False = local to remote, True = remote to local [default]) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +translated filename (string) +</dd> +</dl><a NAME="DebuggerInterfacePython.__parseClientLine" ID="DebuggerInterfacePython.__parseClientLine"></a> +<h4>DebuggerInterfacePython.__parseClientLine</h4> +<b>__parseClientLine</b>(<i></i>) +<p> + Private method to handle data from the client. +</p><a NAME="DebuggerInterfacePython.__remoteTranslation" ID="DebuggerInterfacePython.__remoteTranslation"></a> +<h4>DebuggerInterfacePython.__remoteTranslation</h4> +<b>__remoteTranslation</b>(<i>fn, remote2local=True</i>) +<p> + Private method to perform the path translation. +</p><dl> +<dt><i>fn</i></dt> +<dd> +filename to be translated (string) +</dd><dt><i>remote2local</i></dt> +<dd> +flag indicating the direction of translation + (False = local to remote, True = remote to local [default]) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +translated filename (string) +</dd> +</dl><a NAME="DebuggerInterfacePython.__sendJsonCommand" ID="DebuggerInterfacePython.__sendJsonCommand"></a> +<h4>DebuggerInterfacePython.__sendJsonCommand</h4> +<b>__sendJsonCommand</b>(<i>command, params</i>) +<p> + Private method to send a single command to the client. +</p><dl> +<dt><i>command</i> (str)</dt> +<dd> +command name to be sent +</dd><dt><i>params</i> (dict)</dt> +<dd> +dictionary of named parameters for the command +</dd> +</dl><a NAME="DebuggerInterfacePython.__startProcess" ID="DebuggerInterfacePython.__startProcess"></a> +<h4>DebuggerInterfacePython.__startProcess</h4> +<b>__startProcess</b>(<i>program, arguments, environment=None</i>) +<p> + Private method to start the debugger client process. +</p><dl> +<dt><i>program</i></dt> +<dd> +name of the executable to start (string) +</dd><dt><i>arguments</i></dt> +<dd> +arguments to be passed to the program (list of string) +</dd><dt><i>environment</i></dt> +<dd> +dictionary of environment settings to pass + (dict of string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +the process object (QProcess) or None +</dd> +</dl><a NAME="DebuggerInterfacePython.flush" ID="DebuggerInterfacePython.flush"></a> +<h4>DebuggerInterfacePython.flush</h4> +<b>flush</b>(<i></i>) +<p> + Public slot to flush the queue. +</p><a NAME="DebuggerInterfacePython.getClientCapabilities" ID="DebuggerInterfacePython.getClientCapabilities"></a> +<h4>DebuggerInterfacePython.getClientCapabilities</h4> +<b>getClientCapabilities</b>(<i></i>) +<p> + Public method to retrieve the debug clients capabilities. +</p><dl> +<dt>Returns:</dt> +<dd> +debug client capabilities (integer) +</dd> +</dl><a NAME="DebuggerInterfacePython.isConnected" ID="DebuggerInterfacePython.isConnected"></a> +<h4>DebuggerInterfacePython.isConnected</h4> +<b>isConnected</b>(<i></i>) +<p> + Public method to test, if a debug client has connected. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating the connection status (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.newConnection" ID="DebuggerInterfacePython.newConnection"></a> +<h4>DebuggerInterfacePython.newConnection</h4> +<b>newConnection</b>(<i>sock</i>) +<p> + Public slot to handle a new connection. +</p><dl> +<dt><i>sock</i></dt> +<dd> +reference to the socket object (QTcpSocket) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating success (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteBanner" ID="DebuggerInterfacePython.remoteBanner"></a> +<h4>DebuggerInterfacePython.remoteBanner</h4> +<b>remoteBanner</b>(<i></i>) +<p> + Public slot to get the banner info of the remote client. +</p><a NAME="DebuggerInterfacePython.remoteBreakpoint" ID="DebuggerInterfacePython.remoteBreakpoint"></a> +<h4>DebuggerInterfacePython.remoteBreakpoint</h4> +<b>remoteBreakpoint</b>(<i>fn, line, setBreakpoint, cond=None, temp=False</i>) +<p> + Public method to set or clear a breakpoint. +</p><dl> +<dt><i>fn</i></dt> +<dd> +filename the breakpoint belongs to (string) +</dd><dt><i>line</i></dt> +<dd> +linenumber of the breakpoint (int) +</dd><dt><i>setBreakpoint</i></dt> +<dd> +flag indicating setting or resetting a + breakpoint (boolean) +</dd><dt><i>cond</i></dt> +<dd> +condition of the breakpoint (string) +</dd><dt><i>temp</i></dt> +<dd> +flag indicating a temporary breakpoint (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteBreakpointEnable" ID="DebuggerInterfacePython.remoteBreakpointEnable"></a> +<h4>DebuggerInterfacePython.remoteBreakpointEnable</h4> +<b>remoteBreakpointEnable</b>(<i>fn, line, enable</i>) +<p> + Public method to enable or disable a breakpoint. +</p><dl> +<dt><i>fn</i></dt> +<dd> +filename the breakpoint belongs to (string) +</dd><dt><i>line</i></dt> +<dd> +linenumber of the breakpoint (int) +</dd><dt><i>enable</i></dt> +<dd> +flag indicating enabling or disabling a breakpoint + (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteBreakpointIgnore" ID="DebuggerInterfacePython.remoteBreakpointIgnore"></a> +<h4>DebuggerInterfacePython.remoteBreakpointIgnore</h4> +<b>remoteBreakpointIgnore</b>(<i>fn, line, count</i>) +<p> + Public method to ignore a breakpoint the next couple of occurrences. +</p><dl> +<dt><i>fn</i></dt> +<dd> +filename the breakpoint belongs to (string) +</dd><dt><i>line</i></dt> +<dd> +linenumber of the breakpoint (int) +</dd><dt><i>count</i></dt> +<dd> +number of occurrences to ignore (int) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteCapabilities" ID="DebuggerInterfacePython.remoteCapabilities"></a> +<h4>DebuggerInterfacePython.remoteCapabilities</h4> +<b>remoteCapabilities</b>(<i></i>) +<p> + Public slot to get the debug clients capabilities. +</p><a NAME="DebuggerInterfacePython.remoteClientSetFilter" ID="DebuggerInterfacePython.remoteClientSetFilter"></a> +<h4>DebuggerInterfacePython.remoteClientSetFilter</h4> +<b>remoteClientSetFilter</b>(<i>scope, filterStr</i>) +<p> + Public method to set a variables filter list. +</p><dl> +<dt><i>scope</i></dt> +<dd> +the scope of the variables (0 = local, 1 = global) +</dd><dt><i>filterStr</i></dt> +<dd> +regexp string for variable names to filter out + (string) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteClientVariable" ID="DebuggerInterfacePython.remoteClientVariable"></a> +<h4>DebuggerInterfacePython.remoteClientVariable</h4> +<b>remoteClientVariable</b>(<i>scope, filterList, var, framenr=0</i>) +<p> + Public method to request the variables of the debugged program. +</p><dl> +<dt><i>scope</i></dt> +<dd> +the scope of the variables (0 = local, 1 = global) +</dd><dt><i>filterList</i></dt> +<dd> +list of variable types to filter out (list of int) +</dd><dt><i>var</i></dt> +<dd> +list encoded name of variable to retrieve (string) +</dd><dt><i>framenr</i></dt> +<dd> +framenumber of the variables to retrieve (int) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteClientVariables" ID="DebuggerInterfacePython.remoteClientVariables"></a> +<h4>DebuggerInterfacePython.remoteClientVariables</h4> +<b>remoteClientVariables</b>(<i>scope, filterList, framenr=0</i>) +<p> + Public method to request the variables of the debugged program. +</p><dl> +<dt><i>scope</i></dt> +<dd> +the scope of the variables (0 = local, 1 = global) +</dd><dt><i>filterList</i></dt> +<dd> +list of variable types to filter out (list of int) +</dd><dt><i>framenr</i></dt> +<dd> +framenumber of the variables to retrieve (int) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteCompletion" ID="DebuggerInterfacePython.remoteCompletion"></a> +<h4>DebuggerInterfacePython.remoteCompletion</h4> +<b>remoteCompletion</b>(<i>text</i>) +<p> + Public slot to get the a list of possible commandline completions + from the remote client. +</p><dl> +<dt><i>text</i></dt> +<dd> +the text to be completed (string) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteContinue" ID="DebuggerInterfacePython.remoteContinue"></a> +<h4>DebuggerInterfacePython.remoteContinue</h4> +<b>remoteContinue</b>(<i>special=False</i>) +<p> + Public method to continue the debugged program. +</p><dl> +<dt><i>special</i></dt> +<dd> +flag indicating a special continue operation +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteCoverage" ID="DebuggerInterfacePython.remoteCoverage"></a> +<h4>DebuggerInterfacePython.remoteCoverage</h4> +<b>remoteCoverage</b>(<i>fn, argv, wd, erase=False</i>) +<p> + Public method to load a new program to collect coverage data. +</p><dl> +<dt><i>fn</i></dt> +<dd> +the filename to run (string) +</dd><dt><i>argv</i></dt> +<dd> +the commandline arguments to pass to the program (string) +</dd><dt><i>wd</i></dt> +<dd> +the working directory for the program (string) +</dd><dt><i>erase=</i></dt> +<dd> +flag indicating that coverage info should be + cleared first (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteEnvironment" ID="DebuggerInterfacePython.remoteEnvironment"></a> +<h4>DebuggerInterfacePython.remoteEnvironment</h4> +<b>remoteEnvironment</b>(<i>env</i>) +<p> + Public method to set the environment for a program to debug, run, ... +</p><dl> +<dt><i>env</i></dt> +<dd> +environment settings (dictionary) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteLoad" ID="DebuggerInterfacePython.remoteLoad"></a> +<h4>DebuggerInterfacePython.remoteLoad</h4> +<b>remoteLoad</b>(<i>fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False</i>) +<p> + Public method to load a new program to debug. +</p><dl> +<dt><i>fn</i></dt> +<dd> +the filename to debug (string) +</dd><dt><i>argv</i></dt> +<dd> +the commandline arguments to pass to the program (string) +</dd><dt><i>wd</i></dt> +<dd> +the working directory for the program (string) +</dd><dt><i>traceInterpreter=</i></dt> +<dd> +flag indicating if the interpreter library + should be traced as well (boolean) +</dd><dt><i>autoContinue=</i></dt> +<dd> +flag indicating, that the debugger should not + stop at the first executable line (boolean) +</dd><dt><i>autoFork=</i></dt> +<dd> +flag indicating the automatic fork mode (boolean) +</dd><dt><i>forkChild=</i></dt> +<dd> +flag indicating to debug the child after forking + (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteMoveIP" ID="DebuggerInterfacePython.remoteMoveIP"></a> +<h4>DebuggerInterfacePython.remoteMoveIP</h4> +<b>remoteMoveIP</b>(<i>line</i>) +<p> + Public method to move the instruction pointer to a different line. +</p><dl> +<dt><i>line</i></dt> +<dd> +the new line, where execution should be continued +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteProfile" ID="DebuggerInterfacePython.remoteProfile"></a> +<h4>DebuggerInterfacePython.remoteProfile</h4> +<b>remoteProfile</b>(<i>fn, argv, wd, erase=False</i>) +<p> + Public method to load a new program to collect profiling data. +</p><dl> +<dt><i>fn</i></dt> +<dd> +the filename to run (string) +</dd><dt><i>argv</i></dt> +<dd> +the commandline arguments to pass to the program (string) +</dd><dt><i>wd</i></dt> +<dd> +the working directory for the program (string) +</dd><dt><i>erase=</i></dt> +<dd> +flag indicating that timing info should be cleared + first (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteRawInput" ID="DebuggerInterfacePython.remoteRawInput"></a> +<h4>DebuggerInterfacePython.remoteRawInput</h4> +<b>remoteRawInput</b>(<i>s</i>) +<p> + Public method to send the raw input to the debugged program. +</p><dl> +<dt><i>s</i></dt> +<dd> +the raw input (string) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteRun" ID="DebuggerInterfacePython.remoteRun"></a> +<h4>DebuggerInterfacePython.remoteRun</h4> +<b>remoteRun</b>(<i>fn, argv, wd, autoFork=False, forkChild=False</i>) +<p> + Public method to load a new program to run. +</p><dl> +<dt><i>fn</i></dt> +<dd> +the filename to run (string) +</dd><dt><i>argv</i></dt> +<dd> +the commandline arguments to pass to the program (string) +</dd><dt><i>wd</i></dt> +<dd> +the working directory for the program (string) +</dd><dt><i>autoFork=</i></dt> +<dd> +flag indicating the automatic fork mode (boolean) +</dd><dt><i>forkChild=</i></dt> +<dd> +flag indicating to debug the child after forking + (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteSetThread" ID="DebuggerInterfacePython.remoteSetThread"></a> +<h4>DebuggerInterfacePython.remoteSetThread</h4> +<b>remoteSetThread</b>(<i>tid</i>) +<p> + Public method to request to set the given thread as current thread. +</p><dl> +<dt><i>tid</i></dt> +<dd> +id of the thread (integer) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteStatement" ID="DebuggerInterfacePython.remoteStatement"></a> +<h4>DebuggerInterfacePython.remoteStatement</h4> +<b>remoteStatement</b>(<i>stmt</i>) +<p> + Public method to execute a Python statement. +</p><dl> +<dt><i>stmt</i></dt> +<dd> +the Python statement to execute (string). It + should not have a trailing newline. +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteStep" ID="DebuggerInterfacePython.remoteStep"></a> +<h4>DebuggerInterfacePython.remoteStep</h4> +<b>remoteStep</b>(<i></i>) +<p> + Public method to single step the debugged program. +</p><a NAME="DebuggerInterfacePython.remoteStepOut" ID="DebuggerInterfacePython.remoteStepOut"></a> +<h4>DebuggerInterfacePython.remoteStepOut</h4> +<b>remoteStepOut</b>(<i></i>) +<p> + Public method to step out the debugged program. +</p><a NAME="DebuggerInterfacePython.remoteStepOver" ID="DebuggerInterfacePython.remoteStepOver"></a> +<h4>DebuggerInterfacePython.remoteStepOver</h4> +<b>remoteStepOver</b>(<i></i>) +<p> + Public method to step over the debugged program. +</p><a NAME="DebuggerInterfacePython.remoteStepQuit" ID="DebuggerInterfacePython.remoteStepQuit"></a> +<h4>DebuggerInterfacePython.remoteStepQuit</h4> +<b>remoteStepQuit</b>(<i></i>) +<p> + Public method to stop the debugged program. +</p><a NAME="DebuggerInterfacePython.remoteThreadList" ID="DebuggerInterfacePython.remoteThreadList"></a> +<h4>DebuggerInterfacePython.remoteThreadList</h4> +<b>remoteThreadList</b>(<i></i>) +<p> + Public method to request the list of threads from the client. +</p><a NAME="DebuggerInterfacePython.remoteUTPrepare" ID="DebuggerInterfacePython.remoteUTPrepare"></a> +<h4>DebuggerInterfacePython.remoteUTPrepare</h4> +<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>) +<p> + Public method to prepare a new unittest run. +</p><dl> +<dt><i>fn</i></dt> +<dd> +the filename to load (string) +</dd><dt><i>tn</i></dt> +<dd> +the testname to load (string) +</dd><dt><i>tfn</i></dt> +<dd> +the test function name to load tests from (string) +</dd><dt><i>failed</i></dt> +<dd> +list of failed test, if only failed test should be run + (list of strings) +</dd><dt><i>cov</i></dt> +<dd> +flag indicating collection of coverage data is requested + (boolean) +</dd><dt><i>covname</i></dt> +<dd> +filename to be used to assemble the coverage caches + filename (string) +</dd><dt><i>coverase</i></dt> +<dd> +flag indicating erasure of coverage data is requested + (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteUTRun" ID="DebuggerInterfacePython.remoteUTRun"></a> +<h4>DebuggerInterfacePython.remoteUTRun</h4> +<b>remoteUTRun</b>(<i></i>) +<p> + Public method to start a unittest run. +</p><a NAME="DebuggerInterfacePython.remoteUTStop" ID="DebuggerInterfacePython.remoteUTStop"></a> +<h4>DebuggerInterfacePython.remoteUTStop</h4> +<b>remoteUTStop</b>(<i></i>) +<p> + Public method to stop a unittest run. +</p><a NAME="DebuggerInterfacePython.remoteWatchpoint" ID="DebuggerInterfacePython.remoteWatchpoint"></a> +<h4>DebuggerInterfacePython.remoteWatchpoint</h4> +<b>remoteWatchpoint</b>(<i>cond, setWatch, temp=False</i>) +<p> + Public method to set or clear a watch expression. +</p><dl> +<dt><i>cond</i></dt> +<dd> +expression of the watch expression (string) +</dd><dt><i>setWatch</i></dt> +<dd> +flag indicating setting or resetting a watch expression + (boolean) +</dd><dt><i>temp</i></dt> +<dd> +flag indicating a temporary watch expression (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteWatchpointEnable" ID="DebuggerInterfacePython.remoteWatchpointEnable"></a> +<h4>DebuggerInterfacePython.remoteWatchpointEnable</h4> +<b>remoteWatchpointEnable</b>(<i>cond, enable</i>) +<p> + Public method to enable or disable a watch expression. +</p><dl> +<dt><i>cond</i></dt> +<dd> +expression of the watch expression (string) +</dd><dt><i>enable</i></dt> +<dd> +flag indicating enabling or disabling a watch expression + (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.remoteWatchpointIgnore" ID="DebuggerInterfacePython.remoteWatchpointIgnore"></a> +<h4>DebuggerInterfacePython.remoteWatchpointIgnore</h4> +<b>remoteWatchpointIgnore</b>(<i>cond, count</i>) +<p> + Public method to ignore a watch expression the next couple of + occurrences. +</p><dl> +<dt><i>cond</i></dt> +<dd> +expression of the watch expression (string) +</dd><dt><i>count</i></dt> +<dd> +number of occurrences to ignore (int) +</dd> +</dl><a NAME="DebuggerInterfacePython.setCallTraceEnabled" ID="DebuggerInterfacePython.setCallTraceEnabled"></a> +<h4>DebuggerInterfacePython.setCallTraceEnabled</h4> +<b>setCallTraceEnabled</b>(<i>on</i>) +<p> + Public method to set the call trace state. +</p><dl> +<dt><i>on</i></dt> +<dd> +flag indicating to enable the call trace function (boolean) +</dd> +</dl><a NAME="DebuggerInterfacePython.shutdown" ID="DebuggerInterfacePython.shutdown"></a> +<h4>DebuggerInterfacePython.shutdown</h4> +<b>shutdown</b>(<i></i>) +<p> + Public method to cleanly shut down. +</p><p> + It closes our socket and shuts down + the debug client. (Needed on Win OS) +</p><a NAME="DebuggerInterfacePython.startRemote" ID="DebuggerInterfacePython.startRemote"></a> +<h4>DebuggerInterfacePython.startRemote</h4> +<b>startRemote</b>(<i>port, runInConsole</i>) +<p> + Public method to start a remote Python interpreter. +</p><dl> +<dt><i>port</i></dt> +<dd> +portnumber the debug server is listening on (integer) +</dd><dt><i>runInConsole</i></dt> +<dd> +flag indicating to start the debugger in a + console window (boolean) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +client process object (QProcess), a flag to indicate + a network connection (boolean) and the name of the interpreter + in case of a local execution (string) +</dd> +</dl><a NAME="DebuggerInterfacePython.startRemoteForProject" ID="DebuggerInterfacePython.startRemoteForProject"></a> +<h4>DebuggerInterfacePython.startRemoteForProject</h4> +<b>startRemoteForProject</b>(<i>port, runInConsole</i>) +<p> + Public method to start a remote Python interpreter for a project. +</p><dl> +<dt><i>port</i></dt> +<dd> +portnumber the debug server is listening on (integer) +</dd><dt><i>runInConsole</i></dt> +<dd> +flag indicating to start the debugger in a + console window (boolean) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +client process object (QProcess), a flag to indicate + a network connection (boolean) and the name of the interpreter + in case of a local execution (string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="createDebuggerInterfacePython2" ID="createDebuggerInterfacePython2"></a> +<h2>createDebuggerInterfacePython2</h2> +<b>createDebuggerInterfacePython2</b>(<i>debugServer, passive</i>) +<p> + Module function to create a debugger interface instance. +</p><p> + +</p><dl> +<dt><i>debugServer</i> (DebugServer)</dt> +<dd> +reference to the debug server +</dd><dt><i>passive</i> (bool)</dt> +<dd> +flag indicating passive connection mode +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +instantiated debugger interface +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +DebuggerInterfacePython +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="createDebuggerInterfacePython3" ID="createDebuggerInterfacePython3"></a> +<h2>createDebuggerInterfacePython3</h2> +<b>createDebuggerInterfacePython3</b>(<i>debugServer, passive</i>) +<p> + Module function to create a debugger interface instance. +</p><p> + +</p><dl> +<dt><i>debugServer</i> (DebugServer)</dt> +<dd> +reference to the debug server +</dd><dt><i>passive</i> (bool)</dt> +<dd> +flag indicating passive connection mode +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +instantiated debugger interface +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +DebuggerInterfacePython +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getRegistryData" ID="getRegistryData"></a> +<h2>getRegistryData</h2> +<b>getRegistryData</b>(<i></i>) +<p> + Module function to get characterizing data for the supported debugger + interfaces. +</p><dl> +<dt>Returns:</dt> +<dd> +list of tuples containing the client type, the client capabilities, + the client file type associations and a reference to the creation + function +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of tuple of (str, int, list of str, function) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfacePython2.html Thu Aug 03 14:50:59 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,860 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Debugger.DebuggerInterfacePython2</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body><a NAME="top" ID="top"></a> -<h1>eric6.Debugger.DebuggerInterfacePython2</h1> -<p> -Module implementing the Python debugger interface for the debug server. -</p> -<h3>Global Attributes</h3> -<table> -<tr><td>ClientDefaultCapabilities</td></tr> -</table> -<h3>Classes</h3> -<table> -<tr> -<td><a href="#DebuggerInterfacePython2">DebuggerInterfacePython2</a></td> -<td>Class implementing the Python 2 debugger interface for the debug server.</td> -</tr> -</table> -<h3>Functions</h3> -<table> -<tr> -<td><a href="#createDebuggerInterfacePython2">createDebuggerInterfacePython2</a></td> -<td>Module function to create a debugger interface instance.</td> -</tr><tr> -<td><a href="#getRegistryData">getRegistryData</a></td> -<td>Module function to get characterizing data for the debugger interface.</td> -</tr> -</table> -<hr /><hr /> -<a NAME="DebuggerInterfacePython2" ID="DebuggerInterfacePython2"></a> -<h2>DebuggerInterfacePython2</h2> -<p> - Class implementing the Python 2 debugger interface for the debug server. -</p> -<h3>Derived from</h3> -QObject -<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="#DebuggerInterfacePython2.__init__">DebuggerInterfacePython2</a></td> -<td>Constructor</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.__askForkTo">__askForkTo</a></td> -<td>Private method to ask the user which branch of a fork to follow.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.__handleJsonCommand">__handleJsonCommand</a></td> -<td>Private method to handle a command or response serialized as a JSON string.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.__identityTranslation">__identityTranslation</a></td> -<td>Private method to perform the identity path translation.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.__parseClientLine">__parseClientLine</a></td> -<td>Private method to handle data from the client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.__remoteTranslation">__remoteTranslation</a></td> -<td>Private method to perform the path translation.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.__sendJsonCommand">__sendJsonCommand</a></td> -<td>Private method to send a single command to the client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.__startProcess">__startProcess</a></td> -<td>Private method to start the debugger client process.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.flush">flush</a></td> -<td>Public slot to flush the queue.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.getClientCapabilities">getClientCapabilities</a></td> -<td>Public method to retrieve the debug clients capabilities.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.isConnected">isConnected</a></td> -<td>Public method to test, if a debug client has connected.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.newConnection">newConnection</a></td> -<td>Public slot to handle a new connection.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteBanner">remoteBanner</a></td> -<td>Public slot to get the banner info of the remote client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteBreakpoint">remoteBreakpoint</a></td> -<td>Public method to set or clear a breakpoint.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteBreakpointEnable">remoteBreakpointEnable</a></td> -<td>Public method to enable or disable a breakpoint.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteBreakpointIgnore">remoteBreakpointIgnore</a></td> -<td>Public method to ignore a breakpoint the next couple of occurrences.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteCapabilities">remoteCapabilities</a></td> -<td>Public slot to get the debug clients capabilities.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteClientSetFilter">remoteClientSetFilter</a></td> -<td>Public method to set a variables filter list.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteClientVariable">remoteClientVariable</a></td> -<td>Public method to request the variables of the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteClientVariables">remoteClientVariables</a></td> -<td>Public method to request the variables of the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteCompletion">remoteCompletion</a></td> -<td>Public slot to get the a list of possible commandline completions from the remote client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteContinue">remoteContinue</a></td> -<td>Public method to continue the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteCoverage">remoteCoverage</a></td> -<td>Public method to load a new program to collect coverage data.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteEnvironment">remoteEnvironment</a></td> -<td>Public method to set the environment for a program to debug, run, ...</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteLoad">remoteLoad</a></td> -<td>Public method to load a new program to debug.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteMoveIP">remoteMoveIP</a></td> -<td>Public method to move the instruction pointer to a different line.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteProfile">remoteProfile</a></td> -<td>Public method to load a new program to collect profiling data.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteRawInput">remoteRawInput</a></td> -<td>Public method to send the raw input to the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteRun">remoteRun</a></td> -<td>Public method to load a new program to run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteSetThread">remoteSetThread</a></td> -<td>Public method to request to set the given thread as current thread.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteStatement">remoteStatement</a></td> -<td>Public method to execute a Python statement.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteStep">remoteStep</a></td> -<td>Public method to single step the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteStepOut">remoteStepOut</a></td> -<td>Public method to step out the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteStepOver">remoteStepOver</a></td> -<td>Public method to step over the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteStepQuit">remoteStepQuit</a></td> -<td>Public method to stop the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteThreadList">remoteThreadList</a></td> -<td>Public method to request the list of threads from the client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteUTPrepare">remoteUTPrepare</a></td> -<td>Public method to prepare a new unittest run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteUTRun">remoteUTRun</a></td> -<td>Public method to start a unittest run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteUTStop">remoteUTStop</a></td> -<td>Public method to stop a unittest run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteWatchpoint">remoteWatchpoint</a></td> -<td>Public method to set or clear a watch expression.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteWatchpointEnable">remoteWatchpointEnable</a></td> -<td>Public method to enable or disable a watch expression.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.remoteWatchpointIgnore">remoteWatchpointIgnore</a></td> -<td>Public method to ignore a watch expression the next couple of occurrences.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.setCallTraceEnabled">setCallTraceEnabled</a></td> -<td>Public method to set the call trace state.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.shutdown">shutdown</a></td> -<td>Public method to cleanly shut down.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.startRemote">startRemote</a></td> -<td>Public method to start a remote Python interpreter.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython2.startRemoteForProject">startRemoteForProject</a></td> -<td>Public method to start a remote Python interpreter for a project.</td> -</tr> -</table> -<h3>Static Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<a NAME="DebuggerInterfacePython2.__init__" ID="DebuggerInterfacePython2.__init__"></a> -<h4>DebuggerInterfacePython2 (Constructor)</h4> -<b>DebuggerInterfacePython2</b>(<i>debugServer, passive</i>) -<p> - Constructor -</p><dl> -<dt><i>debugServer</i></dt> -<dd> -reference to the debug server (DebugServer) -</dd><dt><i>passive</i></dt> -<dd> -flag indicating passive connection mode (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.__askForkTo" ID="DebuggerInterfacePython2.__askForkTo"></a> -<h4>DebuggerInterfacePython2.__askForkTo</h4> -<b>__askForkTo</b>(<i></i>) -<p> - Private method to ask the user which branch of a fork to follow. -</p><a NAME="DebuggerInterfacePython2.__handleJsonCommand" ID="DebuggerInterfacePython2.__handleJsonCommand"></a> -<h4>DebuggerInterfacePython2.__handleJsonCommand</h4> -<b>__handleJsonCommand</b>(<i>jsonStr</i>) -<p> - Private method to handle a command or response serialized as a - JSON string. -</p><dl> -<dt><i>jsonStr</i> (str)</dt> -<dd> -string containing the command or response received - from the debug backend -</dd> -</dl><a NAME="DebuggerInterfacePython2.__identityTranslation" ID="DebuggerInterfacePython2.__identityTranslation"></a> -<h4>DebuggerInterfacePython2.__identityTranslation</h4> -<b>__identityTranslation</b>(<i>fn, remote2local=True</i>) -<p> - Private method to perform the identity path translation. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename to be translated (string) -</dd><dt><i>remote2local</i></dt> -<dd> -flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -translated filename (string) -</dd> -</dl><a NAME="DebuggerInterfacePython2.__parseClientLine" ID="DebuggerInterfacePython2.__parseClientLine"></a> -<h4>DebuggerInterfacePython2.__parseClientLine</h4> -<b>__parseClientLine</b>(<i></i>) -<p> - Private method to handle data from the client. -</p><a NAME="DebuggerInterfacePython2.__remoteTranslation" ID="DebuggerInterfacePython2.__remoteTranslation"></a> -<h4>DebuggerInterfacePython2.__remoteTranslation</h4> -<b>__remoteTranslation</b>(<i>fn, remote2local=True</i>) -<p> - Private method to perform the path translation. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename to be translated (string) -</dd><dt><i>remote2local</i></dt> -<dd> -flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -translated filename (string) -</dd> -</dl><a NAME="DebuggerInterfacePython2.__sendJsonCommand" ID="DebuggerInterfacePython2.__sendJsonCommand"></a> -<h4>DebuggerInterfacePython2.__sendJsonCommand</h4> -<b>__sendJsonCommand</b>(<i>command, params</i>) -<p> - Private method to send a single command to the client. -</p><dl> -<dt><i>command</i> (str)</dt> -<dd> -command name to be sent -</dd><dt><i>params</i> (dict)</dt> -<dd> -dictionary of named parameters for the command -</dd> -</dl><a NAME="DebuggerInterfacePython2.__startProcess" ID="DebuggerInterfacePython2.__startProcess"></a> -<h4>DebuggerInterfacePython2.__startProcess</h4> -<b>__startProcess</b>(<i>program, arguments, environment=None</i>) -<p> - Private method to start the debugger client process. -</p><dl> -<dt><i>program</i></dt> -<dd> -name of the executable to start (string) -</dd><dt><i>arguments</i></dt> -<dd> -arguments to be passed to the program (list of string) -</dd><dt><i>environment</i></dt> -<dd> -dictionary of environment settings to pass - (dict of string) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -the process object (QProcess) or None -</dd> -</dl><a NAME="DebuggerInterfacePython2.flush" ID="DebuggerInterfacePython2.flush"></a> -<h4>DebuggerInterfacePython2.flush</h4> -<b>flush</b>(<i></i>) -<p> - Public slot to flush the queue. -</p><a NAME="DebuggerInterfacePython2.getClientCapabilities" ID="DebuggerInterfacePython2.getClientCapabilities"></a> -<h4>DebuggerInterfacePython2.getClientCapabilities</h4> -<b>getClientCapabilities</b>(<i></i>) -<p> - Public method to retrieve the debug clients capabilities. -</p><dl> -<dt>Returns:</dt> -<dd> -debug client capabilities (integer) -</dd> -</dl><a NAME="DebuggerInterfacePython2.isConnected" ID="DebuggerInterfacePython2.isConnected"></a> -<h4>DebuggerInterfacePython2.isConnected</h4> -<b>isConnected</b>(<i></i>) -<p> - Public method to test, if a debug client has connected. -</p><dl> -<dt>Returns:</dt> -<dd> -flag indicating the connection status (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.newConnection" ID="DebuggerInterfacePython2.newConnection"></a> -<h4>DebuggerInterfacePython2.newConnection</h4> -<b>newConnection</b>(<i>sock</i>) -<p> - Public slot to handle a new connection. -</p><dl> -<dt><i>sock</i></dt> -<dd> -reference to the socket object (QTcpSocket) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -flag indicating success (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteBanner" ID="DebuggerInterfacePython2.remoteBanner"></a> -<h4>DebuggerInterfacePython2.remoteBanner</h4> -<b>remoteBanner</b>(<i></i>) -<p> - Public slot to get the banner info of the remote client. -</p><a NAME="DebuggerInterfacePython2.remoteBreakpoint" ID="DebuggerInterfacePython2.remoteBreakpoint"></a> -<h4>DebuggerInterfacePython2.remoteBreakpoint</h4> -<b>remoteBreakpoint</b>(<i>fn, line, setBreakpoint, cond=None, temp=False</i>) -<p> - Public method to set or clear a breakpoint. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename the breakpoint belongs to (string) -</dd><dt><i>line</i></dt> -<dd> -linenumber of the breakpoint (int) -</dd><dt><i>setBreakpoint</i></dt> -<dd> -flag indicating setting or resetting a - breakpoint (boolean) -</dd><dt><i>cond</i></dt> -<dd> -condition of the breakpoint (string) -</dd><dt><i>temp</i></dt> -<dd> -flag indicating a temporary breakpoint (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteBreakpointEnable" ID="DebuggerInterfacePython2.remoteBreakpointEnable"></a> -<h4>DebuggerInterfacePython2.remoteBreakpointEnable</h4> -<b>remoteBreakpointEnable</b>(<i>fn, line, enable</i>) -<p> - Public method to enable or disable a breakpoint. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename the breakpoint belongs to (string) -</dd><dt><i>line</i></dt> -<dd> -linenumber of the breakpoint (int) -</dd><dt><i>enable</i></dt> -<dd> -flag indicating enabling or disabling a breakpoint - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteBreakpointIgnore" ID="DebuggerInterfacePython2.remoteBreakpointIgnore"></a> -<h4>DebuggerInterfacePython2.remoteBreakpointIgnore</h4> -<b>remoteBreakpointIgnore</b>(<i>fn, line, count</i>) -<p> - Public method to ignore a breakpoint the next couple of occurrences. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename the breakpoint belongs to (string) -</dd><dt><i>line</i></dt> -<dd> -linenumber of the breakpoint (int) -</dd><dt><i>count</i></dt> -<dd> -number of occurrences to ignore (int) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteCapabilities" ID="DebuggerInterfacePython2.remoteCapabilities"></a> -<h4>DebuggerInterfacePython2.remoteCapabilities</h4> -<b>remoteCapabilities</b>(<i></i>) -<p> - Public slot to get the debug clients capabilities. -</p><a NAME="DebuggerInterfacePython2.remoteClientSetFilter" ID="DebuggerInterfacePython2.remoteClientSetFilter"></a> -<h4>DebuggerInterfacePython2.remoteClientSetFilter</h4> -<b>remoteClientSetFilter</b>(<i>scope, filterStr</i>) -<p> - Public method to set a variables filter list. -</p><dl> -<dt><i>scope</i></dt> -<dd> -the scope of the variables (0 = local, 1 = global) -</dd><dt><i>filterStr</i></dt> -<dd> -regexp string for variable names to filter out - (string) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteClientVariable" ID="DebuggerInterfacePython2.remoteClientVariable"></a> -<h4>DebuggerInterfacePython2.remoteClientVariable</h4> -<b>remoteClientVariable</b>(<i>scope, filterList, var, framenr=0</i>) -<p> - Public method to request the variables of the debugged program. -</p><dl> -<dt><i>scope</i></dt> -<dd> -the scope of the variables (0 = local, 1 = global) -</dd><dt><i>filterList</i></dt> -<dd> -list of variable types to filter out (list of int) -</dd><dt><i>var</i></dt> -<dd> -list encoded name of variable to retrieve (string) -</dd><dt><i>framenr</i></dt> -<dd> -framenumber of the variables to retrieve (int) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteClientVariables" ID="DebuggerInterfacePython2.remoteClientVariables"></a> -<h4>DebuggerInterfacePython2.remoteClientVariables</h4> -<b>remoteClientVariables</b>(<i>scope, filterList, framenr=0</i>) -<p> - Public method to request the variables of the debugged program. -</p><dl> -<dt><i>scope</i></dt> -<dd> -the scope of the variables (0 = local, 1 = global) -</dd><dt><i>filterList</i></dt> -<dd> -list of variable types to filter out (list of int) -</dd><dt><i>framenr</i></dt> -<dd> -framenumber of the variables to retrieve (int) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteCompletion" ID="DebuggerInterfacePython2.remoteCompletion"></a> -<h4>DebuggerInterfacePython2.remoteCompletion</h4> -<b>remoteCompletion</b>(<i>text</i>) -<p> - Public slot to get the a list of possible commandline completions - from the remote client. -</p><dl> -<dt><i>text</i></dt> -<dd> -the text to be completed (string) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteContinue" ID="DebuggerInterfacePython2.remoteContinue"></a> -<h4>DebuggerInterfacePython2.remoteContinue</h4> -<b>remoteContinue</b>(<i>special=False</i>) -<p> - Public method to continue the debugged program. -</p><dl> -<dt><i>special</i></dt> -<dd> -flag indicating a special continue operation (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteCoverage" ID="DebuggerInterfacePython2.remoteCoverage"></a> -<h4>DebuggerInterfacePython2.remoteCoverage</h4> -<b>remoteCoverage</b>(<i>fn, argv, wd, erase=False</i>) -<p> - Public method to load a new program to collect coverage data. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to run (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>erase=</i></dt> -<dd> -flag indicating that coverage info should be - cleared first (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteEnvironment" ID="DebuggerInterfacePython2.remoteEnvironment"></a> -<h4>DebuggerInterfacePython2.remoteEnvironment</h4> -<b>remoteEnvironment</b>(<i>env</i>) -<p> - Public method to set the environment for a program to debug, run, ... -</p><dl> -<dt><i>env</i></dt> -<dd> -environment settings (dictionary) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteLoad" ID="DebuggerInterfacePython2.remoteLoad"></a> -<h4>DebuggerInterfacePython2.remoteLoad</h4> -<b>remoteLoad</b>(<i>fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False</i>) -<p> - Public method to load a new program to debug. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to debug (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>traceInterpreter=</i></dt> -<dd> -flag indicating if the interpreter library - should be traced as well (boolean) -</dd><dt><i>autoContinue=</i></dt> -<dd> -flag indicating, that the debugger should not - stop at the first executable line (boolean) -</dd><dt><i>autoFork=</i></dt> -<dd> -flag indicating the automatic fork mode (boolean) -</dd><dt><i>forkChild=</i></dt> -<dd> -flag indicating to debug the child after forking - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteMoveIP" ID="DebuggerInterfacePython2.remoteMoveIP"></a> -<h4>DebuggerInterfacePython2.remoteMoveIP</h4> -<b>remoteMoveIP</b>(<i>line</i>) -<p> - Public method to move the instruction pointer to a different line. -</p><dl> -<dt><i>line</i></dt> -<dd> -the new line, where execution should be continued -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteProfile" ID="DebuggerInterfacePython2.remoteProfile"></a> -<h4>DebuggerInterfacePython2.remoteProfile</h4> -<b>remoteProfile</b>(<i>fn, argv, wd, erase=False</i>) -<p> - Public method to load a new program to collect profiling data. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to run (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>erase=</i></dt> -<dd> -flag indicating that timing info should be cleared - first (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteRawInput" ID="DebuggerInterfacePython2.remoteRawInput"></a> -<h4>DebuggerInterfacePython2.remoteRawInput</h4> -<b>remoteRawInput</b>(<i>s</i>) -<p> - Public method to send the raw input to the debugged program. -</p><dl> -<dt><i>s</i></dt> -<dd> -the raw input (string) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteRun" ID="DebuggerInterfacePython2.remoteRun"></a> -<h4>DebuggerInterfacePython2.remoteRun</h4> -<b>remoteRun</b>(<i>fn, argv, wd, autoFork=False, forkChild=False</i>) -<p> - Public method to load a new program to run. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to run (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>autoFork=</i></dt> -<dd> -flag indicating the automatic fork mode (boolean) -</dd><dt><i>forkChild=</i></dt> -<dd> -flag indicating to debug the child after forking - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteSetThread" ID="DebuggerInterfacePython2.remoteSetThread"></a> -<h4>DebuggerInterfacePython2.remoteSetThread</h4> -<b>remoteSetThread</b>(<i>tid</i>) -<p> - Public method to request to set the given thread as current thread. -</p><dl> -<dt><i>tid</i></dt> -<dd> -id of the thread (integer) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteStatement" ID="DebuggerInterfacePython2.remoteStatement"></a> -<h4>DebuggerInterfacePython2.remoteStatement</h4> -<b>remoteStatement</b>(<i>stmt</i>) -<p> - Public method to execute a Python statement. -</p><dl> -<dt><i>stmt</i></dt> -<dd> -the Python statement to execute (string). It - should not have a trailing newline. -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteStep" ID="DebuggerInterfacePython2.remoteStep"></a> -<h4>DebuggerInterfacePython2.remoteStep</h4> -<b>remoteStep</b>(<i></i>) -<p> - Public method to single step the debugged program. -</p><a NAME="DebuggerInterfacePython2.remoteStepOut" ID="DebuggerInterfacePython2.remoteStepOut"></a> -<h4>DebuggerInterfacePython2.remoteStepOut</h4> -<b>remoteStepOut</b>(<i></i>) -<p> - Public method to step out the debugged program. -</p><a NAME="DebuggerInterfacePython2.remoteStepOver" ID="DebuggerInterfacePython2.remoteStepOver"></a> -<h4>DebuggerInterfacePython2.remoteStepOver</h4> -<b>remoteStepOver</b>(<i></i>) -<p> - Public method to step over the debugged program. -</p><a NAME="DebuggerInterfacePython2.remoteStepQuit" ID="DebuggerInterfacePython2.remoteStepQuit"></a> -<h4>DebuggerInterfacePython2.remoteStepQuit</h4> -<b>remoteStepQuit</b>(<i></i>) -<p> - Public method to stop the debugged program. -</p><a NAME="DebuggerInterfacePython2.remoteThreadList" ID="DebuggerInterfacePython2.remoteThreadList"></a> -<h4>DebuggerInterfacePython2.remoteThreadList</h4> -<b>remoteThreadList</b>(<i></i>) -<p> - Public method to request the list of threads from the client. -</p><a NAME="DebuggerInterfacePython2.remoteUTPrepare" ID="DebuggerInterfacePython2.remoteUTPrepare"></a> -<h4>DebuggerInterfacePython2.remoteUTPrepare</h4> -<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>) -<p> - Public method to prepare a new unittest run. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to load (string) -</dd><dt><i>tn</i></dt> -<dd> -the testname to load (string) -</dd><dt><i>tfn</i></dt> -<dd> -the test function name to load tests from (string) -</dd><dt><i>failed</i></dt> -<dd> -list of failed test, if only failed test should be run - (list of strings) -</dd><dt><i>cov</i></dt> -<dd> -flag indicating collection of coverage data is requested - (boolean) -</dd><dt><i>covname</i></dt> -<dd> -filename to be used to assemble the coverage caches - filename (string) -</dd><dt><i>coverase</i></dt> -<dd> -flag indicating erasure of coverage data is requested - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteUTRun" ID="DebuggerInterfacePython2.remoteUTRun"></a> -<h4>DebuggerInterfacePython2.remoteUTRun</h4> -<b>remoteUTRun</b>(<i></i>) -<p> - Public method to start a unittest run. -</p><a NAME="DebuggerInterfacePython2.remoteUTStop" ID="DebuggerInterfacePython2.remoteUTStop"></a> -<h4>DebuggerInterfacePython2.remoteUTStop</h4> -<b>remoteUTStop</b>(<i></i>) -<p> - Public method to stop a unittest run. -</p><a NAME="DebuggerInterfacePython2.remoteWatchpoint" ID="DebuggerInterfacePython2.remoteWatchpoint"></a> -<h4>DebuggerInterfacePython2.remoteWatchpoint</h4> -<b>remoteWatchpoint</b>(<i>cond, setWatch, temp=False</i>) -<p> - Public method to set or clear a watch expression. -</p><dl> -<dt><i>cond</i></dt> -<dd> -expression of the watch expression (string) -</dd><dt><i>setWatch</i></dt> -<dd> -flag indicating setting or resetting a watch expression - (boolean) -</dd><dt><i>temp</i></dt> -<dd> -flag indicating a temporary watch expression (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteWatchpointEnable" ID="DebuggerInterfacePython2.remoteWatchpointEnable"></a> -<h4>DebuggerInterfacePython2.remoteWatchpointEnable</h4> -<b>remoteWatchpointEnable</b>(<i>cond, enable</i>) -<p> - Public method to enable or disable a watch expression. -</p><dl> -<dt><i>cond</i></dt> -<dd> -expression of the watch expression (string) -</dd><dt><i>enable</i></dt> -<dd> -flag indicating enabling or disabling a watch expression - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.remoteWatchpointIgnore" ID="DebuggerInterfacePython2.remoteWatchpointIgnore"></a> -<h4>DebuggerInterfacePython2.remoteWatchpointIgnore</h4> -<b>remoteWatchpointIgnore</b>(<i>cond, count</i>) -<p> - Public method to ignore a watch expression the next couple of - occurrences. -</p><dl> -<dt><i>cond</i></dt> -<dd> -expression of the watch expression (string) -</dd><dt><i>count</i></dt> -<dd> -number of occurrences to ignore (int) -</dd> -</dl><a NAME="DebuggerInterfacePython2.setCallTraceEnabled" ID="DebuggerInterfacePython2.setCallTraceEnabled"></a> -<h4>DebuggerInterfacePython2.setCallTraceEnabled</h4> -<b>setCallTraceEnabled</b>(<i>on</i>) -<p> - Public method to set the call trace state. -</p><dl> -<dt><i>on</i></dt> -<dd> -flag indicating to enable the call trace function (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython2.shutdown" ID="DebuggerInterfacePython2.shutdown"></a> -<h4>DebuggerInterfacePython2.shutdown</h4> -<b>shutdown</b>(<i></i>) -<p> - Public method to cleanly shut down. -</p><p> - It closes our socket and shuts down - the debug client. (Needed on Win OS) -</p><a NAME="DebuggerInterfacePython2.startRemote" ID="DebuggerInterfacePython2.startRemote"></a> -<h4>DebuggerInterfacePython2.startRemote</h4> -<b>startRemote</b>(<i>port, runInConsole</i>) -<p> - Public method to start a remote Python interpreter. -</p><dl> -<dt><i>port</i></dt> -<dd> -portnumber the debug server is listening on (integer) -</dd><dt><i>runInConsole</i></dt> -<dd> -flag indicating to start the debugger in a - console window (boolean) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) -</dd> -</dl><a NAME="DebuggerInterfacePython2.startRemoteForProject" ID="DebuggerInterfacePython2.startRemoteForProject"></a> -<h4>DebuggerInterfacePython2.startRemoteForProject</h4> -<b>startRemoteForProject</b>(<i>port, runInConsole</i>) -<p> - Public method to start a remote Python interpreter for a project. -</p><dl> -<dt><i>port</i></dt> -<dd> -portnumber the debug server is listening on (integer) -</dd><dt><i>runInConsole</i></dt> -<dd> -flag indicating to start the debugger in a - console window (boolean) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /><hr /> -<a NAME="createDebuggerInterfacePython2" ID="createDebuggerInterfacePython2"></a> -<h2>createDebuggerInterfacePython2</h2> -<b>createDebuggerInterfacePython2</b>(<i>debugServer, passive</i>) -<p> - Module function to create a debugger interface instance. -</p><p> - -</p><dl> -<dt><i>debugServer</i> (DebugServer)</dt> -<dd> -reference to the debug server -</dd><dt><i>passive</i> (bool)</dt> -<dd> -flag indicating passive connection mode -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -instantiated debugger interface -</dd> -</dl><dl> -<dt>Return Type:</dt> -<dd> -DebuggerInterfacePython -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /><hr /> -<a NAME="getRegistryData" ID="getRegistryData"></a> -<h2>getRegistryData</h2> -<b>getRegistryData</b>(<i></i>) -<p> - Module function to get characterizing data for the debugger interface. -</p><dl> -<dt>Returns:</dt> -<dd> -tuple containing client type, client capabilities, client file - type associations and reference to creation function -</dd> -</dl><dl> -<dt>Return Type:</dt> -<dd> -tuple of (str, int, list of str, function) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfacePython3.html Thu Aug 03 14:50:59 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,860 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Debugger.DebuggerInterfacePython3</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body><a NAME="top" ID="top"></a> -<h1>eric6.Debugger.DebuggerInterfacePython3</h1> -<p> -Module implementing the Python3 debugger interface for the debug server. -</p> -<h3>Global Attributes</h3> -<table> -<tr><td>ClientDefaultCapabilities</td></tr> -</table> -<h3>Classes</h3> -<table> -<tr> -<td><a href="#DebuggerInterfacePython3">DebuggerInterfacePython3</a></td> -<td>Class implementing the Python 3 debugger interface for the debug server.</td> -</tr> -</table> -<h3>Functions</h3> -<table> -<tr> -<td><a href="#createDebuggerInterfacePython3">createDebuggerInterfacePython3</a></td> -<td>Module function to create a debugger interface instance.</td> -</tr><tr> -<td><a href="#getRegistryData">getRegistryData</a></td> -<td>Module function to get characterizing data for the debugger interface.</td> -</tr> -</table> -<hr /><hr /> -<a NAME="DebuggerInterfacePython3" ID="DebuggerInterfacePython3"></a> -<h2>DebuggerInterfacePython3</h2> -<p> - Class implementing the Python 3 debugger interface for the debug server. -</p> -<h3>Derived from</h3> -QObject -<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="#DebuggerInterfacePython3.__init__">DebuggerInterfacePython3</a></td> -<td>Constructor</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.__askForkTo">__askForkTo</a></td> -<td>Private method to ask the user which branch of a fork to follow.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.__handleJsonCommand">__handleJsonCommand</a></td> -<td>Private method to handle a command or response serialized as a JSON string.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.__identityTranslation">__identityTranslation</a></td> -<td>Private method to perform the identity path translation.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.__parseClientLine">__parseClientLine</a></td> -<td>Private method to handle data from the client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.__remoteTranslation">__remoteTranslation</a></td> -<td>Private method to perform the path translation.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.__sendJsonCommand">__sendJsonCommand</a></td> -<td>Private method to send a single command to the client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.__startProcess">__startProcess</a></td> -<td>Private method to start the debugger client process.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.flush">flush</a></td> -<td>Public slot to flush the queue.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.getClientCapabilities">getClientCapabilities</a></td> -<td>Public method to retrieve the debug clients capabilities.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.isConnected">isConnected</a></td> -<td>Public method to test, if a debug client has connected.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.newConnection">newConnection</a></td> -<td>Public slot to handle a new connection.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteBanner">remoteBanner</a></td> -<td>Public slot to get the banner info of the remote client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteBreakpoint">remoteBreakpoint</a></td> -<td>Public method to set or clear a breakpoint.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteBreakpointEnable">remoteBreakpointEnable</a></td> -<td>Public method to enable or disable a breakpoint.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteBreakpointIgnore">remoteBreakpointIgnore</a></td> -<td>Public method to ignore a breakpoint the next couple of occurrences.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteCapabilities">remoteCapabilities</a></td> -<td>Public slot to get the debug clients capabilities.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteClientSetFilter">remoteClientSetFilter</a></td> -<td>Public method to set a variables filter list.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteClientVariable">remoteClientVariable</a></td> -<td>Public method to request the variables of the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteClientVariables">remoteClientVariables</a></td> -<td>Public method to request the variables of the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteCompletion">remoteCompletion</a></td> -<td>Public slot to get the a list of possible commandline completions from the remote client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteContinue">remoteContinue</a></td> -<td>Public method to continue the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteCoverage">remoteCoverage</a></td> -<td>Public method to load a new program to collect coverage data.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteEnvironment">remoteEnvironment</a></td> -<td>Public method to set the environment for a program to debug, run, ...</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteLoad">remoteLoad</a></td> -<td>Public method to load a new program to debug.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteMoveIP">remoteMoveIP</a></td> -<td>Public method to move the instruction pointer to a different line.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteProfile">remoteProfile</a></td> -<td>Public method to load a new program to collect profiling data.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteRawInput">remoteRawInput</a></td> -<td>Public method to send the raw input to the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteRun">remoteRun</a></td> -<td>Public method to load a new program to run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteSetThread">remoteSetThread</a></td> -<td>Public method to request to set the given thread as current thread.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteStatement">remoteStatement</a></td> -<td>Public method to execute a Python statement.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteStep">remoteStep</a></td> -<td>Public method to single step the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteStepOut">remoteStepOut</a></td> -<td>Public method to step out the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteStepOver">remoteStepOver</a></td> -<td>Public method to step over the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteStepQuit">remoteStepQuit</a></td> -<td>Public method to stop the debugged program.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteThreadList">remoteThreadList</a></td> -<td>Public method to request the list of threads from the client.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteUTPrepare">remoteUTPrepare</a></td> -<td>Public method to prepare a new unittest run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteUTRun">remoteUTRun</a></td> -<td>Public method to start a unittest run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteUTStop">remoteUTStop</a></td> -<td>Public method to stop a unittest run.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteWatchpoint">remoteWatchpoint</a></td> -<td>Public method to set or clear a watch expression.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteWatchpointEnable">remoteWatchpointEnable</a></td> -<td>Public method to enable or disable a watch expression.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.remoteWatchpointIgnore">remoteWatchpointIgnore</a></td> -<td>Public method to ignore a watch expression the next couple of occurrences.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.setCallTraceEnabled">setCallTraceEnabled</a></td> -<td>Public method to set the call trace state.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.shutdown">shutdown</a></td> -<td>Public method to cleanly shut down.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.startRemote">startRemote</a></td> -<td>Public method to start a remote Python interpreter.</td> -</tr><tr> -<td><a href="#DebuggerInterfacePython3.startRemoteForProject">startRemoteForProject</a></td> -<td>Public method to start a remote Python interpreter for a project.</td> -</tr> -</table> -<h3>Static Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<a NAME="DebuggerInterfacePython3.__init__" ID="DebuggerInterfacePython3.__init__"></a> -<h4>DebuggerInterfacePython3 (Constructor)</h4> -<b>DebuggerInterfacePython3</b>(<i>debugServer, passive</i>) -<p> - Constructor -</p><dl> -<dt><i>debugServer</i></dt> -<dd> -reference to the debug server (DebugServer) -</dd><dt><i>passive</i></dt> -<dd> -flag indicating passive connection mode (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.__askForkTo" ID="DebuggerInterfacePython3.__askForkTo"></a> -<h4>DebuggerInterfacePython3.__askForkTo</h4> -<b>__askForkTo</b>(<i></i>) -<p> - Private method to ask the user which branch of a fork to follow. -</p><a NAME="DebuggerInterfacePython3.__handleJsonCommand" ID="DebuggerInterfacePython3.__handleJsonCommand"></a> -<h4>DebuggerInterfacePython3.__handleJsonCommand</h4> -<b>__handleJsonCommand</b>(<i>jsonStr</i>) -<p> - Private method to handle a command or response serialized as a - JSON string. -</p><dl> -<dt><i>jsonStr</i> (str)</dt> -<dd> -string containing the command or response received - from the debug backend -</dd> -</dl><a NAME="DebuggerInterfacePython3.__identityTranslation" ID="DebuggerInterfacePython3.__identityTranslation"></a> -<h4>DebuggerInterfacePython3.__identityTranslation</h4> -<b>__identityTranslation</b>(<i>fn, remote2local=True</i>) -<p> - Private method to perform the identity path translation. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename to be translated (string) -</dd><dt><i>remote2local</i></dt> -<dd> -flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -translated filename (string) -</dd> -</dl><a NAME="DebuggerInterfacePython3.__parseClientLine" ID="DebuggerInterfacePython3.__parseClientLine"></a> -<h4>DebuggerInterfacePython3.__parseClientLine</h4> -<b>__parseClientLine</b>(<i></i>) -<p> - Private method to handle data from the client. -</p><a NAME="DebuggerInterfacePython3.__remoteTranslation" ID="DebuggerInterfacePython3.__remoteTranslation"></a> -<h4>DebuggerInterfacePython3.__remoteTranslation</h4> -<b>__remoteTranslation</b>(<i>fn, remote2local=True</i>) -<p> - Private method to perform the path translation. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename to be translated (string) -</dd><dt><i>remote2local</i></dt> -<dd> -flag indicating the direction of translation - (False = local to remote, True = remote to local [default]) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -translated filename (string) -</dd> -</dl><a NAME="DebuggerInterfacePython3.__sendJsonCommand" ID="DebuggerInterfacePython3.__sendJsonCommand"></a> -<h4>DebuggerInterfacePython3.__sendJsonCommand</h4> -<b>__sendJsonCommand</b>(<i>command, params</i>) -<p> - Private method to send a single command to the client. -</p><dl> -<dt><i>command</i> (str)</dt> -<dd> -command name to be sent -</dd><dt><i>params</i> (dict)</dt> -<dd> -dictionary of named parameters for the command -</dd> -</dl><a NAME="DebuggerInterfacePython3.__startProcess" ID="DebuggerInterfacePython3.__startProcess"></a> -<h4>DebuggerInterfacePython3.__startProcess</h4> -<b>__startProcess</b>(<i>program, arguments, environment=None</i>) -<p> - Private method to start the debugger client process. -</p><dl> -<dt><i>program</i></dt> -<dd> -name of the executable to start (string) -</dd><dt><i>arguments</i></dt> -<dd> -arguments to be passed to the program (list of string) -</dd><dt><i>environment</i></dt> -<dd> -dictionary of environment settings to pass - (dict of string) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -the process object (QProcess) or None -</dd> -</dl><a NAME="DebuggerInterfacePython3.flush" ID="DebuggerInterfacePython3.flush"></a> -<h4>DebuggerInterfacePython3.flush</h4> -<b>flush</b>(<i></i>) -<p> - Public slot to flush the queue. -</p><a NAME="DebuggerInterfacePython3.getClientCapabilities" ID="DebuggerInterfacePython3.getClientCapabilities"></a> -<h4>DebuggerInterfacePython3.getClientCapabilities</h4> -<b>getClientCapabilities</b>(<i></i>) -<p> - Public method to retrieve the debug clients capabilities. -</p><dl> -<dt>Returns:</dt> -<dd> -debug client capabilities (integer) -</dd> -</dl><a NAME="DebuggerInterfacePython3.isConnected" ID="DebuggerInterfacePython3.isConnected"></a> -<h4>DebuggerInterfacePython3.isConnected</h4> -<b>isConnected</b>(<i></i>) -<p> - Public method to test, if a debug client has connected. -</p><dl> -<dt>Returns:</dt> -<dd> -flag indicating the connection status (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.newConnection" ID="DebuggerInterfacePython3.newConnection"></a> -<h4>DebuggerInterfacePython3.newConnection</h4> -<b>newConnection</b>(<i>sock</i>) -<p> - Public slot to handle a new connection. -</p><dl> -<dt><i>sock</i></dt> -<dd> -reference to the socket object (QTcpSocket) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -flag indicating success (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteBanner" ID="DebuggerInterfacePython3.remoteBanner"></a> -<h4>DebuggerInterfacePython3.remoteBanner</h4> -<b>remoteBanner</b>(<i></i>) -<p> - Public slot to get the banner info of the remote client. -</p><a NAME="DebuggerInterfacePython3.remoteBreakpoint" ID="DebuggerInterfacePython3.remoteBreakpoint"></a> -<h4>DebuggerInterfacePython3.remoteBreakpoint</h4> -<b>remoteBreakpoint</b>(<i>fn, line, setBreakpoint, cond=None, temp=False</i>) -<p> - Public method to set or clear a breakpoint. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename the breakpoint belongs to (string) -</dd><dt><i>line</i></dt> -<dd> -linenumber of the breakpoint (int) -</dd><dt><i>setBreakpoint</i></dt> -<dd> -flag indicating setting or resetting a - breakpoint (boolean) -</dd><dt><i>cond</i></dt> -<dd> -condition of the breakpoint (string) -</dd><dt><i>temp</i></dt> -<dd> -flag indicating a temporary breakpoint (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteBreakpointEnable" ID="DebuggerInterfacePython3.remoteBreakpointEnable"></a> -<h4>DebuggerInterfacePython3.remoteBreakpointEnable</h4> -<b>remoteBreakpointEnable</b>(<i>fn, line, enable</i>) -<p> - Public method to enable or disable a breakpoint. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename the breakpoint belongs to (string) -</dd><dt><i>line</i></dt> -<dd> -linenumber of the breakpoint (int) -</dd><dt><i>enable</i></dt> -<dd> -flag indicating enabling or disabling a breakpoint - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteBreakpointIgnore" ID="DebuggerInterfacePython3.remoteBreakpointIgnore"></a> -<h4>DebuggerInterfacePython3.remoteBreakpointIgnore</h4> -<b>remoteBreakpointIgnore</b>(<i>fn, line, count</i>) -<p> - Public method to ignore a breakpoint the next couple of occurrences. -</p><dl> -<dt><i>fn</i></dt> -<dd> -filename the breakpoint belongs to (string) -</dd><dt><i>line</i></dt> -<dd> -linenumber of the breakpoint (int) -</dd><dt><i>count</i></dt> -<dd> -number of occurrences to ignore (int) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteCapabilities" ID="DebuggerInterfacePython3.remoteCapabilities"></a> -<h4>DebuggerInterfacePython3.remoteCapabilities</h4> -<b>remoteCapabilities</b>(<i></i>) -<p> - Public slot to get the debug clients capabilities. -</p><a NAME="DebuggerInterfacePython3.remoteClientSetFilter" ID="DebuggerInterfacePython3.remoteClientSetFilter"></a> -<h4>DebuggerInterfacePython3.remoteClientSetFilter</h4> -<b>remoteClientSetFilter</b>(<i>scope, filterStr</i>) -<p> - Public method to set a variables filter list. -</p><dl> -<dt><i>scope</i></dt> -<dd> -the scope of the variables (0 = local, 1 = global) -</dd><dt><i>filterStr</i></dt> -<dd> -regexp string for variable names to filter out - (string) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteClientVariable" ID="DebuggerInterfacePython3.remoteClientVariable"></a> -<h4>DebuggerInterfacePython3.remoteClientVariable</h4> -<b>remoteClientVariable</b>(<i>scope, filterList, var, framenr=0</i>) -<p> - Public method to request the variables of the debugged program. -</p><dl> -<dt><i>scope</i></dt> -<dd> -the scope of the variables (0 = local, 1 = global) -</dd><dt><i>filterList</i></dt> -<dd> -list of variable types to filter out (list of int) -</dd><dt><i>var</i></dt> -<dd> -list encoded name of variable to retrieve (string) -</dd><dt><i>framenr</i></dt> -<dd> -framenumber of the variables to retrieve (int) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteClientVariables" ID="DebuggerInterfacePython3.remoteClientVariables"></a> -<h4>DebuggerInterfacePython3.remoteClientVariables</h4> -<b>remoteClientVariables</b>(<i>scope, filterList, framenr=0</i>) -<p> - Public method to request the variables of the debugged program. -</p><dl> -<dt><i>scope</i></dt> -<dd> -the scope of the variables (0 = local, 1 = global) -</dd><dt><i>filterList</i></dt> -<dd> -list of variable types to filter out (list of int) -</dd><dt><i>framenr</i></dt> -<dd> -framenumber of the variables to retrieve (int) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteCompletion" ID="DebuggerInterfacePython3.remoteCompletion"></a> -<h4>DebuggerInterfacePython3.remoteCompletion</h4> -<b>remoteCompletion</b>(<i>text</i>) -<p> - Public slot to get the a list of possible commandline completions - from the remote client. -</p><dl> -<dt><i>text</i></dt> -<dd> -the text to be completed (string) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteContinue" ID="DebuggerInterfacePython3.remoteContinue"></a> -<h4>DebuggerInterfacePython3.remoteContinue</h4> -<b>remoteContinue</b>(<i>special=False</i>) -<p> - Public method to continue the debugged program. -</p><dl> -<dt><i>special</i></dt> -<dd> -flag indicating a special continue operation -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteCoverage" ID="DebuggerInterfacePython3.remoteCoverage"></a> -<h4>DebuggerInterfacePython3.remoteCoverage</h4> -<b>remoteCoverage</b>(<i>fn, argv, wd, erase=False</i>) -<p> - Public method to load a new program to collect coverage data. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to run (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>erase=</i></dt> -<dd> -flag indicating that coverage info should be - cleared first (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteEnvironment" ID="DebuggerInterfacePython3.remoteEnvironment"></a> -<h4>DebuggerInterfacePython3.remoteEnvironment</h4> -<b>remoteEnvironment</b>(<i>env</i>) -<p> - Public method to set the environment for a program to debug, run, ... -</p><dl> -<dt><i>env</i></dt> -<dd> -environment settings (dictionary) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteLoad" ID="DebuggerInterfacePython3.remoteLoad"></a> -<h4>DebuggerInterfacePython3.remoteLoad</h4> -<b>remoteLoad</b>(<i>fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False</i>) -<p> - Public method to load a new program to debug. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to debug (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>traceInterpreter=</i></dt> -<dd> -flag indicating if the interpreter library - should be traced as well (boolean) -</dd><dt><i>autoContinue=</i></dt> -<dd> -flag indicating, that the debugger should not - stop at the first executable line (boolean) -</dd><dt><i>autoFork=</i></dt> -<dd> -flag indicating the automatic fork mode (boolean) -</dd><dt><i>forkChild=</i></dt> -<dd> -flag indicating to debug the child after forking - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteMoveIP" ID="DebuggerInterfacePython3.remoteMoveIP"></a> -<h4>DebuggerInterfacePython3.remoteMoveIP</h4> -<b>remoteMoveIP</b>(<i>line</i>) -<p> - Public method to move the instruction pointer to a different line. -</p><dl> -<dt><i>line</i></dt> -<dd> -the new line, where execution should be continued -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteProfile" ID="DebuggerInterfacePython3.remoteProfile"></a> -<h4>DebuggerInterfacePython3.remoteProfile</h4> -<b>remoteProfile</b>(<i>fn, argv, wd, erase=False</i>) -<p> - Public method to load a new program to collect profiling data. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to run (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>erase=</i></dt> -<dd> -flag indicating that timing info should be cleared - first (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteRawInput" ID="DebuggerInterfacePython3.remoteRawInput"></a> -<h4>DebuggerInterfacePython3.remoteRawInput</h4> -<b>remoteRawInput</b>(<i>s</i>) -<p> - Public method to send the raw input to the debugged program. -</p><dl> -<dt><i>s</i></dt> -<dd> -the raw input (string) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteRun" ID="DebuggerInterfacePython3.remoteRun"></a> -<h4>DebuggerInterfacePython3.remoteRun</h4> -<b>remoteRun</b>(<i>fn, argv, wd, autoFork=False, forkChild=False</i>) -<p> - Public method to load a new program to run. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to run (string) -</dd><dt><i>argv</i></dt> -<dd> -the commandline arguments to pass to the program (string) -</dd><dt><i>wd</i></dt> -<dd> -the working directory for the program (string) -</dd><dt><i>autoFork=</i></dt> -<dd> -flag indicating the automatic fork mode (boolean) -</dd><dt><i>forkChild=</i></dt> -<dd> -flag indicating to debug the child after forking - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteSetThread" ID="DebuggerInterfacePython3.remoteSetThread"></a> -<h4>DebuggerInterfacePython3.remoteSetThread</h4> -<b>remoteSetThread</b>(<i>tid</i>) -<p> - Public method to request to set the given thread as current thread. -</p><dl> -<dt><i>tid</i></dt> -<dd> -id of the thread (integer) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteStatement" ID="DebuggerInterfacePython3.remoteStatement"></a> -<h4>DebuggerInterfacePython3.remoteStatement</h4> -<b>remoteStatement</b>(<i>stmt</i>) -<p> - Public method to execute a Python statement. -</p><dl> -<dt><i>stmt</i></dt> -<dd> -the Python statement to execute (string). It - should not have a trailing newline. -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteStep" ID="DebuggerInterfacePython3.remoteStep"></a> -<h4>DebuggerInterfacePython3.remoteStep</h4> -<b>remoteStep</b>(<i></i>) -<p> - Public method to single step the debugged program. -</p><a NAME="DebuggerInterfacePython3.remoteStepOut" ID="DebuggerInterfacePython3.remoteStepOut"></a> -<h4>DebuggerInterfacePython3.remoteStepOut</h4> -<b>remoteStepOut</b>(<i></i>) -<p> - Public method to step out the debugged program. -</p><a NAME="DebuggerInterfacePython3.remoteStepOver" ID="DebuggerInterfacePython3.remoteStepOver"></a> -<h4>DebuggerInterfacePython3.remoteStepOver</h4> -<b>remoteStepOver</b>(<i></i>) -<p> - Public method to step over the debugged program. -</p><a NAME="DebuggerInterfacePython3.remoteStepQuit" ID="DebuggerInterfacePython3.remoteStepQuit"></a> -<h4>DebuggerInterfacePython3.remoteStepQuit</h4> -<b>remoteStepQuit</b>(<i></i>) -<p> - Public method to stop the debugged program. -</p><a NAME="DebuggerInterfacePython3.remoteThreadList" ID="DebuggerInterfacePython3.remoteThreadList"></a> -<h4>DebuggerInterfacePython3.remoteThreadList</h4> -<b>remoteThreadList</b>(<i></i>) -<p> - Public method to request the list of threads from the client. -</p><a NAME="DebuggerInterfacePython3.remoteUTPrepare" ID="DebuggerInterfacePython3.remoteUTPrepare"></a> -<h4>DebuggerInterfacePython3.remoteUTPrepare</h4> -<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>) -<p> - Public method to prepare a new unittest run. -</p><dl> -<dt><i>fn</i></dt> -<dd> -the filename to load (string) -</dd><dt><i>tn</i></dt> -<dd> -the testname to load (string) -</dd><dt><i>tfn</i></dt> -<dd> -the test function name to load tests from (string) -</dd><dt><i>failed</i></dt> -<dd> -list of failed test, if only failed test should be run - (list of strings) -</dd><dt><i>cov</i></dt> -<dd> -flag indicating collection of coverage data is requested - (boolean) -</dd><dt><i>covname</i></dt> -<dd> -filename to be used to assemble the coverage caches - filename (string) -</dd><dt><i>coverase</i></dt> -<dd> -flag indicating erasure of coverage data is requested - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteUTRun" ID="DebuggerInterfacePython3.remoteUTRun"></a> -<h4>DebuggerInterfacePython3.remoteUTRun</h4> -<b>remoteUTRun</b>(<i></i>) -<p> - Public method to start a unittest run. -</p><a NAME="DebuggerInterfacePython3.remoteUTStop" ID="DebuggerInterfacePython3.remoteUTStop"></a> -<h4>DebuggerInterfacePython3.remoteUTStop</h4> -<b>remoteUTStop</b>(<i></i>) -<p> - Public method to stop a unittest run. -</p><a NAME="DebuggerInterfacePython3.remoteWatchpoint" ID="DebuggerInterfacePython3.remoteWatchpoint"></a> -<h4>DebuggerInterfacePython3.remoteWatchpoint</h4> -<b>remoteWatchpoint</b>(<i>cond, setWatch, temp=False</i>) -<p> - Public method to set or clear a watch expression. -</p><dl> -<dt><i>cond</i></dt> -<dd> -expression of the watch expression (string) -</dd><dt><i>setWatch</i></dt> -<dd> -flag indicating setting or resetting a watch expression - (boolean) -</dd><dt><i>temp</i></dt> -<dd> -flag indicating a temporary watch expression (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteWatchpointEnable" ID="DebuggerInterfacePython3.remoteWatchpointEnable"></a> -<h4>DebuggerInterfacePython3.remoteWatchpointEnable</h4> -<b>remoteWatchpointEnable</b>(<i>cond, enable</i>) -<p> - Public method to enable or disable a watch expression. -</p><dl> -<dt><i>cond</i></dt> -<dd> -expression of the watch expression (string) -</dd><dt><i>enable</i></dt> -<dd> -flag indicating enabling or disabling a watch expression - (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.remoteWatchpointIgnore" ID="DebuggerInterfacePython3.remoteWatchpointIgnore"></a> -<h4>DebuggerInterfacePython3.remoteWatchpointIgnore</h4> -<b>remoteWatchpointIgnore</b>(<i>cond, count</i>) -<p> - Public method to ignore a watch expression the next couple of - occurrences. -</p><dl> -<dt><i>cond</i></dt> -<dd> -expression of the watch expression (string) -</dd><dt><i>count</i></dt> -<dd> -number of occurrences to ignore (int) -</dd> -</dl><a NAME="DebuggerInterfacePython3.setCallTraceEnabled" ID="DebuggerInterfacePython3.setCallTraceEnabled"></a> -<h4>DebuggerInterfacePython3.setCallTraceEnabled</h4> -<b>setCallTraceEnabled</b>(<i>on</i>) -<p> - Public method to set the call trace state. -</p><dl> -<dt><i>on</i></dt> -<dd> -flag indicating to enable the call trace function (boolean) -</dd> -</dl><a NAME="DebuggerInterfacePython3.shutdown" ID="DebuggerInterfacePython3.shutdown"></a> -<h4>DebuggerInterfacePython3.shutdown</h4> -<b>shutdown</b>(<i></i>) -<p> - Public method to cleanly shut down. -</p><p> - It closes our socket and shuts down - the debug client. (Needed on Win OS) -</p><a NAME="DebuggerInterfacePython3.startRemote" ID="DebuggerInterfacePython3.startRemote"></a> -<h4>DebuggerInterfacePython3.startRemote</h4> -<b>startRemote</b>(<i>port, runInConsole</i>) -<p> - Public method to start a remote Python interpreter. -</p><dl> -<dt><i>port</i></dt> -<dd> -portnumber the debug server is listening on (integer) -</dd><dt><i>runInConsole</i></dt> -<dd> -flag indicating to start the debugger in a - console window (boolean) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) -</dd> -</dl><a NAME="DebuggerInterfacePython3.startRemoteForProject" ID="DebuggerInterfacePython3.startRemoteForProject"></a> -<h4>DebuggerInterfacePython3.startRemoteForProject</h4> -<b>startRemoteForProject</b>(<i>port, runInConsole</i>) -<p> - Public method to start a remote Python interpreter for a project. -</p><dl> -<dt><i>port</i></dt> -<dd> -portnumber the debug server is listening on (integer) -</dd><dt><i>runInConsole</i></dt> -<dd> -flag indicating to start the debugger in a - console window (boolean) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -client process object (QProcess), a flag to indicate - a network connection (boolean) and the name of the interpreter - in case of a local execution (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /><hr /> -<a NAME="createDebuggerInterfacePython3" ID="createDebuggerInterfacePython3"></a> -<h2>createDebuggerInterfacePython3</h2> -<b>createDebuggerInterfacePython3</b>(<i>debugServer, passive</i>) -<p> - Module function to create a debugger interface instance. -</p><p> - -</p><dl> -<dt><i>debugServer</i> (DebugServer)</dt> -<dd> -reference to the debug server -</dd><dt><i>passive</i> (bool)</dt> -<dd> -flag indicating passive connection mode -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -instantiated debugger interface -</dd> -</dl><dl> -<dt>Return Type:</dt> -<dd> -DebuggerInterfacePython -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /><hr /> -<a NAME="getRegistryData" ID="getRegistryData"></a> -<h2>getRegistryData</h2> -<b>getRegistryData</b>(<i></i>) -<p> - Module function to get characterizing data for the debugger interface. -</p><dl> -<dt>Returns:</dt> -<dd> -tuple containing client type, client capabilities, client file - type associations and reference to creation function -</dd> -</dl><dl> -<dt>Return Type:</dt> -<dd> -tuple of (str, int, list of str, function) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.E5Gui.E5ErrorMessageFilterDialog.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.E5Gui.E5ErrorMessageFilterDialog.html Fri Sep 01 12:08:17 2017 +0200 @@ -60,6 +60,9 @@ <td><a href="#E5ErrorMessageFilterDialog.__init__">E5ErrorMessageFilterDialog</a></td> <td>Constructor</td> </tr><tr> +<td><a href="#E5ErrorMessageFilterDialog.__setToDefault">__setToDefault</a></td> +<td>Private slot to set the message list to the default values.</td> +</tr><tr> <td><a href="#E5ErrorMessageFilterDialog.getFilters">getFilters</a></td> <td>Public method to get the list of message filters.</td> </tr> @@ -70,19 +73,26 @@ </table> <a NAME="E5ErrorMessageFilterDialog.__init__" ID="E5ErrorMessageFilterDialog.__init__"></a> <h4>E5ErrorMessageFilterDialog (Constructor)</h4> -<b>E5ErrorMessageFilterDialog</b>(<i>messageFilters, parent=None</i>) +<b>E5ErrorMessageFilterDialog</b>(<i>messageFilters, defaultFilters, parent=None</i>) <p> Constructor </p><dl> -<dt><i>messageFilters</i></dt> +<dt><i>messageFilters</i> (list of str)</dt> <dd> list of message filters to be edited - (list of strings) -</dd><dt><i>parent</i></dt> +</dd><dt><i>defaultFilters</i> (list of str)</dt> +<dd> +list of default message filters +</dd><dt><i>parent</i> (QWidget)</dt> <dd> -reference to the parent widget (QWidget) +reference to the parent widget </dd> -</dl><a NAME="E5ErrorMessageFilterDialog.getFilters" ID="E5ErrorMessageFilterDialog.getFilters"></a> +</dl><a NAME="E5ErrorMessageFilterDialog.__setToDefault" ID="E5ErrorMessageFilterDialog.__setToDefault"></a> +<h4>E5ErrorMessageFilterDialog.__setToDefault</h4> +<b>__setToDefault</b>(<i></i>) +<p> + Private slot to set the message list to the default values. +</p><a NAME="E5ErrorMessageFilterDialog.getFilters" ID="E5ErrorMessageFilterDialog.getFilters"></a> <h4>E5ErrorMessageFilterDialog.getFilters</h4> <b>getFilters</b>(<i></i>) <p>
--- a/Documentation/Source/eric6.E5Gui.E5StringListEditWidget.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.E5Gui.E5StringListEditWidget.html Fri Sep 01 12:08:17 2017 +0200 @@ -43,7 +43,13 @@ <h2>E5StringListEditWidget</h2> <p> Class implementing a dialog to edit a list of strings. -</p> +</p><h3>Signals</h3> +<dl> +<dt>setToDefault()</dt> +<dd> +emitted to request the default list of values +</dd> +</dl> <h3>Derived from</h3> QWidget, Ui_E5StringListEditWidget <h3>Class Attributes</h3> @@ -66,6 +72,9 @@ <td><a href="#E5StringListEditWidget.on_addButton_clicked">on_addButton_clicked</a></td> <td>Private slot to add an entry to the list.</td> </tr><tr> +<td><a href="#E5StringListEditWidget.setDefaultVisible">setDefaultVisible</a></td> +<td>Public method to show or hide the default button.</td> +</tr><tr> <td><a href="#E5StringListEditWidget.setList">setList</a></td> <td>Public method to set the list of strings to be edited.</td> </tr><tr> @@ -102,7 +111,17 @@ <b>on_addButton_clicked</b>(<i></i>) <p> Private slot to add an entry to the list. -</p><a NAME="E5StringListEditWidget.setList" ID="E5StringListEditWidget.setList"></a> +</p><a NAME="E5StringListEditWidget.setDefaultVisible" ID="E5StringListEditWidget.setDefaultVisible"></a> +<h4>E5StringListEditWidget.setDefaultVisible</h4> +<b>setDefaultVisible</b>(<i>visible</i>) +<p> + Public method to show or hide the default button. +</p><dl> +<dt><i>visible</i> (bool)</dt> +<dd> +flag indicating the visibility of the default button +</dd> +</dl><a NAME="E5StringListEditWidget.setList" ID="E5StringListEditWidget.setList"></a> <h4>E5StringListEditWidget.setList</h4> <b>setList</b>(<i>stringList</i>) <p>
--- a/Documentation/Source/eric6.Globals.__init__.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.Globals.__init__.html Fri Sep 01 12:08:17 2017 +0200 @@ -73,6 +73,9 @@ <td><a href="#strGroup">strGroup</a></td> <td>Module function to group a string into sub-strings separated by a separator.</td> </tr><tr> +<td><a href="#strToQByteArray">strToQByteArray</a></td> +<td>Module function to convert a Python string into a QByteArray.</td> +</tr><tr> <td><a href="#toBool">toBool</a></td> <td>Module function to convert a value to bool.</td> </tr><tr> @@ -299,6 +302,29 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> +<a NAME="strToQByteArray" ID="strToQByteArray"></a> +<h2>strToQByteArray</h2> +<b>strToQByteArray</b>(<i>txt</i>) +<p> + Module function to convert a Python string into a QByteArray. +</p><dl> +<dt><i>txt</i> (str, bytes, bytearray, unicode)</dt> +<dd> +Python string to be converted +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +converted QByteArray +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QByteArray +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> <a NAME="toBool" ID="toBool"></a> <h2>toBool</h2> <b>toBool</b>(<i>value</i>)
--- a/Documentation/Source/eric6.PluginManager.PluginManager.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.PluginManager.PluginManager.html Fri Sep 01 12:08:17 2017 +0200 @@ -456,7 +456,7 @@ </p><dl> <dt><i>type_</i></dt> <dd> -type of the plugin to be activated (string) +type of the plugin to clear private data for (string) </dd> </dl><a NAME="PluginManager.deactivatePlugin" ID="PluginManager.deactivatePlugin"></a> <h4>PluginManager.deactivatePlugin</h4>
--- a/Documentation/Source/eric6.Preferences.ConfigurationPages.MimeTypesPage.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.Preferences.ConfigurationPages.MimeTypesPage.html Fri Sep 01 12:08:17 2017 +0200 @@ -63,6 +63,9 @@ <td><a href="#MimeTypesPage.__init__">MimeTypesPage</a></td> <td>Constructor</td> </tr><tr> +<td><a href="#MimeTypesPage.__setToDefault">__setToDefault</a></td> +<td>Private slot to set the message list to the default values.</td> +</tr><tr> <td><a href="#MimeTypesPage.on_resetButton_clicked">on_resetButton_clicked</a></td> <td>Private slot to set the default list of mime types.</td> </tr><tr> @@ -84,7 +87,12 @@ <dd> reference to the parent widget (QWidget) </dd> -</dl><a NAME="MimeTypesPage.on_resetButton_clicked" ID="MimeTypesPage.on_resetButton_clicked"></a> +</dl><a NAME="MimeTypesPage.__setToDefault" ID="MimeTypesPage.__setToDefault"></a> +<h4>MimeTypesPage.__setToDefault</h4> +<b>__setToDefault</b>(<i></i>) +<p> + Private slot to set the message list to the default values. +</p><a NAME="MimeTypesPage.on_resetButton_clicked" ID="MimeTypesPage.on_resetButton_clicked"></a> <h4>MimeTypesPage.on_resetButton_clicked</h4> <b>on_resetButton_clicked</b>(<i></i>) <p>
--- a/Documentation/Source/eric6.QScintilla.Exporters.ExporterHTML.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.QScintilla.Exporters.ExporterHTML.html Fri Sep 01 12:08:17 2017 +0200 @@ -35,6 +35,9 @@ </tr><tr> <td><a href="#HTMLGenerator">HTMLGenerator</a></td> <td>Class implementing an HTML generator for exporting source code.</td> +</tr><tr> +<td><a href="#_StrikeThroughExtension">_StrikeThroughExtension</a></td> +<td>Class is placed here, because it depends on imported markdown, and markdown import is lazy.</td> </tr> </table> <h3>Functions</h3> @@ -63,6 +66,12 @@ <td><a href="#ExporterHTML.__init__">ExporterHTML</a></td> <td>Constructor</td> </tr><tr> +<td><a href="#ExporterHTML.__generateFromMarkdown">__generateFromMarkdown</a></td> +<td>Private method to convert Markdown text into HTML.</td> +</tr><tr> +<td><a href="#ExporterHTML.__generateFromReSTDocutils">__generateFromReSTDocutils</a></td> +<td>Private method to convert ReST text into HTML using 'docutils'.</td> +</tr><tr> <td><a href="#ExporterHTML.exportSource">exportSource</a></td> <td>Public method performing the export.</td> </tr> @@ -84,6 +93,31 @@ <dd> parent object of the exporter (QObject) </dd> +</dl><a NAME="ExporterHTML.__generateFromMarkdown" ID="ExporterHTML.__generateFromMarkdown"></a> +<h4>ExporterHTML.__generateFromMarkdown</h4> +<b>__generateFromMarkdown</b>(<i></i>) +<p> + Private method to convert Markdown text into HTML. +</p><dl> +<dt>Returns:</dt> +<dd> +processed HTML +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="ExporterHTML.__generateFromReSTDocutils" ID="ExporterHTML.__generateFromReSTDocutils"></a> +<h4>ExporterHTML.__generateFromReSTDocutils</h4> +<b>__generateFromReSTDocutils</b>(<i></i>) +<p> + Private method to convert ReST text into HTML using 'docutils'. +</p><dl> +<dt>Returns:</dt> +<dd> +processed HTML (string) +</dd> </dl><a NAME="ExporterHTML.exportSource" ID="ExporterHTML.exportSource"></a> <h4>ExporterHTML.exportSource</h4> <b>exportSource</b>(<i></i>) @@ -165,5 +199,42 @@ </dd> </dl> <div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="_StrikeThroughExtension" ID="_StrikeThroughExtension"></a> +<h2>_StrikeThroughExtension</h2> +<p> + Class is placed here, because it depends on imported markdown, + and markdown import is lazy. +</p><p> + (see http://achinghead.com/ + python-markdown-adding-insert-delete.html this page for + details) +</p> +<h3>Derived from</h3> +markdown.Extension +<h3>Class Attributes</h3> +<table> +<tr><td>DEL_RE</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#_StrikeThroughExtension.extendMarkdown">extendMarkdown</a></td> +<td></td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="_StrikeThroughExtension.extendMarkdown" ID="_StrikeThroughExtension.extendMarkdown"></a> +<h4>_StrikeThroughExtension.extendMarkdown</h4> +<b>extendMarkdown</b>(<i>md, md_globals</i>) + +<div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.Tasks.TaskViewer.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.Tasks.TaskViewer.html Fri Sep 01 12:08:17 2017 +0200 @@ -177,7 +177,7 @@ <td>Private method to delete all sub-tasks.</td> </tr><tr> <td><a href="#TaskViewer.__deleteTask">__deleteTask</a></td> -<td>Private slot to handle the "Delete Task" context menu entry.</td> +<td>Private slot to delete a task.</td> </tr><tr> <td><a href="#TaskViewer.__editTaskProperties">__editTaskProperties</a></td> <td>Private slot to handle the "Properties" context menu entry.</td> @@ -327,10 +327,15 @@ </dd> </dl><a NAME="TaskViewer.__deleteTask" ID="TaskViewer.__deleteTask"></a> <h4>TaskViewer.__deleteTask</h4> -<b>__deleteTask</b>(<i></i>) +<b>__deleteTask</b>(<i>task=None</i>) <p> - Private slot to handle the "Delete Task" context menu entry. -</p><a NAME="TaskViewer.__editTaskProperties" ID="TaskViewer.__editTaskProperties"></a> + Private slot to delete a task. +</p><dl> +<dt><i>task</i> (Task)</dt> +<dd> +task to be deleted +</dd> +</dl><a NAME="TaskViewer.__editTaskProperties" ID="TaskViewer.__editTaskProperties"></a> <h4>TaskViewer.__editTaskProperties</h4> <b>__editTaskProperties</b>(<i></i>) <p>
--- a/Documentation/Source/eric6.UI.NotificationWidget.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.UI.NotificationWidget.html Fri Sep 01 12:08:17 2017 +0200 @@ -169,9 +169,9 @@ <p> Public method to set the timeout for the notification. </p><dl> -<dt><i>timeout</i></dt> +<dt><i>timeout</i> (int)</dt> <dd> -timeout to be used in seconds (integer) +timeout to be used in seconds (0 = indefinitely) </dd> </dl><a NAME="NotificationWidget.show" ID="NotificationWidget.show"></a> <h4>NotificationWidget.show</h4>
--- a/Documentation/Source/eric6.UI.Previewers.PreviewerHTML.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.UI.Previewers.PreviewerHTML.html Fri Sep 01 12:08:17 2017 +0200 @@ -52,10 +52,11 @@ previewer view. </p><h3>Signals</h3> <dl> -<dt>htmlReady(str,str)</dt> +<dt>htmlReady(str, str, str)</dt> <dd> -emitted with the file name and processed HTML - to signal the availability of the processed HTML +emitted with the file name, the processed + HTML and the web site root path to signal the availability of the + processed HTML </dd> </dl> <h3>Derived from</h3> @@ -89,6 +90,9 @@ <td><a href="#PreviewProcessingThread.__getHtml">__getHtml</a></td> <td>Private method to process the given text depending upon the given language.</td> </tr><tr> +<td><a href="#PreviewProcessingThread.__processRootPath">__processRootPath</a></td> +<td>Private method to adjust absolute references to the given root path.</td> +</tr><tr> <td><a href="#PreviewProcessingThread.__processSSI">__processSSI</a></td> <td>Private method to process the given text for SSI statements.</td> </tr><tr> @@ -115,13 +119,20 @@ </dd> </dl><a NAME="PreviewProcessingThread.__convertMarkdown" ID="PreviewProcessingThread.__convertMarkdown"></a> <h4>PreviewProcessingThread.__convertMarkdown</h4> -<b>__convertMarkdown</b>(<i>text</i>) +<b>__convertMarkdown</b>(<i>text, convertNewLineToBreak, htmlFormat</i>) <p> Private method to convert Markdown text into HTML. </p><dl> <dt><i>text</i></dt> <dd> text to be processed (string) +</dd><dt><i>convertNewLineToBreak</i></dt> +<dd> +flag indicating to convert new lines + to HTML break (Markdown only) (boolean) +</dd><dt><i>htmlFormat</i></dt> +<dd> +HTML format to be generated by markdown (string) </dd> </dl><dl> <dt>Returns:</dt> @@ -130,7 +141,7 @@ </dd> </dl><a NAME="PreviewProcessingThread.__convertReST" ID="PreviewProcessingThread.__convertReST"></a> <h4>PreviewProcessingThread.__convertReST</h4> -<b>__convertReST</b>(<i>text, useSphinx</i>) +<b>__convertReST</b>(<i>text, useSphinx, restDocutilsHtmlFormat</i>) <p> Private method to convert ReST text into HTML. </p><dl> @@ -141,6 +152,10 @@ <dd> flag indicating to use Sphinx to generate the ReST preview (boolean) +</dd><dt><i>restDocutilsHtmlFormat</i></dt> +<dd> +HTML format to be generated by docutils + (string) </dd> </dl><dl> <dt>Returns:</dt> @@ -149,13 +164,16 @@ </dd> </dl><a NAME="PreviewProcessingThread.__convertReSTDocutils" ID="PreviewProcessingThread.__convertReSTDocutils"></a> <h4>PreviewProcessingThread.__convertReSTDocutils</h4> -<b>__convertReSTDocutils</b>(<i>text</i>) +<b>__convertReSTDocutils</b>(<i>text, htmlFormat</i>) <p> Private method to convert ReST text into HTML using 'docutils'. </p><dl> <dt><i>text</i></dt> <dd> text to be processed (string) +</dd><dt><i>htmlFormat</i></dt> +<dd> +HTML format to be generated (string) </dd> </dl><dl> <dt>Returns:</dt> @@ -179,7 +197,7 @@ </dd> </dl><a NAME="PreviewProcessingThread.__getHtml" ID="PreviewProcessingThread.__getHtml"></a> <h4>PreviewProcessingThread.__getHtml</h4> -<b>__getHtml</b>(<i>language, text, ssiEnabled, filePath, rootPath, useSphinx</i>) +<b>__getHtml</b>(<i>language, text, ssiEnabled, filePath, rootPath, useSphinx, convertNewLineToBreak, markdownHtmlFormat, restDocutilsHtmlFormat</i>) <p> Private method to process the given text depending upon the given language. @@ -204,12 +222,47 @@ <dd> flag indicating to use Sphinx to generate the ReST preview (boolean) +</dd><dt><i>convertNewLineToBreak</i></dt> +<dd> +flag indicating to convert new lines + to HTML break (Markdown only) (boolean) +</dd><dt><i>markdownHtmlFormat</i></dt> +<dd> +HTML format to be generated by markdown + (string) +</dd><dt><i>restDocutilsHtmlFormat</i></dt> +<dd> +HTML format to be generated by docutils + (string) </dd> </dl><dl> <dt>Returns:</dt> <dd> processed HTML text (string) </dd> +</dl><a NAME="PreviewProcessingThread.__processRootPath" ID="PreviewProcessingThread.__processRootPath"></a> +<h4>PreviewProcessingThread.__processRootPath</h4> +<b>__processRootPath</b>(<i>txt, root</i>) +<p> + Private method to adjust absolute references to the given root path. +</p><dl> +<dt><i>txt</i> (str)</dt> +<dd> +text to be processed +</dd><dt><i>root</i> (str)</dt> +<dd> +directory of the document root +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +processed HTML +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> </dl><a NAME="PreviewProcessingThread.__processSSI" ID="PreviewProcessingThread.__processSSI"></a> <h4>PreviewProcessingThread.__processSSI</h4> <b>__processSSI</b>(<i>txt, filename, root</i>) @@ -236,7 +289,7 @@ </dd> </dl><a NAME="PreviewProcessingThread.process" ID="PreviewProcessingThread.process"></a> <h4>PreviewProcessingThread.process</h4> -<b>process</b>(<i>filePath, language, text, ssiEnabled, rootPath, useSphinx</i>) +<b>process</b>(<i>filePath, language, text, ssiEnabled, rootPath, useSphinx, convertNewLineToBreak, markdownHtmlFormat, restDocutilsHtmlFormat</i>) <p> Public method to convert the given text to HTML. </p><dl> @@ -260,6 +313,18 @@ <dd> flag indicating to use Sphinx to generate the ReST preview (boolean) +</dd><dt><i>convertNewLineToBreak</i></dt> +<dd> +flag indicating to convert new lines + to HTML break (Markdown only) (boolean) +</dd><dt><i>markdownHtmlFormat</i></dt> +<dd> +HTML format to be generated by markdown + (string) +</dd><dt><i>restDocutilsHtmlFormat</i></dt> +<dd> +HTML format to be generated by docutils + (string) </dd> </dl><a NAME="PreviewProcessingThread.run" ID="PreviewProcessingThread.run"></a> <h4>PreviewProcessingThread.run</h4> @@ -305,6 +370,9 @@ <td><a href="#PreviewerHTML.__setJavaScriptEnabled">__setJavaScriptEnabled</a></td> <td>Private method to enable/disable JavaScript.</td> </tr><tr> +<td><a href="#PreviewerHTML.__showLink">__showLink</a></td> +<td>Private slot to show the hovered link in a tooltip.</td> +</tr><tr> <td><a href="#PreviewerHTML.on_jsCheckBox_clicked">on_jsCheckBox_clicked</a></td> <td>Private slot to enable/disable JavaScript.</td> </tr><tr> @@ -373,17 +441,20 @@ Private method to save scroll bar positions for a previewed editor. </p><a NAME="PreviewerHTML.__setHtml" ID="PreviewerHTML.__setHtml"></a> <h4>PreviewerHTML.__setHtml</h4> -<b>__setHtml</b>(<i>filePath, html</i>) +<b>__setHtml</b>(<i>filePath, html, rootPath</i>) <p> Private method to set the HTML to the view and restore the scroll bars positions. </p><dl> -<dt><i>filePath</i></dt> +<dt><i>filePath</i> (str)</dt> +<dd> +file path of the previewed editor +</dd><dt><i>html</i> (str)</dt> <dd> -file path of the previewed editor (string) -</dd><dt><i>html</i></dt> +processed HTML text ready to be shown +</dd><dt><i>rootPath</i> (str)</dt> <dd> -processed HTML text ready to be shown (string) +path of the web site root </dd> </dl><a NAME="PreviewerHTML.__setJavaScriptEnabled" ID="PreviewerHTML.__setJavaScriptEnabled"></a> <h4>PreviewerHTML.__setJavaScriptEnabled</h4> @@ -395,6 +466,16 @@ <dd> flag indicating the enable state (boolean) </dd> +</dl><a NAME="PreviewerHTML.__showLink" ID="PreviewerHTML.__showLink"></a> +<h4>PreviewerHTML.__showLink</h4> +<b>__showLink</b>(<i>urlStr</i>) +<p> + Private slot to show the hovered link in a tooltip. +</p><dl> +<dt><i>urlStr</i> (str)</dt> +<dd> +hovered URL +</dd> </dl><a NAME="PreviewerHTML.on_jsCheckBox_clicked" ID="PreviewerHTML.on_jsCheckBox_clicked"></a> <h4>PreviewerHTML.on_jsCheckBox_clicked</h4> <b>on_jsCheckBox_clicked</b>(<i>checked</i>)
--- a/Documentation/Source/eric6.UI.UserInterface.html Thu Aug 03 14:50:59 2017 +0200 +++ b/Documentation/Source/eric6.UI.UserInterface.html Fri Sep 01 12:08:17 2017 +0200 @@ -1999,7 +1999,7 @@ </dl><dl> <dt>Return Type:</dt> <dd> -tuple of int and str +tuple of int </dd> </dl><a NAME="UserInterface.__versionsDownloadCanceled" ID="UserInterface.__versionsDownloadCanceled"></a> <h4>UserInterface.__versionsDownloadCanceled</h4> @@ -2543,19 +2543,23 @@ Public method to show the Log-Viewer. </p><a NAME="UserInterface.showNotification" ID="UserInterface.showNotification"></a> <h4>UserInterface.showNotification</h4> -<b>showNotification</b>(<i>icon, heading, text</i>) +<b>showNotification</b>(<i>icon, heading, text, timeout=None</i>) <p> Public method to show a desktop notification. </p><dl> -<dt><i>icon</i></dt> +<dt><i>icon</i> (QPixmap)</dt> <dd> -icon to be shown in the notification (QPixmap) -</dd><dt><i>heading</i></dt> +icon to be shown in the notification +</dd><dt><i>heading</i> (str)</dt> <dd> -heading of the notification (string) -</dd><dt><i>text</i></dt> +heading of the notification +</dd><dt><i>text</i> (str)</dt> <dd> -text of the notification (string) +text of the notification +</dd><dt><i>timeout</i> (int)</dt> +<dd> +time in seconds the notification should be shown + (None = use configured timeout, 0 = indefinitely) </dd> </dl><a NAME="UserInterface.showPluginsAvailable" ID="UserInterface.showPluginsAvailable"></a> <h4>UserInterface.showPluginsAvailable</h4>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html Fri Sep 01 12:08:17 2017 +0200 @@ -0,0 +1,370 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient</h1> +<p> +Module implementing the low level interface for Google Safe Browsing. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#SafeBrowsingAPIClient">SafeBrowsingAPIClient</a></td> +<td>Class implementing the low level interface for Google Safe Browsing.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="SafeBrowsingAPIClient" ID="SafeBrowsingAPIClient"></a> +<h2>SafeBrowsingAPIClient</h2> +<p> + Class implementing the low level interface for Google Safe Browsing. +</p><h3>Signals</h3> +<dl> +<dt>networkError(str)</dt> +<dd> +emitted to indicate a network error +</dd> +</dl> +<h3>Derived from</h3> +QObject +<h3>Class Attributes</h3> +<table> +<tr><td>ClientId</td></tr><tr><td>ClientVersion</td></tr><tr><td>GsbUrlTemplate</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr> +<td><a href="#SafeBrowsingAPIClient.getPlatformString">getPlatformString</a></td> +<td>Class method to get the platform string for a given platform type.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getPlatformTypes">getPlatformTypes</a></td> +<td>Class method to get the platform types for a given platform.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getThreatEntryString">getThreatEntryString</a></td> +<td>Class method to get the threat entry string.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getThreatMessage">getThreatMessage</a></td> +<td>Class method to get a warning message for the given threat type.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getThreatType">getThreatType</a></td> +<td>Class method to get a display string for a given threat type.</td> +</tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#SafeBrowsingAPIClient.__init__">SafeBrowsingAPIClient</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.__extractData">__extractData</a></td> +<td>Private method to extract the data of a network reply.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.__setWaitDuration">__setWaitDuration</a></td> +<td>Private method to set the minimum wait duration.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.fairUseDelayExpired">fairUseDelayExpired</a></td> +<td>Public method to check, if the fair use wait period has expired.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime">getFairUseDelayExpirationDateTime</a></td> +<td>Public method to get the date and time the fair use delay will expire.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getFullHashes">getFullHashes</a></td> +<td>Public method to find full hashes matching hash prefixes.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getThreatLists">getThreatLists</a></td> +<td>Public method to retrieve all available threat lists.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.getThreatsUpdate">getThreatsUpdate</a></td> +<td>Public method to fetch hash prefix updates for the given threat list.</td> +</tr><tr> +<td><a href="#SafeBrowsingAPIClient.setApiKey">setApiKey</a></td> +<td>Public method to set the API key.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="SafeBrowsingAPIClient.getPlatformString" ID="SafeBrowsingAPIClient.getPlatformString"></a> +<h4>SafeBrowsingAPIClient.getPlatformString (class method)</h4> +<b>getPlatformString</b>(<i>platformType</i>) +<p> + Class method to get the platform string for a given platform type. +</p><dl> +<dt><i>platformType</i> (str)</dt> +<dd> +platform type as defined in the v4 API +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +platform string +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getPlatformTypes" ID="SafeBrowsingAPIClient.getPlatformTypes"></a> +<h4>SafeBrowsingAPIClient.getPlatformTypes (class method)</h4> +<b>getPlatformTypes</b>(<i>platform</i>) +<p> + Class method to get the platform types for a given platform. +</p><dl> +<dt><i>platform</i> (str (one of 'linux', 'windows', 'macos'))</dt> +<dd> +platform string +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +list of platform types as defined in the v4 API for the + given platform +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of str +</dd> +</dl><dl> +<dt>Raises <b>ValueError</b>:</dt> +<dd> +raised to indicate an invalid platform string +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getThreatEntryString" ID="SafeBrowsingAPIClient.getThreatEntryString"></a> +<h4>SafeBrowsingAPIClient.getThreatEntryString (class method)</h4> +<b>getThreatEntryString</b>(<i>threatEntry</i>) +<p> + Class method to get the threat entry string. +</p><dl> +<dt><i>threatEntry</i> (str)</dt> +<dd> +threat entry type as defined in the v4 API +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +threat entry string +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getThreatMessage" ID="SafeBrowsingAPIClient.getThreatMessage"></a> +<h4>SafeBrowsingAPIClient.getThreatMessage (class method)</h4> +<b>getThreatMessage</b>(<i>threatType</i>) +<p> + Class method to get a warning message for the given threat type. +</p><dl> +<dt><i>threatType</i> (str)</dt> +<dd> +threat type to get the message for +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +threat message +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getThreatType" ID="SafeBrowsingAPIClient.getThreatType"></a> +<h4>SafeBrowsingAPIClient.getThreatType (class method)</h4> +<b>getThreatType</b>(<i>threatType</i>) +<p> + Class method to get a display string for a given threat type. +</p><dl> +<dt><i>threatType</i> (str)</dt> +<dd> +threat type to get display string for +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +display string +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="SafeBrowsingAPIClient.__init__" ID="SafeBrowsingAPIClient.__init__"></a> +<h4>SafeBrowsingAPIClient (Constructor)</h4> +<b>SafeBrowsingAPIClient</b>(<i>apiKey, fairUse=True, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>apiKey</i> (str)</dt> +<dd> +API key to be used +</dd><dt><i>fairUse</i> (bool)</dt> +<dd> +flag indicating to follow the fair use policy +</dd><dt><i>parent</i> (QObject)</dt> +<dd> +reference to the parent object +</dd> +</dl><a NAME="SafeBrowsingAPIClient.__extractData" ID="SafeBrowsingAPIClient.__extractData"></a> +<h4>SafeBrowsingAPIClient.__extractData</h4> +<b>__extractData</b>(<i>reply</i>) +<p> + Private method to extract the data of a network reply. +</p><dl> +<dt><i>reply</i> (QNetworkReply)</dt> +<dd> +reference to the network reply object +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +extracted data +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list or dict +</dd> +</dl><a NAME="SafeBrowsingAPIClient.__setWaitDuration" ID="SafeBrowsingAPIClient.__setWaitDuration"></a> +<h4>SafeBrowsingAPIClient.__setWaitDuration</h4> +<b>__setWaitDuration</b>(<i>minimumWaitDuration</i>) +<p> + Private method to set the minimum wait duration. +</p><dl> +<dt><i>minimumWaitDuration</i> (str)</dt> +<dd> +duration to be set +</dd> +</dl><a NAME="SafeBrowsingAPIClient.fairUseDelayExpired" ID="SafeBrowsingAPIClient.fairUseDelayExpired"></a> +<h4>SafeBrowsingAPIClient.fairUseDelayExpired</h4> +<b>fairUseDelayExpired</b>(<i></i>) +<p> + Public method to check, if the fair use wait period has expired. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating expiration +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" ID="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime"></a> +<h4>SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime</h4> +<b>getFairUseDelayExpirationDateTime</b>(<i></i>) +<p> + Public method to get the date and time the fair use delay will expire. +</p><dl> +<dt>Returns:</dt> +<dd> +fair use delay expiration date and time +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QDateTime +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getFullHashes" ID="SafeBrowsingAPIClient.getFullHashes"></a> +<h4>SafeBrowsingAPIClient.getFullHashes</h4> +<b>getFullHashes</b>(<i>prefixes, clientState</i>) +<p> + Public method to find full hashes matching hash prefixes. +</p><dl> +<dt><i>prefixes</i> (list of str (Python 2) or list of bytes (Python 3))</dt> +<dd> +list of hash prefixes to find +</dd><dt><i>clientState</i> (dict)</dt> +<dd> +dictionary of client states with keys like + (threatType, platformType, threatEntryType) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +dictionary containing the list of found hashes and the + negative cache duration +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +dict +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getThreatLists" ID="SafeBrowsingAPIClient.getThreatLists"></a> +<h4>SafeBrowsingAPIClient.getThreatLists</h4> +<b>getThreatLists</b>(<i></i>) +<p> + Public method to retrieve all available threat lists. +</p><dl> +<dt>Returns:</dt> +<dd> +list of threat lists +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of dict containing 'threatType', 'platformType' and + 'threatEntryType' +</dd> +</dl><a NAME="SafeBrowsingAPIClient.getThreatsUpdate" ID="SafeBrowsingAPIClient.getThreatsUpdate"></a> +<h4>SafeBrowsingAPIClient.getThreatsUpdate</h4> +<b>getThreatsUpdate</b>(<i>clientStates</i>) +<p> + Public method to fetch hash prefix updates for the given threat list. +</p><dl> +<dt><i>clientStates</i> (dict)</dt> +<dd> +dictionary of client states with keys like + (threatType, platformType, threatEntryType) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +list of threat updates +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of dict +</dd> +</dl><a NAME="SafeBrowsingAPIClient.setApiKey" ID="SafeBrowsingAPIClient.setApiKey"></a> +<h4>SafeBrowsingAPIClient.setApiKey</h4> +<b>setApiKey</b>(<i>apiKey</i>) +<p> + Public method to set the API key. +</p><dl> +<dt><i>apiKey</i> (str)</dt> +<dd> +API key to be set +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html Fri Sep 01 12:08:17 2017 +0200 @@ -0,0 +1,569 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache</h1> +<p> +Module implementing a cache for Google Safe Browsing. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#HashPrefixList">HashPrefixList</a></td> +<td>Class implementing a container for threat list data.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache">SafeBrowsingCache</a></td> +<td>Class implementing a cache for Google Safe Browsing.</td> +</tr><tr> +<td><a href="#ThreatList">ThreatList</a></td> +<td>Class implementing the threat list info.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="HashPrefixList" ID="HashPrefixList"></a> +<h2>HashPrefixList</h2> +<p> + Class implementing a container for threat list data. +</p> +<h3>Derived from</h3> +object +<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="#HashPrefixList.__init__">HashPrefixList</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#HashPrefixList.__iter__">__iter__</a></td> +<td>Special method to iterate over the raw hashes.</td> +</tr><tr> +<td><a href="#HashPrefixList.__len__">__len__</a></td> +<td>Special method to calculate the number of entries.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="HashPrefixList.__init__" ID="HashPrefixList.__init__"></a> +<h4>HashPrefixList (Constructor)</h4> +<b>HashPrefixList</b>(<i>prefixLength, rawHashes</i>) +<p> + Constructor +</p><dl> +<dt><i>prefixLength</i> (int)</dt> +<dd> +length of each hash prefix +</dd><dt><i>rawHashes</i> (str)</dt> +<dd> +raw hash prefixes of given length concatenated and + sorted in lexicographical order +</dd> +</dl><a NAME="HashPrefixList.__iter__" ID="HashPrefixList.__iter__"></a> +<h4>HashPrefixList.__iter__</h4> +<b>__iter__</b>(<i></i>) +<p> + Special method to iterate over the raw hashes. +</p><dl> +<dt>Returns:</dt> +<dd> +iterator object +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +iterator +</dd> +</dl><a NAME="HashPrefixList.__len__" ID="HashPrefixList.__len__"></a> +<h4>HashPrefixList.__len__</h4> +<b>__len__</b>(<i></i>) +<p> + Special method to calculate the number of entries. +</p><dl> +<dt>Returns:</dt> +<dd> +length +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +int +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="SafeBrowsingCache" ID="SafeBrowsingCache"></a> +<h2>SafeBrowsingCache</h2> +<p> + Class implementing a cache for Google Safe Browsing. +</p> +<h3>Derived from</h3> +QObject +<h3>Class Attributes</h3> +<table> +<tr><td>create_full_hash_cue_idx</td></tr><tr><td>create_full_hash_expires_idx</td></tr><tr><td>create_full_hash_value_idx</td></tr><tr><td>create_full_hashes_stmt</td></tr><tr><td>create_hash_prefix_stmt</td></tr><tr><td>create_threat_list_stmt</td></tr><tr><td>drop_full_hash_cue_idx</td></tr><tr><td>drop_full_hash_expires_idx</td></tr><tr><td>drop_full_hash_value_idx</td></tr><tr><td>drop_full_hashes_stmt</td></tr><tr><td>drop_hash_prefix_stmt</td></tr><tr><td>drop_threat_list_stmt</td></tr><tr><td>maxProcessEventsTime</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#SafeBrowsingCache.__init__">SafeBrowsingCache</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.__openCacheDb">__openCacheDb</a></td> +<td>Private method to open the cache database.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.addThreatList">addThreatList</a></td> +<td>Public method to add a threat list to the cache.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.cleanupFullHashes">cleanupFullHashes</a></td> +<td>Public method to clean up full hash entries expired more than the given time.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.close">close</a></td> +<td>Public method to close the database.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.deleteHashPrefixList">deleteHashPrefixList</a></td> +<td>Public method to delete hash prefixes for a given threat list.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.deleteThreatList">deleteThreatList</a></td> +<td>Public method to delete a threat list from the cache.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.getHashPrefixValuesToRemove">getHashPrefixValuesToRemove</a></td> +<td>Public method to get the hash prefix values to be removed from the cache.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.getThreatLists">getThreatLists</a></td> +<td>Public method to get the available threat lists.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.hashPrefixListChecksum">hashPrefixListChecksum</a></td> +<td>Public method to calculate the SHA256 checksum for an alphabetically sorted concatenated list of hash prefixes.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.lookupFullHashes">lookupFullHashes</a></td> +<td>Public method to get a list of threat lists and expiration flag for the given hashes if a hash is blacklisted.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.lookupHashPrefix">lookupHashPrefix</a></td> +<td>Public method to look up hash prefixes in the local cache.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.populateHashPrefixList">populateHashPrefixList</a></td> +<td>Public method to populate the hash prefixes for a threat list.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.prepareCacheDb">prepareCacheDb</a></td> +<td>Public method to prepare the cache database.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.removeHashPrefixIndices">removeHashPrefixIndices</a></td> +<td>Public method to remove hash prefixes from the cache.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.storeFullHash">storeFullHash</a></td> +<td>Public method to store full hash data in the cache database.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.updateHashPrefixExpiration">updateHashPrefixExpiration</a></td> +<td>Public method to update the hash prefix expiration time.</td> +</tr><tr> +<td><a href="#SafeBrowsingCache.updateThreatListClientState">updateThreatListClientState</a></td> +<td>Public method to update the client state of a threat list.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="SafeBrowsingCache.__init__" ID="SafeBrowsingCache.__init__"></a> +<h4>SafeBrowsingCache (Constructor)</h4> +<b>SafeBrowsingCache</b>(<i>dbPath, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>dbPath</i> (str)</dt> +<dd> +path to store the cache DB into +</dd><dt><i>parent</i> (QObject)</dt> +<dd> +reference to the parent object +</dd> +</dl><a NAME="SafeBrowsingCache.__openCacheDb" ID="SafeBrowsingCache.__openCacheDb"></a> +<h4>SafeBrowsingCache.__openCacheDb</h4> +<b>__openCacheDb</b>(<i></i>) +<p> + Private method to open the cache database. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating the open state +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl><a NAME="SafeBrowsingCache.addThreatList" ID="SafeBrowsingCache.addThreatList"></a> +<h4>SafeBrowsingCache.addThreatList</h4> +<b>addThreatList</b>(<i>threatList</i>) +<p> + Public method to add a threat list to the cache. +</p><dl> +<dt><i>threatList</i> (ThreatList)</dt> +<dd> +threat list to be added +</dd> +</dl><a NAME="SafeBrowsingCache.cleanupFullHashes" ID="SafeBrowsingCache.cleanupFullHashes"></a> +<h4>SafeBrowsingCache.cleanupFullHashes</h4> +<b>cleanupFullHashes</b>(<i>keepExpiredFor=43200</i>) +<p> + Public method to clean up full hash entries expired more than the + given time. +</p><dl> +<dt><i>keepExpiredFor</i> (int or float)</dt> +<dd> +time period in seconds of entries to be expired +</dd> +</dl><a NAME="SafeBrowsingCache.close" ID="SafeBrowsingCache.close"></a> +<h4>SafeBrowsingCache.close</h4> +<b>close</b>(<i></i>) +<p> + Public method to close the database. +</p><a NAME="SafeBrowsingCache.deleteHashPrefixList" ID="SafeBrowsingCache.deleteHashPrefixList"></a> +<h4>SafeBrowsingCache.deleteHashPrefixList</h4> +<b>deleteHashPrefixList</b>(<i>threatList</i>) +<p> + Public method to delete hash prefixes for a given threat list. +</p><dl> +<dt><i>threatList</i> (ThreatList)</dt> +<dd> +threat list info object +</dd> +</dl><a NAME="SafeBrowsingCache.deleteThreatList" ID="SafeBrowsingCache.deleteThreatList"></a> +<h4>SafeBrowsingCache.deleteThreatList</h4> +<b>deleteThreatList</b>(<i>threatList</i>) +<p> + Public method to delete a threat list from the cache. +</p><dl> +<dt><i>threatList</i> (ThreatList)</dt>