From: <gr...@us...> - 2006-06-02 13:49:29
|
Author: grubert Date: 2006-06-02 15:49:00 +0200 (Fri, 02 Jun 2006) New Revision: 4590 Modified: trunk/sandbox/docpy-writer/README.txt trunk/sandbox/docpy-writer/expected/codemarkup.tex trunk/sandbox/docpy-writer/input/codemarkup.txt trunk/sandbox/docpy-writer/mkpydoc.py Log: support more informational units (cmemberdesc missing) Modified: trunk/sandbox/docpy-writer/README.txt =================================================================== --- trunk/sandbox/docpy-writer/README.txt 2006-06-01 21:45:56 UTC (rev 4589) +++ trunk/sandbox/docpy-writer/README.txt 2006-06-02 13:49:00 UTC (rev 4590) @@ -114,12 +114,12 @@ \begin{funcdesc} {name}{parameters} \begin{funcdescni} {name}{parameters} \begin{classdesc} {name}{constructor parameters} + \begin{excclassdesc} {name}{constructor parameters} \begin{methoddesc} [type name]{name}{parameters} \begin{methoddescni} [type name]{name}{parameters} \begin{cmemberdesc} {container}{type}{name} - \begin{excclassdesc} {name}{constructor parameters} \begin{cfuncdesc} {type}{name}{args} The ``ni``-variants do not create index entries. @@ -141,6 +141,7 @@ * mkpydoc.py: + - 2006-06-02: support more informational units (cmemberdesc missing) - 2006-05-25: notice environment. - 2006-05-27: Modified: trunk/sandbox/docpy-writer/expected/codemarkup.tex =================================================================== --- trunk/sandbox/docpy-writer/expected/codemarkup.tex 2006-06-01 21:45:56 UTC (rev 4589) +++ trunk/sandbox/docpy-writer/expected/codemarkup.tex 2006-06-02 13:49:00 UTC (rev 4590) @@ -21,8 +21,8 @@ \begin{csimplemacrodesc} {name} \end{verbatim} -\begin{ctypedesc}ctype with_tag and_name -Dont know how this should be set correct. +\begin{ctypedesc}[ctype]{with_tag and_name} +bla bla \end{ctypedesc} \begin{verbatim} \begin{ctypedesc} [tag]{name} @@ -93,6 +93,41 @@ does this or that \end{funcdesc} +\begin{datadesc}{file} +also datadescni, excdesc, classdesc*, csimplemacrodesc +\end{datadesc} + +\begin{ctypedesc}{FileRO} +without tag +\end{ctypedesc} + +\begin{ctypedesc}[ftag]{FileRW} +with tag +also memberdesc, memberdescni +\end{ctypedesc} + +\begin{funcdescni}{read}{int bytes \optional{, bool flush \optional{, bool after}}} +two optional parameter. +also cvardesc, funcdesc, funcdescni, classdesc, excclassdesc +\end{funcdescni} + +\begin{methoddesc}{force_it}{string s} +without return type +\end{methoddesc} + +\begin{methoddescni}[bool]{write}{string s} +with return type +\end{methoddescni} + +\begin{cfuncdesc}{int}{read}{File} +not a tag but a type +\end{cfuncdesc} + +how to put this in rst: +\begin{verbatim} +\begin{cmemberdesc} {container}{type}{name} +\end{verbatim} + extra markup to the definition does not change anything as the writer processes only the text version. Modified: trunk/sandbox/docpy-writer/input/codemarkup.txt =================================================================== --- trunk/sandbox/docpy-writer/input/codemarkup.txt 2006-06-01 21:45:56 UTC (rev 4589) +++ trunk/sandbox/docpy-writer/input/codemarkup.txt 2006-06-02 13:49:00 UTC (rev 4590) @@ -22,7 +22,7 @@ .. topic:: ctype with_tag and_name :class: ctypedesc - Dont know how this should be set correct. + bla bla :: @@ -88,6 +88,33 @@ create_string_buffer(init[, size]) : funcdesc does this or that +file : datadesc + also datadescni, excdesc, classdesc*, csimplemacrodesc + +FileRO : ctypedesc + without tag + +ftag FileRW : ctypedesc + with tag + also memberdesc, memberdescni + +read(int bytes [, bool flush [, bool after]]) : funcdescni + two optional parameter. + also cvardesc, funcdesc, funcdescni, classdesc, excclassdesc + +force_it(string s) : methoddesc + without return type + +bool write(string s) : methoddescni + with return type + +int read(File) : cfuncdesc + not a tag but a type + +how to put this in rst:: + + \begin{cmemberdesc} {container}{type}{name} + extra markup to the definition does not change anything as the writer processes only the text version. Modified: trunk/sandbox/docpy-writer/mkpydoc.py =================================================================== --- trunk/sandbox/docpy-writer/mkpydoc.py 2006-06-01 21:45:56 UTC (rev 4589) +++ trunk/sandbox/docpy-writer/mkpydoc.py 2006-06-02 13:49:00 UTC (rev 4590) @@ -294,26 +294,41 @@ def anydesc_title(self, title): """Returns the title for xxxdesc environments.""" - if self.in_anydesc in ('ctypedesc','memberdesc','memberdescni',): - # TODO [tag_or_type] {name} - return '%s' % title + def markup_optional_parameters(s): + return s.replace('[','\\optional{').replace(']','}') + def with_params(s): + return markup_optional_parameters( + '{%s}' % s.replace('(','}{').replace(')','')) + def with_tag_or_typename(s, braces): + # "name", "tag name", "name(params)", "type name(params)" + param_pos = s.find("(") + blank_pos = s.find(" ") + if ((blank_pos>0 and param_pos<0) + or (blank_pos>0 and blank_pos<param_pos)): + (tag,rest) = s.split(None,1) + return braces[0] + tag + braces[1] + with_params(rest) + return with_params(s) + # + if self.in_anydesc in ('datadesc','datadescni','excdesc','classdesc*', + 'csimplemacrodesc'): + # \begin{xdesc}{name} + return '{%s}' % title + elif self.in_anydesc in ('ctypedesc','memberdesc','memberdescni',): + # \begin{ctypedesc} [tag]{name} + return with_tag_or_typename(title, '[]') elif self.in_anydesc in ('classdesc', 'cvardesc','excclassdesc', 'funcdesc','funcdescni'): # "funcname(arguments)" to "{funcname}{arguments}" # "funcname([arguments])" to "{funcname}{\optional{arguments}}" - t = '{'+title.replace('(','}{').replace(')','}') - return t.replace('[','\\optional{').replace(']','}') + return with_params(title) elif self.in_anydesc in ('methoddesc','methoddescni'): - # TODO what to do with tags - # "funcname(arguments)" to "{funcname}{arguments}" - # "funcname([arguments])" to "{funcname}{\optional{arguments}}" - t = '{'+title.replace('(','}{').replace(')','}') - return t.replace('[','\\optional{').replace(']','}') - # TODO cmemberdesc cfuncdesc - # 'datadesc','datadescni', 'excdesc','classdesc*','csimplemacrodesc' + # \begin{methoddesc} [type name]{name}{parameters} + return with_tag_or_typename(title, '[]') + elif self.in_anydesc in ('cmemberdesc','cfuncdesc'): + # \begin{cmemberdesc} {container}{type}{name} + return with_tag_or_typename(title, '{}') + # fallback return "{%s}" % title - # 'datadesc','datadescni', 'excdesc','classdesc*','csimplemacrodesc' - return "{%s}" % title def visit_title(self, node): title = node.astext() |