
    Vh                     t    d dl mZmZmZ eZd dlZd dlmZ d dl	Z	d dl
Z
d dlZd Zd Zd Zedk(  r e        yy)    )absolute_importdivisionprint_functionN)	PosixPathc                    dddddd}ddddd}	 t        | d      5 }t        j                  |j                               }ddd       j                  D ]  }t        |t        j                        s|j                  D ]  }	 |j                  }||v s||   }t        |j                  t        j                        r#t        j                  |j                        ||<   a|d	k7  sg|j                  j                  ||<     	 |d   t        j                   |d         S dS # 1 sw Y   xY w# t        $ r Y w xY w# t        $ r Y yw xY w)
z
    Search for assignment of the DOCUMENTATION and EXAMPLES variables in the given file.
    Parse DOCUMENTATION from YAML and return the YAML doc or None together with EXAMPLES, as plain text.
    N)docplainexamples
returndocsmetadataseealsor   r	   r
   r   )DOCUMENTATIONEXAMPLESRETURNANSIBLE_METADATArbr   )openastparsereadbody
isinstanceAssigntargetsidAttributeErrorvalueDictliteral_evals	Exceptionyaml	safe_load)	filenamedatastring_to_varsb_module_dataMchildttheidvarkeys	            i/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/okd/ci/doc_fragment_modules.pyread_docstringr-      sR    D #&	N(D! 	0]		-,,./A	0 VV 	=E%, =A! ! .!/!6%ekk388<+.+;+;EKK+HDL$
2/4{{}}V=	=2 +/u+*A4>>$u+&KtK9	0 	0 * ! !!   s_   D> $D#1D> 3D> D/D> AD> &D> #D,(D> /	D;8D> :D;;D> >	E
	E
c                 \    | r*| j                  dg       D ]  }|j                  |      s y y)Nextends_documentation_fragmentTF)get
startswith)resultcol_fqcnxs      r,   is_extending_collectionr5   C   s4    <bA 	A||H%	     c                     t        j                  d      } | j                  ddt        t	        j
                         d       | j                         }t        |j                        t        d      z  }g }|j                         D ]_  }|j                         st        t        |            }t        |d      s5|j                  |j                  j                  d	d
             a t!        dj#                  |             y )Nzlist modules with inherited doc fragments from kubernetes.core that need rendering to deal with Galaxy/AH lack of functionality.)descriptionz-cz--collection-pathzpath to the collection)typedefaulthelpzplugins/moduleszkubernetes.core.z.py 
)argparseArgumentParseradd_argumentstrosgetcwd
parse_argsr   collection_pathiterdiris_filer-   r5   appendstemreplaceprintjoin)parserargspathoutputdr2   s         r,   mainrR   K   s    $$ WF !RYY[G_   DT))*Y7H-IIDF\\^ 999;#CF+F&v/ABaffnnUB78	9
 
$))F
r6   __main__)
__future__r   r   r   r9   __metaclass__r   pathlibr   r!   r>   rB   r-   r5   rR   __name__ r6   r,   <module>rY      sG    C B 
    	3Ll* zF r6   