-í
€M=c       s¢     d  Z    " h  d d <d d <d d <d d <d	 d
 <d d <d d <d d <Z 1 d k Z 2 d k T5 d „  Z A d e i i f d „  ƒ  YZ d S(   sÏ  Documentation set which writes output to multiple structured files.

This docset creates file for every module and defined class.

Documentation structure is rendered with formatter's *process* methods
(processClass, processModule, processImport, etc.).  There is special
method -- processRoot. It is invoked when new output is opened
or closed.

These all methods can be called in four different stages (element -- i.e.
class or module):
1. PRE -- before any of elements processing
2. START -- before an element processing
3. END -- after an element processing
4. POST -- after all element processing

Formatters can produce index of created by this docset files with packageIndex,
moduleIndex and classIndex methods.
s   $RCSfile: docset_mstruct.py,v $s   module_names   wrobell <wrobell@ite.pl>s   creators   shds   projects
   24.08.2001s   createds   $Author: doughellmann $s   authors   $Revision: 1.4 $s   versions   $Date: 2002/08/04 12:05:20 $s   dates   $Locker:  $s   lockerN(   s   *c      s#   5 6 7 h  d d <t  d <Sd S(   s=   Return info about this module to the HappyDoc dynamic loader.s   mstructs   names   factoryN(   s   MStructDocSet(    (    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys
   entryPoint5 s   s   MStructDocSetc      s   A d  Z  H J d „  Z N e d „ Z b e d „ Z o d „  Z  d „  Z • d „  Z ¢ d „  Z Û d d	 „ Z	 ð d
 „  Z
 d „  Z RS(   s’   Documentation set written to multiple structured files.

    Parameters

      *Adds no additional parameters not understood by DocSet.*
    
    c    s    J K t  i i i |  |  d  S(   N(   s   happydoclibs   happydocsets   DocSets   __init__s   selfs   args(   s   selfs   args(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   __init__J s   c    sK   N \ ] t  i i i |  | | | ƒ } ^ |  i	 i
 | t | ƒ _ | Sd S(   sv  Opens output, where documentation will be written.

        Arguments

            'name' -- output file name

            'title' --  title of documentation file

            'subtitle' -- subtitle of documentation file

            'rtype' -- gives info whether index, module or class file will be opened

        Returns file object of opened documentation file.
        N(   s   happydoclibs   happydocsets   DocSets
   openOutputs   selfs   names   titles   subtitles   outputs
   _formatters   processRoots   STARTs   rtype(   s   selfs   names   titles   subtitles   rtypes   output(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys
   openOutputN s   !c    s<   b j k |  i i | t | ƒ l t i i i	 |  | ƒ d S(   sè   Closes output, where documentation has been written.

        Arguments

            'output' -- file object of opened documentation file

            'rtype' -- gives info whether index, module or class file will be closed
        N(
   s   selfs
   _formatters   processRoots   outputs   ENDs   rtypes   happydoclibs   happydocsets   DocSets   closeOutput(   s   selfs   outputs   rtype(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   closeOutputb s   c    s—   o p q |  i d ƒ t |  i t ƒ |  _ u |  i |  i |  i d t ƒ |  _ x |  i	 ƒ  y |  i
 ƒ  | |  i |  i t ƒ } |  i ƒ  ~ d Sd S(   s*   Write the documentation set to the output.s   Beginning to write...s    N(   s   selfs   statusMessages   getFullOutputNameForObjects   Nones   _index_file_names
   openOutputs   _titles
   INDEX_FILEs   _index_files   _writeModuless   _writePackagess   closeOutputs   close(   s   self(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   writeo s   $c    só    ‚ „ |  i ƒ  … |  i d ƒ † |  i i ƒ  } ‡ | i ƒ  ‰ |  i } Š |  i } Œ | i
 t | t ƒ  xc | D ]X \ } } Ž | i
 | | t ƒ  | i | | ƒ  | i ƒ  ‘ | i
 | | t ƒ qz W’ | i
 t | t ƒ d S(   s&   Output documentation for all packages.s    Writing package documentation...N(   s   selfs   statusMessages   _all_packagess   itemss   package_itemss   sorts
   _formatters	   formatters   _index_files   outputs   processPackages   Nones   PREs   package_names   packages   STARTs   packageIndexs   writes   ENDs   POST(   s   selfs   package_names   packages   package_itemss   outputs	   formatter(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   _writePackages s   
 c    s¥   • – — |  i ƒ  ˜ |  i d ƒ ™ |  i i ƒ  } š | i ƒ  œ |  i i t |  i	 t
 ƒ  x! | D ] } ž |  i | ƒ qh WŸ |  i i t |  i	 t ƒ d S(   s%   Output documentation for all modules.s   Writing module documentation...N(   s   selfs   statusMessages   _all_moduless   keyss   module_namess   sorts
   _formatters   processModules   Nones   _index_files   PREs   module_names   _writeModules   POST(   s   selfs   module_names   module_names(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   _writeModules• s   
 	c    sä  ¢ ¨ © |  i } ª |  i | } ¬ | i | |  i ƒ ® |  i | ƒ } ¯ |  i
 | d | | i ƒ  t ƒ }	 ² | i | |	 t ƒ ´ | i ƒ  }
 µ |
 o¿ ¶ | i t | |	 t ƒ · xƒ |
 D· ]x \ } } ¸ | i | | |	 t ƒ ¹ | o0 º | i | |	 t ƒ » | i | |	 t ƒ n ¼ | i | | |	 t ƒ qÁ W½ | i t | |	 t ƒ n À | i | |	 t ƒ Á | i | i ƒ  |	 ƒ Â | i | |	 t ƒ Å |  i | i ƒ  ƒ } Ç | oó È | i  ƒ  Ê | i! t |	 t ƒ Ë x™ | DË ]Ž } Ì | i# | ƒ } Í | i% | |	 ƒ Î |  i | ƒ } Ï |  i
 | d | Ð | i ƒ  t' ƒ } Ñ |  i) | | | ƒ Ò |  i* | t' ƒ qñWÓ | i! t |	 t ƒ Ô | i+ d | |	 ƒ n × | i | |	 t ƒ Ø |  i* |	 t ƒ d S(   s{   Output the documentation for the named module.

        Arguments

            'module_name' -- name of the module
        s
   Module: %ss	   Class: %ss   END: Classes of module %sN(,   s   selfs
   _formatters	   formatters   _all_moduless   module_names   modules   moduleIndexs   _index_files   getFullOutputNameForObjects   output_names
   openOutputs   getFilenames   MODULE_FILEs   outputs   processModules   STARTs   getImportDatas   imported_moduless   processImports   Nones   PREs   names   symbolss   processImportSymbols   ENDs   POSTs   processDocStrings	   writeTexts   getDocStrings   _filterNamess   getClassNamess   class_namess   sorts   processClasss
   class_names   getClassInfos   cs
   classIndexs   class_output_names
   CLASS_FILEs   class_outputs   _writeClasss   closeOutputs   comment(   s   selfs   module_names   class_outputs   names
   class_names   cs   modules   class_output_names   symbolss   outputs   imported_moduless	   formatters   output_names   class_names(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   _writeModule¢ sL   %

 


 	i    c    s®   Û å æ | i ƒ  } ç |  i } è | o é | i | t | t	 ƒ ê xC | Dê ]8 } ë | i | | | t ƒ ì | i | | | t ƒ qN Wí | i | t | t ƒ n d S(   sô   Output the base class hierarchy for the given class.

        Arguments
            
            'parent' -- info about class parent (module, class)

            'cinfo' -- class info

            'output' -- current output file object
        N(   s   cinfos   getBaseClassNamess   base_classess   selfs
   _formatters	   formatters   processClassBases   Nones   outputs   PREs   names   STARTs   ENDs   POST(   s   selfs   parents   cinfos   outputs   indents   names   base_classess	   formatter(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   _writeBaseClassNamesÛ s   


 	c 	   s/  ð ú û | i | ƒ } ü |  i } þ | i | | t	 ƒ ÿ | i
 | | t	 ƒ  | i | i ƒ  | ƒ | i
 | | t ƒ | i ƒ  } | o |  i | | | ƒ n 	|  i | i ƒ  ƒ } 
| oA | i ƒ  x* | D] } |  i | | i | ƒ që Wn | i | | t ƒ d S(   sü   Output the documentation for the class in the parent object.

        Arguments

            'parent' -- info about class parent (module, class)

            'class_name' -- name of the class

            'output' -- current output file object
        N(   s   parents   getClassInfos
   class_names
   class_infos   selfs
   _formatters	   formatters   processClasss   outputs   STARTs   processDocStrings	   writeTexts   getDocStrings   ENDs   getBaseClassNamess   base_classess   _writeBaseClassNamess   _filterNamess   getMethodNamess   method_namess   sorts   method_names   _writeFunctions   getMethodInfo(	   s   selfs   parents
   class_names   outputs
   class_infos   method_namess   method_names   base_classess	   formatter(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   _writeClassð s"   



 	!c    s  | | ƒ } |  i } | i | | t ƒ "|  i i	 t
 | t ƒ #xe | i ƒ  D#]T } $| | f | i | ƒ } %|  i i	 | | t ƒ &|  i i	 | | t ƒ q` W'|  i i	 t
 | t ƒ *| i ƒ  }
 +t |
 ƒ d j o¶ ,|
 i ƒ  -|  i } /| i t
 | t ƒ 0xg |
 D0]\ } 2| i | ƒ }	 6|	 o 7| }	 n 8| i |	 | t ƒ 9| i |	 | t ƒ q2W;| i t
 | t ƒ n >| i | | t ƒ ?|  i i | i ƒ  | ƒ @| i | | t ƒ B| i | | t ƒ d S(   s  Output the documentation for the function in the parent object.

        Arguments

            'function_name' -- the function name

            'getInfo' -- reference to method, which will return function info

            'output' -- current output file object
        i    N(   s   getInfos   function_names   functions   selfs
   _formatters	   formatters   processFunctions   outputs   STARTs   processParams   Nones   PREs   getParameterNamess   params   getParameterInfos   infos   ENDs   POSTs   getExceptionNamess   exception_namess   lens   sorts   processExceptions   names   getExceptionInfos   einfos   processDocStrings	   writeTexts   getDocString(   s   selfs   function_names   getInfos   outputs   functions   infos   names   params	   formatters   einfos   exception_names(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   _writeFunctions8   
 	
 	(   s   __doc__s   __init__s
   INDEX_FILEs
   openOutputs   closeOutputs   writes   _writePackagess   _writeModuless   _writeModules   _writeBaseClassNamess   _writeClasss   _writeFunction(    (    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   MStructDocSetA s   	9"(	   s   __doc__s   __rcs_info__s   happydoclib.happydocsets   happydoclibs    happydoclib.docset.mstruct_consts
   entryPoints   happydocsets   DocSets   MStructDocSet(   s
   entryPoints   MStructDocSets   happydoclibs   __rcs_info__(    (    s_   /home/dhellmann/Personal/Devel/HappyDoc/dist/HappyDoc-r2_1/happydoclib/docset/docset_mstruct.pys   ?  s
   Q
