;ò ¿˜@c@s[dZdZdZdkZdkZdkZdkZdkZdkZdZ ei dƒZ ei dƒZ e Z ei dƒZei dƒZei d ƒZhZxsed d d ƒD]_Zed ZdededededededZei eƒZeee and & in them, since these could lead to unwanted results, e.g. like in 'if ab'; writing 'if a < c then: print a > b' causes no problem; _note:_ this is a feature so you can use normal HTML-tags in your doc-strings; use the #-trick explained in the doc_string-class instead ! [Maybe I should reverse this feature: make normal text the default and HTML the exception that needs escaping -- don't use any HTML in my current doc-strings anyway] - code could be made faster by using string.join and %s... oh well. - doc string highlighting isn't done nicely (but works fine for my code :-) - tuples in function/method declarations can get this little tool pretty confused... - this code is full of circular references; but then, I normally only use it as script -- not as module to other programs Notes: - you might want to take a look at gendoc and HTMLgen for doing a more elaborate job (see: www.python.org for more infos) - to get colorized HTML versions of yyour Python scripts have a look at py2html.py (downloadable from my Python pages on starship) History: - 0.5: minor fixes to the regexps (thanks to Tim Peters) - 0.6: fixed a buglet in rx_bodyindent[2] that sneaked in from 0.4 to 0.5 (thanks to Dinu Gherman) and added a few more /human/ formats :-) - 0.7: changed the parts-regexp to not break code at comments (this sometimes cut off some methods from classes) - 0.8: fixed bug that cut away first character from bullets; added __version__ parsing and source code highlighting provisions - 0.9: Added a fix to support spaces between class/function/method names and the parameter list (courtesy of Keith Davidson); added 'o' as list item - 0.9.1: Added sorting of methods, classes, functions; added special parameter formatting: an empty line truncates the remaining parameters from the docs The latest version is always available from my Python pages: http://starship.python.net/~lemburg/ ----------------------------------------------------------------------------- (c) Copyright by Marc-Andre Lemburg (mailto:mal@lemburg.com) Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee or royalty is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation or portions thereof, including modifications, that you make. THE AUTHOR MARC-ANDRE LEMBURG DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE ! s0.9.1s, BEGIN PYTHON-PACKAGE-INFO 1.0 Title: Automatic Python Documentation in HTML Current-Version: 0.9.1 Home-Page: http://starship.python.net/~lemburg Primary-Site: http://starship.python.net/~lemburg/doc.py This tool will parse all files in a given directory and build an internal object structure closely resembling the code structure found in the files. Using this internal representation, the objects are then called to produce a readable output -- currently only HTML is supported. END PYTHON-PACKAGE-INFO Ns\*+-·os-\( *\)class +\([^:( ]+\) *\((\([^)]*\))\)? *:s3\( *\)def +\([^( ]+\) *(\(\([^()]\|([^)]*)\)*\)) *:s ^\( *\)[^ ]s \( *\)[^ ]s$ *__version__ *= *['"]\([^'"]+\)['"]iiis s^sdef \|^s class \|^s"""\|^s import \|^sfrom \|^s __version__iss%s.htmls ParseErrorc CsNyt|}Wn`|d}d|d|d|d|d|d|d}ti|ƒ}|t| * this will only find statically defined objects -- using if's to do conditional defining breaks this method s s^sdef \|^s class \|^s"""\|^s import \|^sfrom \|^s __version__isiiÿÿÿÿN(srx_partssindentsrxssisrssregexscompileslsstartssearchstextstsgroupstypesappendsregsslensmapstuple( stextsindentsrssrxslsstartssiststype((sR/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pyspartsšs0 6 cCs•t}|i||ƒdjo|id\}}||SnTt}|i||ƒdjo|id\}}||Snd||dGHdSdS(s? calculate the bodyindent of the code starting at text[start:] iÿÿÿÿisbodyindent failed for: --|s|-- why?iN( s rx_bodyindentsrxssearchstextsstartsregssasbsrx_bodyindent_2(stextsstartsasbsrx((sR/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pyscalc_bodyindent¿s  cCs&ti||ƒ}ti||ƒSdS(s4 substitute sub for every occurence of find in text N(sstringssplitstextsfindsls joinfieldsssub(sfindssubstextsl((sR/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pyssubstÓscCs&tdd|ƒ}tdd|ƒSdS(s> want to have Unix-style newlines everywhere (that is, no !) s s s N(ssubststext(stext((sR/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pysfix_linebreaksÚscCscti|dƒ}x:tdt|ƒdƒD] }tdd||ƒ|| ... tag) * lines of - or = turn into horizontal rules * empty lines serve as paragraph separators * the first paragraph is written in italics * emphasized writing of single words: ' *bold* ' turns out bold ' _underlined_ ' turns out underlined ' /italics/ ' comes out in italics * lines starting or ending with a # are written monospaced and the '#' signaling this is deleted; example: # def unescape_long_strings(text): # l = string.split(text,'"""') # for i in range(1,len(l),2): # l[i] = subst(' ',' ',l[i]) # return string.joinfields(l,'"""') The '#' indicates the start-of-line, that is only spaces after the comment mark turn up as spaces ! Or use: def unescape_long_strings(text): # l = string.split(text,'"""') # for i in range(1,len(l),2): # l[i] = subst(' ',' ',l[i]) # return string.joinfields(l,'"""') # In this case all spaces on the left are layouted as such. The lines are concatenated into one XMP-field, so HTML-tags won't work in here -- e.g. # # Works ! # gives you an easy-to-apply alternative to using the XMP-tag directly. * If you plan to put verbatim HTML-code inline then you can use this syntax \This doesn't come out in italics\, i.e. put a backslash in front of the tag. (The tag must not contain embedded '>' characters.) * detects mailto, http and ftp URLs and converts them to HTML links * Note: 'lines' in this context refer to everything between two newlines * The formatting demonstrated here won't show up in the HTML-output of this doc-string, so you'll have to look at the source code to find out how it works... s s^ *[s] s
  • s ^ *[-=]+ s
    s^ * s

    s \`\([^<]*\)s

    \1

    s ^ *#\(.*\) s\1 s ^\(.*\)# s s���\\<\(/*[A-Za-z][^>]*\)>s���<TT>&lt;\1&gt;</TT>s��� \*\([^ \*]+\)\* s ��� <B>\1</B> s��� _\([^ _]+\)_ s ��� <U>\1</U> s��� /\([^ /]+\)/ s ��� <I>\1</I> s���mailto:\([a-zA-Z0-9@.%\-]+\)s!���mailto:<A HREF="mailto:\1">\1</A>s#���http://\([a-zA-Z0-9@.%\-\/?&+=~]+\)s!���<A HREF="http://\1">http://\1</A>s"���ftp://\([a-zA-Z0-9@.%\-\/?&+=~]+\)s���<A HREF="ftp://\1">ftp://\1</A>s ���<P> %s </P>N(���s���strings���strips���selfs���texts���ts���regsubs���gsubs ���list_markers(���s���selfs���t(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���as_HTMLA��s*����;�       (���s���__name__s ���__module__s���Nones���__init__s���__str__s���as_HTML(����(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys ���doc_string2��s��� s���doc_typec�����������B���s���t��Z�d�„��Z�RS(���Nc���������C���s���t��|��i�|�i�ƒ�Sd��S(���N(���s���cmps���selfs���fullnames���other(���s���selfs���other(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���__cmp__ž��s����(���s���__name__s ���__module__s���__cmp__(����(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���doc_typeœ��s���s ���doc_classc�����������B���s���t��Z�e�d�„�Z�d�„��Z�RS(���Nc��� ������C���s»��|�|��_��|�|�f�|��_�|�|��_�t�}�|�i�|�|�ƒ�}�|�d�j��o�d�GH|�|�|�!GHt �d�‚�n�|�|�}�t �|�i �d�ƒ�ƒ�|��_ �|�i �d�ƒ�|��_�|�i �d�ƒ�t�j �o"�t�i�|�i �d�ƒ�d�ƒ�|��_�n �g��|��_�t�d �|��ƒ�|��_�g��|��_�g��|��_�t�|��ƒ�|��_�t�|�|�ƒ�|��_�t�|�|�|�!|��i�ƒ�|��_�yÚ�xÓ�|��i�D]È�\�} �} �}�|�d �j�o+�|��i�i�t�|�|�| �|�| �|��ƒ�ƒ�qG|�d �j�o+�|��i�i�t �|�|�| �|�| �|��ƒ�ƒ�qG|�d �j�o�qG|�d �j�o+�t�t!�|�|�| �|�| �!ƒ�|��ƒ�|��_�qGqGWWn†�t �j �o6�}�d�G|�GHd�G|�|�| �|�| �!GHd�|��i�GHnF�t#�i$�j �o6�}�d�G|�GHd�G|�|�| �|�| �!GHd�|��i�GHn�X|��i�i%�ƒ��|��i�i%�ƒ��d�S(���ss�� parse the text part [sx:sy] for a class definition and all its members; instance-variables: * text - original code * slice - the part of text where the class def is supposed to be found * owner - owner-class of this object: this object is a member of its super-object, e.g. a module * indent - indent of this def * name - the class name * fullname - the full name of this class * baseclasses - list of names of baseclasses * doc - doc-string as doc_string-object * methods - list of methods as doc_method-objects * classes - list of classes as doc_class-objects * bodyindent - indent of the definitions body * parts - definition body, broken into parts i����s&���-- can't find the class definition in:s���couldn't parse class definitioni���i���i���i���s���,s����s���defs���classs���#s���"""s���-- ParseError:s���-- was looking at: s'���-- Skipping the rest of this class (%s)s���-- RegexError:N(&���s���texts���selfs���sxs���sys���slices���owners���rx_classs���rxs���matchs���starts ���ParseErrors���lens���groups���indents���names���Nones���strings���splits ���baseclassess ���doc_strings���docs���methodss���classess���fullnames���calc_bodyindents ���bodyindents���partss���xs���ys���types���appends ���doc_methods ���doc_classs���extract_doc_strings���reasons���regexs���errors���sort( ���s���selfs���texts���sxs���sys���owners���rxs���starts���types���reasons���ys���x(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���__init__¤��sX�����      "    � + +  +   c���������C���s]��d�|��i�d�|��i�d�t�i�|��i�d�ƒ�d�|��i�i�ƒ��d�|��i�d�}�|��i �o1�|�d�t�i �t �d �„��|��i �ƒ�d �ƒ�d �}�n�|��i �o1�|�d �t�i �t �d �„��|��i �ƒ�d �ƒ�d�}�n�|��i �o<�|�d�}�x!�|��i �D]�}�|�|�i�ƒ��}�qã�W|�d�}�n�|��i �o<�|�d�}�x!�|��i �D]�}�|�|�i�ƒ��}�q)W|�d�}�n�|�d�Sd�S(���s2��� give a HTML-version of the class and its members s���<LI TYPE=SQUARE><A NAME="s���"><I>class</I>&nbsp;<B>s ���</B>&nbsp;(s���,s ���) <P><UL>s���<P><FONT COLOR=EE9900 SIZE=-2>s���</FONT></P></UL></P>s ���<P>Classes: c���������C���s���d�|��i�d�|��i�d�S(���Ns ���<A HREF="#s���">s���</A>(���s���ms���fullnames���name(���s���m(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���<lambda>ö��s����s��� : s���</P>s ���<P>Methods: (s���, s���)</P>s���<UL>s���</UL>s���</LI>N(���s���selfs���fullnames���names���strings ���joinfieldss ���baseclassess���docs���as_HTMLs���outputs���classess���joins���maps���methodss���m(���s���selfs���outputs���m(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���as_HTMLì��s.�����O  �  �   �   �(���s���__name__s ���__module__s���Nones���__init__s���as_HTML(����(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys ���doc_class¢��s��� Hs ���doc_methodc�����������B���s���t��Z�e�d�„�Z�d�„��Z�RS(���Nc��� ������C���s–��|�|��_��|�|�f�|��_�|�|��_�t�}�|�i�|�|�ƒ�}�|�d�j��o�d�GH|�|�|�!GHt �d�‚�n�|�|�}�t �|�i �d�ƒ�ƒ�|��_ �|�i �d�ƒ�|��_�t�|�i �d�ƒ�ƒ�d�|��_�t�d�|��ƒ�|��_�g��|��_�g��|��_�t�|��ƒ�|��_�t�|�|�ƒ�|��_�t�|�|�|�!|��i�ƒ�|��_�yÚ�xÓ�|��i�D]È�\�} �} �}�|�d�j�o+�|��i�i�t�|�|�| �|�| �|��ƒ�ƒ�q"|�d �j�o+�|��i�i�t�|�|�| �|�| �|��ƒ�ƒ�q"|�d �j�o�q"|�d �j�o+�t�t�|�|�| �|�| �!ƒ�|��ƒ�|��_�q"q"WWn†�t �j �o6�}�d �G|�GHd �G|�|�| �|�| �!GHd�|��i�GHnF�t!�i"�j �o6�}�d�G|�GHd �G|�|�| �|�| �!GHd�|��i�GHn�X|��i�i#�ƒ��|��i�i#�ƒ��d�S(���s•�� parse the text part [sx:sy] for a method definition and all its members; instance-variables: * text - original code * slice - the part of text where the class def is supposed to be found * owner - owner-class of this object: this object is a member of its super-object, e.g. a module * indent - indent of this def * name - the class name * fullname - the full name of this class * parameters - list of parameters needed for this method (without self) * doc - doc-string as doc_string-object * functions - list of functions as doc_function-objects * classes - list of classes as doc_class-objects * bodyindent - indent of the definitions body * parts - definition body, broken into parts i����s'���-- can't find the method definition in:s ���couldn't parse method definitioni���i���i���s����s���defs���classs���#s���"""s���-- ParseError:s���-- was looking at: s(���-- Skipping the rest of this method (%s)s���-- RegexError:N($���s���texts���selfs���sxs���sys���slices���owners ���rx_methods���rxs���matchs���starts ���ParseErrors���lens���groups���indents���names���get_parameterss ���parameterss ���doc_strings���docs ���functionss���classess���fullnames���calc_bodyindents ���bodyindents���partss���xs���ys���types���appends ���doc_functions ���doc_classs���extract_doc_strings���reasons���regexs���errors���sort( ���s���selfs���texts���sxs���sys���owners���rxs���starts���types���reasons���ys���x(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���__init__��sT�����         � + +  +   c���������C���s]��d�|��i�d�|��i�d�t�i�|��i�d�ƒ�d�|��i�i�ƒ��d�|��i�d�}�|��i �o1�|�d�t�i �t �d �„��|��i �ƒ�d �ƒ�d �}�n�|��i �o1�|�d �t�i �t �d �„��|��i �ƒ�d�ƒ�d �}�n�|��i �o<�|�d�}�x!�|��i �D]�}�|�|�i�ƒ��}�qã�W|�d�}�n�|��i �o<�|�d�}�x!�|��i �D]�}�|�|�i�ƒ��}�q)W|�d�}�n�|�d �Sd�S(���s3��� give a HTML-version of the method and its members s ���<P><A NAME="s���">-&nbsp;<I>method</I>&nbsp;<B>s ���</B>&nbsp;(s���, s ���) <P><UL>s���<P><FONT COLOR=EE9900 SIZE=-2>s���</FONT></P></UL></P>s ���<P>Classes: c���������C���s���d�|��i�d�|��i�d�S(���Ns ���<A HREF="#s���">s���</A>(���s���ms���fullnames���name(���s���m(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���<lambda>^��s����s��� : s���</P>s���<P>Functions: (s���)</P>s���<UL>s���</UL>N(���s���selfs���fullnames���names���strings ���joinfieldss ���parameterss���docs���as_HTMLs���outputs���classess���joins���maps ���functionss���m(���s���selfs���outputs���m(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���as_HTMLT��s.�����O  �  �   �   �(���s���__name__s ���__module__s���Nones���__init__s���as_HTML(����(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys ���doc_method ��s��� Es ���doc_functionc�����������B���s���t��Z�e�d�„�Z�d�„��Z�RS(���Nc��� ������C���s–��|�|��_��|�|�f�|��_�|�|��_�t�}�|�i�|�|�|�!ƒ�}�|�d�j��o�d�GH|�|�|�!GHt �d�‚�n�|�|�}�t �|�i �d�ƒ�ƒ�|��_ �|�i �d�ƒ�|��_�t�|�i �d�ƒ�ƒ�|��_�t�d�|��ƒ�|��_�g��|��_�g��|��_�t�|��ƒ�|��_�t�|�|�ƒ�|��_�t�|�|�|�!|��i�ƒ�|��_�yÚ�xÓ�|��i�D]È�\�} �} �}�|�d�j�o+�|��i�i�t�|�|�| �|�| �|��ƒ�ƒ�q"|�d �j�o+�|��i�i�t�|�|�| �|�| �|��ƒ�ƒ�q"|�d �j�o�q"|�d �j�o+�t�t�|�|�| �|�| �!ƒ�|��ƒ�|��_�q"q"WWn†�t �j �o6�}�d �G|�GHd �G|�|�| �|�| �!GHd�|��i�GHnF�t!�i"�j �o6�}�d�G|�GHd �G|�|�| �|�| �!GHd�|��i�GHn�X|��i�i#�ƒ��|��i�i#�ƒ��d�S(���sˆ�� parse the text part [sx:sy] for a method definition and all its members; instance-variables: * text - original code * slice - the part of text where the class def is supposed to be found * owner - owner-class of this object: this object is a member of its super-object, e.g. a module * indent - indent of this def * name - the class name * fullname - the full name of this class * parameters - list of parameters needed for this function * doc - doc-string as doc_string-object * functions - list of functions as doc_function-objects * classes - list of classes as doc_class-objects * bodyindent - indent of the definitions body * parts - definition body, broken into parts i����s)���-- can't find the function definition in:s"���couldn't parse function definitioni���i���i���s����s���defs���classs���#s���"""s���-- ParseError:s���-- was looking at: s*���-- Skipping the rest of this function (%s)s���-- RegexError:N($���s���texts���selfs���sxs���sys���slices���owners ���rx_functions���rxs���matchs���starts ���ParseErrors���lens���groups���indents���names���get_parameterss ���parameterss ���doc_strings���docs ���functionss���classess���fullnames���calc_bodyindents ���bodyindents���partss���xs���ys���types���appends ���doc_functions ���doc_classs���extract_doc_strings���reasons���regexs���errors���sort( ���s���selfs���texts���sxs���sys���owners���rxs���starts���types���reasons���ys���x(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���__init__w��sT�����         � + +  +   c���������C���s]��d�|��i�d�|��i�d�t�i�|��i�d�ƒ�d�|��i�i�ƒ��d�|��i�d�}�|��i �o1�|�d�t�i�t �d �„��|��i �ƒ�d �ƒ�d �}�n�|��i �o1�|�d �t�i�t �d �„��|��i �ƒ�d�ƒ�d �}�n�|��i �o<�|�d�}�x!�|��i �D]�}�|�|�i�ƒ��}�qã�W|�d�}�n�|��i �o<�|�d�}�x!�|��i �D]�}�|�|�i�ƒ��}�q)W|�d�}�n�|�d�Sd�S(���s5��� give a HTML-version of the function and its members s���<LI TYPE=CIRCLE><A NAME="s���"><I>function</I>&nbsp;<B>s ���</B>&nbsp;(s���, s ���) <P><UL>s���<P><FONT COLOR=EE9900 SIZE=-2>s���</FONT></P></UL></P>s ���<P>Classes: c���������C���s���d�|��i�d�|��i�d�S(���Ns ���<A HREF="#s���">s���</A>(���s���ms���fullnames���name(���s���m(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���<lambda>Ç��s����s��� : s���</P>s���<P>Functions: (s���)</P>s���<UL>s���</UL>s���</LI>N( ���s���selfs���fullnames���names���strings���joins ���parameterss���docs���as_HTMLs���outputs���classess���maps ���functionss���m(���s���selfs���outputs���m(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���as_HTML½��s.�����O  �  �   �   �(���s���__name__s ���__module__s���Nones���__init__s���as_HTML(����(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys ���doc_functionu��s��� Fs ���doc_modulec�����������B���s#���t��Z�e�Z�e�d�„�Z�d�„��Z�RS(���Nc���������C���sp��|�|��_��t�|��i��ƒ�i�ƒ��|��_�t�i�|��i�t�ƒ�|��_�t�|��i�ƒ�|��_�t �|��i�ƒ�|��_�|��i�d�d�j�o�|��i�d�|��_�n�t �i �i �|�ƒ�d�d� |��_ �|�|��_�t�|��i�d�ƒ�|��_�g��|��_�g��|��_�t�d�|��ƒ�|��_�yõ�xî�|��i�D]ã�\�}�}�}�|�d�j�o&�|��i�i�t�|��i�|�|�|��ƒ�ƒ�qñ�|�d�j�o&�|��i�i�t�|��i�|�|�|��ƒ�ƒ�qñ�|�d �j�o�qñ�|�d �j�o&�t�t�|��i�|�|�!ƒ�|��ƒ�|��_�qñ�|�d �j�o�t�|��i�|�|�!ƒ�|��_�qñ�qñ�WWnv�t�j �o.�}�d �G|�GHd �G|��i�|�|�!GHd�|�GHn>�t�i �j �o.�}�d�G|�GHd �G|��i�|�|�!GHd�|�GHn�X|��i�i!�ƒ��|��i�i!�ƒ��d�S(���s�� parse the source code in file as Python module * owner - owner-class of this object: this object is a member of its super-object, e.g. a project * name - the module name * doc - doc-string as doc_string-object * functions - list of funtions as doc_function-objects * methods - list of methods as doc_method-objects * classes - list of classes as doc_class-objects * parts - definition body, broken into parts iÿÿÿÿs��� i���iýÿÿÿi����s����s���defs���classs���#s���"""s ���__version__s���-- ParseError:s���-- was looking at: s(���-- Skipping the rest of this module (%s)s���-- RegexError:N("���s���files���selfs���opens���reads���texts���strings ���expandtabss���tabsizes���fix_linebreakss���escape_long_stringss���oss���paths���splits���names���owners���partss ���functionss���classess ���doc_strings���docs���xs���ys���types���appends ���doc_functions ���doc_classs���extract_doc_strings���extract_version_strings���versions ���ParseErrors���reasons���regexs���errors���sort(���s���selfs���files���owners���reasons���ys���types���x(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���__init__ã��sL���� �     � & &  &     c���������C���s¢��d�|��i�d�|��i�d�|��i�i�ƒ��d�}�|��i�d� t�i�t�i�j�o�|��i�d�}�n �|��i�}�|��i �o�|�d�|��i �}�n�|�d�}�|��i �o1�|�d�t �i �t�d �„��|��i �ƒ�d �ƒ�d �}�n�|��i�o1�|�d �t �i �t�d �„��|��i�ƒ�d �ƒ�d �}�n�|�d �}�|��i �o<�|�d�}�x!�|��i �D]�}�|�|�i�ƒ��}�q,W|�d�}�n�|��i�o<�|�d�}�x!�|��i�D]�}�|�|�i�ƒ��}�qrW|�d�}�n�|�Sd�S(���s3��� give a HTML-version of the module and its members s ���<A NAME="s���"><HR SIZE=6><H2>Module: s ���</H2> <P><UL>s ���</UL></P>i���s)���<P>Version: <FONT COLOR=#FF0000>%s</FONT>s���<DL>s���<DT><I>Classes:</I><DD>c���������C���s���d�|��i�d�|��i�d�S(���Ns ���<A HREF="#s���">s���</A>(���s���ms���fullnames���name(���s���m(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���<lambda>5��s����s��� : s���</DD>s���<DT><I>Functions:</I><DD>s���</DL>s���<HR><UL>s���</UL>N(���s���selfs���names���docs���as_HTMLs���outputs���files���oss���curdirs���seps���filenames���versions���classess���strings���joins���maps ���functionss���m(���s���selfs���ms���filenames���output(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���as_HTML ��s<�����-     �  �    �   �(���s���__name__s ���__module__s���Nones���versions���__init__s���as_HTML(����(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys ���doc_moduleß��s��� =s ���doc_projectc�����������B���s���t��Z�d�d�„�Z�d�„��Z�RS(���Ns���testc���������C���sŒ���|�|��_��|�|��_�t�d�„��t�i�|�ƒ�ƒ�|��_�|��i�i�ƒ��g��|��_�x?�|��i�D]4�}�d�G|�GH|��i�i �t �t�i�i �|�|�ƒ�ƒ�ƒ�qP�Wd�S(���sñ��� find all Python-files in path and parse them via doc_module * name - project name * path - pathname * files - filenames found * modules - list of modules as doc_module-objects c���������C���s���|��d�d�j�S(���Niýÿÿÿs���.py(���s���f(���s���f(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���<lambda>Z��s����s ��� scanningN( ���s���names���selfs���paths���filters���oss���listdirs���filess���sorts���moduless���fs���appends ���doc_modules���join(���s���selfs���paths���names���f(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���__init__P��s�����     � c��� ��� ���C���s1��d�GH|��i�d�|��_�|��i�d�|��_�|��i�d�|��_�t�|��i�d�ƒ�}�t�|��i�d�ƒ�}�t�|��i�d�ƒ�}�|�i�d�|��i�t�t�i �t�i�ƒ��ƒ�|��i�t �|��i�t �|��i�f�ƒ�|�i �ƒ��d�G|��i�GHd�|��i�|��i�f�}�|�d �|��i�d �}�x‡|��i �D]|}�|�d �t �|��i�d �|�i�d �|�i�d�}�|�i�oÔ�|�d�}�x¹�|�i�D]®�}�|�d�d�t �|��i�d �|�i�d �|�i�d�}�|�i�g��j�o[�|�d�}�x@�|�i�D]5�}�|�d�t �|��i�d �|�i�d �|�i�d�}�q¬W|�d�}�n�|�d�}�qOW|�d�}�n�|�i�o_�|�d�}�xD�|�i�D]9�}�|�d�d�t �|��i�d �|�i�d �|�i�d�}�q-W|�d�}�qü�qü�W|�d�}�|�i�|�ƒ�|�i �ƒ��d�G|��i�GHd�|��i�|��i�f�}�x!�|��i �D]�}�|�|�i�ƒ��}�qÉW|�d�t�d�t�i �t�i�ƒ��ƒ�d�}�|�d�}�|�i�|�ƒ�|�i �ƒ��d�S( ���s­��� create a HTML-version of the project and its members using FRAMES and three files: the frameset-file, the module index and the content file s���generating files...s���.htmls ���.idx.htmls ���.docs.htmls���ws–�� <HTML> <HEAD> <TITLE>Docs::Project::%s</TITLE> <!--Created by the Python Doc-Tool V%s on %s--> <META NAME="KEYWORDS" CONTENT="%s, doc, documentation, python"> </HEAD> <FRAMESET COLS="200,*"> <FRAME NAME="index" SRC="%s" MARGINHEIGHT=0 MARGINWIDTH=0> <FRAME NAME="content" SRC="%s" MARGINHEIGHT=0 MARGINWIDTH=0> </FRAMESET> </HTML> s����s�� <HTML> <HEAD> <TITLE>DocIndex::Project::%s</TITLE> <META NAME="KEYWORDS" CONTENT="%s, index, documentation, python"> </HEAD> <BODY BGCOLOR=#FFFFFF> s���<HR SIZE=7><H2>Project:&nbsp;s���</H2>s���<B>Module&nbsp;<A HREF="s���#s���" TARGET="content">s ���</A></B><BR>s���<UL><I>Classes</I><BR><BR>s���<LI TYPE=DISC>s ���<A HREF="s���</A><BR>s���<FONT SIZE=-1>s���-&nbsp;<A HREF="s���</FONT>s���<BR>s���</UL>s���<UL><I>Functions</I><BR><BR>s���</A>s���</BODY></HTML>s"�� <HTML> <HEAD> <TITLE>Docs::Project::%s</TITLE <META NAME="KEYWORDS" CONTENT="%s, docs, documentation, python, doc-tool"> </HEAD> <BODY BGCOLOR=#FFFFFF> s7���<HR><P ALIGN=CENTER><FONT SIZE=-1>Created by Doc-Tool Vs��� on s ���</FONT></P>N(���s���selfs���names���mains���indexs���contents���opens���writes ���__version__s���times���ctimes ���hrefprefixs���closes���outputs���moduless���ms���classess���cs���fullnames���methodss���mes ���functionss���fs���as_HTML( ���s���selfs���mes���indexs���cs���fs���ms���contents���outputs���main(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys ���make_HTMLa��s^�����F   �/   �3  �3   �7     �)  (���s���__name__s ���__module__s���__init__s ���make_HTML(����(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys ���doc_projectN��s��� c����������C���sñ���d�t��d�GHHt�t�i�ƒ�d�j��o=�d�Gt�i�d�Gd�GHHd�GHd�GHd �GHd �GHHd �GHt�i�ƒ��n�t�i�d �d�!\�}��}�d �G|��GHd�G|�GHHd�GHt�t�i�ƒ�d�j�o�t�i�d�a�n�d�a�t�|�|��ƒ�}�|�i �ƒ��d�Gt�t�i�d �d�GHd��S(���Ns ���Doc-Tool Vs/��� (c) Marc-Andre Lemburg; mailto:mal@lemburg.comi���s���Syntax:i����s&���project-name project-dir [HREF-prefix]sE���The tool will create HTML-files with prefix <project-name> containings?���the doc-strings of the found Python-files in a structured form.s?���The links in these files will be prepended with HREF-prefix, ifs+���given, to simplify the upload to a website.s���Enjoy !i���s���Working on project:s��� project directory:s���Creating files...i���s����s���Done. Point your browser ats���.html( ���s ���__version__s���lens���syss���argvs���exits���projects���dirs ���hrefprefixs ���doc_projects���ps ���make_HTML(���s���projects���ps���dir(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���mainÁ��s0�����    s���__main__(3���s���__doc__s ���__version__s���__package_info__s���syss���oss���regexs���strings���regsubs���times ���list_markerss���compiles���rx_classs ���rx_functions ���rx_methods ���rx_bodyindents���rx_bodyindent_2s ���rx_versions���rx_partss���ranges���indents���sis���rss���rxs���tabsizes ���hrefprefixs ���highlighteds ���ParseErrors���partss���calc_bodyindents���substs���fix_linebreakss���escape_long_stringss���unescape_long_stringss���extract_doc_strings���extract_version_strings���fullnames���splits���strips���filters���lens���maps���get_parameterss ���doc_strings���doc_types ���doc_classs ���doc_methods ���doc_functions ���doc_modules ���doc_projects���mains���__name__()���s ���rx_bodyindents���rx_classs ���rx_functions���fix_linebreakss ���doc_projects���__package_info__s���regexs ���rx_versions���rss ���doc_strings���rx_bodyindent_2s���rxs���regsubs���calc_bodyindents ���highlighteds���substs���partss���tabsizes���extract_doc_strings ���list_markerss ���__version__s ���doc_methods���escape_long_stringss���get_parameterss���strings���extract_version_strings ���ParseErrors���syss���rx_partss���unescape_long_stringss ���doc_functions���doc_types���mains���indents ���rx_methods ���doc_classs���sis���times���fullnames���oss ���doc_module(����(����sR���/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/doc/py2htmldoc.pys���?_���sR���6� 6 %       jkhjos