src/eric7/DebugClients/Python/DebugClientBase.py

branch
eric7
changeset 10331
c1a2ff7e3575
parent 10321
4a017fdf316f
child 10417
c6011e501282
equal deleted inserted replaced
10330:5ea038882dd6 10331:c1a2ff7e3575
10 import atexit 10 import atexit
11 import codecs 11 import codecs
12 import codeop 12 import codeop
13 import contextlib 13 import contextlib
14 import fnmatch 14 import fnmatch
15 import importlib
15 import json 16 import json
16 import os 17 import os
17 import re 18 import re
18 import runpy 19 import runpy
19 import select 20 import select
31 import DebugClientCapabilities 32 import DebugClientCapabilities
32 import DebugVariables 33 import DebugVariables
33 34
34 from AsyncFile import AsyncFile, AsyncPendingWrite 35 from AsyncFile import AsyncFile, AsyncPendingWrite
35 from BreakpointWatch import Breakpoint, Watch 36 from BreakpointWatch import Breakpoint, Watch
36 from DebugBase import printerr, setRecursionLimit # __IGNORE_WARNING__ 37 from DebugBase import printerr, setRecursionLimit
37 from DebugConfig import NonExpandableTypes, SpecialAttributes 38 from DebugConfig import NonExpandableTypes, SpecialAttributes
38 from DebugUtilities import formatargvalues, getargvalues, prepareJsonCommand 39 from DebugUtilities import formatargvalues, getargvalues, prepareJsonCommand
39 from FlexCompleter import Completer 40 from FlexCompleter import Completer
40 from MultiProcessDebugExtension import patchNewProcessFunctions 41 from MultiProcessDebugExtension import patchNewProcessFunctions
41 42
1028 """ 1029 """
1029 Private method to determine the clients capabilities. 1030 Private method to determine the clients capabilities.
1030 1031
1031 @return client capabilities (integer) 1032 @return client capabilities (integer)
1032 """ 1033 """
1033 try: 1034 if importlib.util.find_spec("PyProfile") is None:
1034 import PyProfile # __IGNORE_WARNING__ 1035 return self.clientCapabilities & ~DebugClientCapabilities.HasProfiler
1035 1036 else:
1036 with contextlib.suppress(KeyError):
1037 del sys.modules["PyProfile"]
1038 return self.clientCapabilities 1037 return self.clientCapabilities
1039 except ImportError:
1040 return self.clientCapabilities & ~DebugClientCapabilities.HasProfiler
1041 1038
1042 def readReady(self, stream): 1039 def readReady(self, stream):
1043 """ 1040 """
1044 Public method called when there is data ready to be read. 1041 Public method called when there is data ready to be read.
1045 1042

eric ide

mercurial