FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
vscode-python/pythonFiles/jedi/debug.py at master · plusls/vscode-python · GitHub
plusls
/
vscode-python
Public
forked from
microsoft/vscode-python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
vscode-python
/
pythonFiles
/
jedi
/
debug.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
128 lines (102 loc) · 3.35 KB
Breadcrumbs
vscode-python
/
pythonFiles
/
jedi
/
debug.py
Copy path
File metadata and controls
128 lines (102 loc) · 3.35 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
from
jedi
.
_compatibility
import
encoding
,
is_py3
,
u
import
os
import
time
def
_lazy_colorama_init
():
"""
Lazily init colorama if necessary, not to screw up stdout is debug not
enabled.
This version of the function does nothing.
"""
pass
_inited
=
False
try
:
if
os
.
name
==
'nt'
:
# Does not work on Windows, as pyreadline and colorama interfere
raise
ImportError
else
:
# Use colorama for nicer console output.
from
colorama
import
Fore
,
init
from
colorama
import
initialise
def
_lazy_colorama_init
():
"""
Lazily init colorama if necessary, not to screw up stdout is
debug not enabled.
This version of the function does init colorama.
"""
global
_inited
if
not
_inited
:
# pytest resets the stream at the end - causes troubles. Since
# after every output the stream is reset automatically we don't
# need this.
initialise
.
atexit_done
=
True
try
:
init
(
strip
=
False
)
except
Exception
:
# Colorama fails with initializing under vim and is buggy in
# version 0.3.6.
pass
_inited
=
True
except
ImportError
:
class
Fore
(
object
):
RED
=
''
GREEN
=
''
YELLOW
=
''
MAGENTA
=
''
RESET
=
''
NOTICE
=
object
()
WARNING
=
object
()
SPEED
=
object
()
enable_speed
=
False
enable_warning
=
False
enable_notice
=
False
# callback, interface: level, str
debug_function
=
None
_debug_indent
=
0
_start_time
=
time
.
time
()
def
reset_time
():
global
_start_time
,
_debug_indent
_start_time
=
time
.
time
()
_debug_indent
=
0
def
increase_indent
(
func
):
"""Decorator for makin """
def
wrapper
(
*
args
,
**
kwargs
):
global
_debug_indent
_debug_indent
+=
1
try
:
return
func
(
*
args
,
**
kwargs
)
finally
:
_debug_indent
-=
1
return
wrapper
def
dbg
(
message
,
*
args
,
**
kwargs
):
""" Looks at the stack, to see if a debug message should be printed. """
# Python 2 compatibility, because it doesn't understand default args
color
=
kwargs
.
pop
(
'color'
,
'GREEN'
)
assert
color
if
debug_function
and
enable_notice
:
i
=
' '
*
_debug_indent
_lazy_colorama_init
()
debug_function
(
color
,
i
+
'dbg: '
+
message
%
tuple
(
u
(
repr
(
a
))
for
a
in
args
))
def
warning
(
message
,
*
args
,
**
kwargs
):
format
=
kwargs
.
pop
(
'format'
,
True
)
assert
not
kwargs
if
debug_function
and
enable_warning
:
i
=
' '
*
_debug_indent
if
format
:
message
=
message
%
tuple
(
u
(
repr
(
a
))
for
a
in
args
)
debug_function
(
'RED'
,
i
+
'warning: '
+
message
)
def
speed
(
name
):
if
debug_function
and
enable_speed
:
now
=
time
.
time
()
i
=
' '
*
_debug_indent
debug_function
(
'YELLOW'
,
i
+
'speed: '
+
'%s %s'
%
(
name
,
now
-
_start_time
))
def
print_to_stdout
(
color
,
str_out
):
"""
The default debug function that prints to standard out.
:param str color: A string that is an attribute of ``colorama.Fore``.
"""
col
=
getattr
(
Fore
,
color
)
_lazy_colorama_init
()
if
not
is_py3
:
str_out
=
str_out
.
encode
(
encoding
,
'replace'
)
print
(
col
+
str_out
+
Fore
.
RESET
)
# debug_function = print_to_stdout
Back
|
FazBrowse Home
|
New Git URL