Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Paste
P7836
var_dump.py
Active
Public
Actions
Authored by
•
mmodell
on Nov 21 2018, 6:23 PM.
Edit Paste
Archive Paste
View Raw File
Subscribe
Mute Notifications
Award Token
Flag For Later
Tags
MediaWiki-Release-Tools
Release-Engineering-Team
Referenced Files
F27269937: var_dump.py
Nov 21 2018, 6:23 PM
2018-11-21 18:23:55 (UTC+0)
Subscribers
thcipriani
import
json
import
pygments
import
pygments.lexers
import
pygments.formatters
from
json
import
JSONEncoder
class
VarDumpJSONEncoder
(
JSONEncoder
):
''' encode python objects to json '''
def
default
(
self
,
o
):
if
hasattr
(
o
,
'__dump__'
):
return
o
.
__dump__
()
if
hasattr
(
o
,
'__dict__'
):
return
o
.
__dict__
try
:
return
JSONEncoder
.
default
(
self
,
o
)
except
(
TypeError
,
ValueError
):
return
"Unserializable"
def
var_dump
(
*
args
,
**
kwargs
):
''' dump an object to the console as pretty-printed json'''
lexer
=
pygments
.
lexers
.
JsonLexer
()
formatter
=
pygments
.
formatters
.
TerminalFormatter
()
encoder
=
VarDumpJSONEncoder
(
indent
=
2
)
def
dump
(
obj
):
try
:
json_str
=
encoder
.
encode
(
obj
)
output
=
pygments
.
highlight
(
json_str
,
lexer
,
formatter
)
print
(
output
)
except
Exception
as
e
:
print
(
e
)
print
(
obj
)
for
arg
in
args
:
dump
(
arg
)
if
kwargs
:
dump
(
kwargs
.
items
())
Event Timeline
•
mmodell
created this paste.
Nov 21 2018, 6:23 PM
2018-11-21 18:23:55 (UTC+0)
•
mmodell
added projects:
MediaWiki-Release-Tools
,
Release-Engineering-Team
.
•
mmodell
added a subscriber:
thcipriani
.
Log In to Comment