From d28b1fe18620399cfc6628d37998a45447520036 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Thu, 6 Dec 2012 07:27:41 +0000 Subject: [PATCH] [0.2.x] added : pytowiki script output information about a class's properties git-svn-id: https://pykd.svn.codeplex.com/svn@81669 9b283d60-5439-405e-af05-b73fd8c4d996 --- snippets/pytowiki.py | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/snippets/pytowiki.py b/snippets/pytowiki.py index 8b5b056..1a48688 100644 --- a/snippets/pytowiki.py +++ b/snippets/pytowiki.py @@ -48,6 +48,7 @@ class ModuleInfo: for cls in self.classes: cls.methods = sorted( [ item for item in cls.__dict__.values() if type(item).__name__ == "function" ], key=lambda x: x.__name__ ) + cls.properties = sorted( [ item for item in cls.__dict__.items() if type(item[1]).__name__ == "property" ], key=lambda x: x[0] ) def buildDoc( ioStream, formatter, apiInfo ): @@ -75,16 +76,32 @@ def buildDoc( ioStream, formatter, apiInfo ): ioStream.write( formatter.header3( "Class " + cls.__name__ ) ) if cls.__doc__ != None: ioStream.write( formatter.escapeMarkup( cls.__doc__) + formatter.endl() ) + + if cls.properties: + ioStream.write( formatter.header4( "Properties:") ) + for p in cls.properties: + if p[1].__doc__ != None: + ioStream.write( formatter.bulletItem( formatter.link( p[0], cls.__name__ + "." + p[0]) ) ) - for m in cls.methods: - if m.__doc__ != None: - ioStream.write( formatter.bulletItem( formatter.link( m.__name__, cls.__name__ + "." + m.__name__) ) ) + if cls.methods: + ioStream.write( formatter.header4( "Methods:") ) + for m in cls.methods: + if m.__doc__ != None: + ioStream.write( formatter.bulletItem( formatter.link( m.__name__, cls.__name__ + "." + m.__name__) ) ) + + if cls.properties: + for p in cls.properties: + if p.__doc__ != None: + ioStream.write( formatter.anchor( cls.__name__ + "." + p[0] ) ) + ioStream.write( formatter.header4( formatter.escapeMarkup( "Property " + cls.__name__ + "." + p[0] ) ) ) + ioStream.write( formatter.escapeMarkup( p[1].__doc__ ) + formatter.endl() ) - for m in cls.methods: - if m.__doc__ != None: - ioStream.write( formatter.anchor( cls.__name__ + "." + m.__name__ ) ) - ioStream.write( formatter.header4( formatter.escapeMarkup( cls.__name__ + "." + m.__name__ ) ) ) - ioStream.write( formatter.escapeMarkup( m.__doc__ ) + formatter.endl() ) + if cls.methods: + for m in cls.methods: + if m.__doc__ != None: + ioStream.write( formatter.anchor( cls.__name__ + "." + m.__name__ ) ) + ioStream.write( formatter.header4( formatter.escapeMarkup( "Method " + cls.__name__ + "." + m.__name__ ) ) ) + ioStream.write( formatter.escapeMarkup( m.__doc__ ) + formatter.endl() ) def main():