pykd/snippets/help.py
SND\kernelnet_cp 476d864544 [snippets] added: !py help command for interactive help
git-svn-id: https://pykd.svn.codeplex.com/svn@63842 9b283d60-5439-405e-af05-b73fd8c4d996
2011-04-11 14:00:36 +00:00

60 lines
1.1 KiB
Python

#
#
#
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 )
if __name__ == "__main__":
if len(sys.argv)<=1:
printContent()
if len(sys.argv)==2:
printDetail(sys.argv[1])