pykd/snippets/help.py

62 lines
1.2 KiB
Python
Raw Normal View History

#
#
#
import sys
import pykd
from pykd import dprintln
def getFuncs():
funcs = sorted( [ item for item in pykd.__dict__.values() if type(item).__name__ == "function" ],
key=lambda x: x.__name__ )
return funcs
def getClasses():
classes = sorted( [ item for item in pykd.__dict__.values() if type(item).__name__ == "class" ],
key=lambda x: x.__name__ )
return classes
def printContent():
dprintln( "\nPYKD API Help\n")
funcs = getFuncs()
dprintln( "\n<u>FUNCTIONS</u>\n", True )
for f in funcs:
dprintln( "<link cmd=\"!py help %s\">%s</link>" %( f.__name__, f.__name__ ), True )
classes = getClasses()
dprintln( "\n<u>CLASSES</u>\n", True )
for c in classes:
dprintln( "<link cmd=\"!py help %s\">%s</link>" %( c.__name__, c.__name__ ), True )
def printDetail( name ):
if name in pykd.__dict__:
help( "pykd.%s" % name )
dprintln( "\n\n<link cmd=\"!py help\">View content</link>", True )
if __name__ == "__main__":
if len(sys.argv)<=1:
printContent()
if len(sys.argv)==2:
printDetail(sys.argv[1])