From 476d8645442467fdb0b244535c4bb0290049aeb4 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Mon, 11 Apr 2011 14:00:36 +0000 Subject: [PATCH] [snippets] added: !py help command for interactive help git-svn-id: https://pykd.svn.codeplex.com/svn@63842 9b283d60-5439-405e-af05-b73fd8c4d996 --- snippets/help.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 snippets/help.py diff --git a/snippets/help.py b/snippets/help.py new file mode 100644 index 0000000..c843ba1 --- /dev/null +++ b/snippets/help.py @@ -0,0 +1,59 @@ +# +# +# + +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( "\nFUNCTIONS\n", True ) + + for f in funcs: + dprintln( "%s" %( f.__name__, f.__name__ ), True ) + + classes = getClasses() + + dprintln( "\nCLASSES\n", True ) + + for c in classes: + dprintln( "%s" %( 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]) +