
    !h	                        S r SSKrSSKr SSKrSSKJs  J	r
  S rS r\S:X  a  SSKrSr\" \R"                  5      S:X  a3  \" S\R"                  S   -  \R&                  S	9  \R(                  " S
5        \R"                  S
   r\" \R"                  5      S:  a  \R"                  S   r\" \\5        gg! \ a  r\R                  S5        e SrCff = f)z(Generate LDIF from Github documentation.    Nz'Please install python3-markdown packagec                     U R                   =(       d    SSR                  S U  5       5      -   U R                  =(       d    S-   $ )N c              3   8   #    U  H  n[        U5      v   M     g 7f)N)	innertext).0es     :/usr/lib/python3/dist-packages/samba/ms_schema_markdown.py	<genexpr>innertext.<locals>.<genexpr>#   s     .#QIaLL#s   )textjointail)tags    r	   r   r   !   s9    HHNGG.#../XX^     c           	         [        U 5       n[        R                  " [        R                  " SSUR	                  5       5      SS9nSSS5        [
        R                  " SW-   S-   5      nSn U H  nUR                  S:X  aX  Ub  UR                  5         [        R                  R                  U[        U5      R                  5       5      n[        US	5      nMk  UR                  S
:X  a  Ub  UR                  5         SnM  M  UR                  S:X  d  M  Uc  M  UR                  [        U5      R                  SS5      S-   5        M     Ub  UR                  5         gg! , (       d  f       GN!= f! Ub  UR                  5         f f = f)z/Read Github documentation-derived schema files.z(?m)^# .*\n?r   xhtml)output_formatNz<root>z</root>h3wh2pz```
)openmarkdownresubreadET
fromstringr   closeospathr   r   stripwritereplace)in_file
out_folderupdate_filehtmltreeldfnodeout_paths           r	   read_ms_markdownr.   '   s;    
g+  [=M=M=O!P/68 

 ==D945D
CDxx4?IIK77<<
IdO4I4I4KL8S)T!?IIKC # SS_		)D/11%<tCD  ?IIK / 
. ?IIK s$   :E -B$E2 E2 1E2  
E/2F__main__r   z.Usage: %s <Schema-Update.md> [<output folder>])file      )__doc__r   r!   r   ImportErrorr   add_notexml.etree.ElementTreeetreeElementTreer   r   r.   __name__sysr'   lenargvprintstderrexitr&    r   r	   <module>rA      s   * / 	 	
 # "< zJ
388}>#((1+NUXU_U_`hhqkG
388}qXXa[
Wj) U  
JJ89	
s   B3 3C9CC