
    Y	gc               	           d Z ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZ dej(                  e   dedefdZd	edefd
Zej0                  dfdedededefdZy)zReST-style docstring parsing.    N   )DEPRECATION_KEYWORDSPARAM_KEYWORDSRAISES_KEYWORDSRETURNS_KEYWORDSYIELDS_KEYWORDS	DocstringDocstringDeprecatedDocstringMetaDocstringParamDocstringRaisesDocstringReturnsDocstringStyle
ParseErrorRenderingStyleargsdescreturnc                    | d   }|t         v rt        |       dk(  r"| \  }}}|j                  d      rd}|d d }n*d}n't        |       dk(  r
| \  }}d }d }nt        d| d	      t	        j
                  d
|t        j                        }|r |j                  d      j                  d      nd }t        | |||||      S |t        t        z  v rIt        |       dk(  r| d   }n t        |       dk(  rd }nt        d| d	      t        | |||t        v       S |t        v r_t	        j                  d|t        j                        }t!        | |r|j                  d      nd |r|j                  d            S |      S |t"        v rBt        |       dk(  r| d   }n t        |       dk(  rd }nt        d| d	      t%        | ||      S t'        | |      S )Nr      ?TF   z$Expected one or two arguments for a z	 keyword.z.*defaults to (.+)flagsr   .)r   descriptionarg_name	type_nameis_optionaldefaultz#Expected one or no arguments for a )r   r   r   is_generatorz7^(?P<version>v?((?:\d+)(?:\.[0-9a-z\.]+))) (?P<desc>.+)versionr   )r   r#   r   )r   r   r   )r   r   )r   lenendswithr   rematchDOTALLgrouprstripr   r   r   r   r   searchIr
   r   r   r   )r   r   keyr   r   r    r'   r!   s           V/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/docstring_parser/rest.py_build_metar/      s   
q'C
nt9>'+$CH!!#&"%crN	#Y!^ MCIK6se9E  .BIIF05%++a.'',4#
 	
 00t9>QIY!^I5cU)D   /	
 	
 ""		F$$

 #.3EKK	*/4F+
 	
 ;?
 	
 ot9>QIY!^I5cU)D  49
 	
 d55    textc           
         t        t        j                        }| s|S t        j                  |       } t        j                  d| t
        j                        }|r'| d|j                          }| |j                         d }n| }d}|j                  dd      }|d   xs d|_
        t        |      dkD  rN|d   xs d}|j                  d      |_        |j                  d	      |_        |j!                         xs d|_        i }i }t        j$                  d
|t
        j&                  t
        j                  z        D ]  }|j)                  d      }	|	s	 |	j+                  d      j                  dd      \  }
}|
j                         }|j!                         }d|v r0|j                  dd      \  }}|dz   t        j                  |      z   }t        |      dk(  r|d   dk(  r	|||d   <   t        |      dv r!|d   dk(  r||t        |      dk(  rdn|d   <   |j0                  j3                  t5        ||              |j0                  D ]  }t7        |t8              r/|j:                  xs |j=                  |j>                        |_        Bt7        |t@              sS|j:                  xs |j=                  |jB                        |_         tE        d |j0                  D              sC|rA|jG                         D ].  \  }}|j0                  j3                  tA        g |dd|             0 |S # t,        $ r}t/        d|	 d      |d}~ww xY w)zXParse the ReST-style docstring into its components.

    :returns: parsed docstring
    )stylez^:r   N 
r   r   z

z(^:.*?)(?=^:|\Z):z%Error parsing meta information near "z".r   type)r   r   rtypec              3   <   K   | ]  }t        |t                y w)N)
isinstancer   ).0ms     r.   	<genexpr>zparse.<locals>.<genexpr>   s     A1z!-.As   F)r   r   r   r"   return_name)$r	   r   RESTinspectcleandocr&   r+   Mstartsplitshort_descriptionr$   
startswithblank_after_short_descriptionr%   blank_after_long_descriptionstriplong_descriptionfinditerSr)   lstrip
ValueErrorr   metaappendr/   r:   r   r   getr   r   r>   anyitems)r1   retr'   
desc_chunk
meta_chunkpartslong_desc_chunktypesrtypeschunk
args_chunkexr   r   
first_linerestrO   r>   r   s                      r.   parser`   f   s   
 .--
.C
D!DIIdD-E/EKKM*
%++-/*


T1%E!!H,C
5zA~(.b,;,F,Ft,L)+:+C+CF+K(.446>$EFZrttbdd{ 5 A	%*\\#%6%<%<S!%D"J

 !!4<#zz$2J$w'7'7'==D t9>d1g/!E$q'NY& T!W%7:>F3t9>4tAw7HHOOKd34356  LdN+!^^Guyy/GDN./!^^Kvzz$:J:J/KDN	L AAAf(. 		$[)HHOO ' $!& +		 JK  	7wbA	s   $L44	M=MMz    	docstringrendering_styleindentc           	      x   dt         j                  t           dt        ffd}g }| j                  r|j	                  | j                         | j
                  r|j	                  d       | j                  r|j	                  | j                         | j                  r|j	                  d       | j                  D ]j  }t        |t              r|j                  r-|j                  rd|j                   dnd|j                   d}nd}t        j                  k(  rad|j                   d}| ||j                         z  }|j	                  |       |d	d
 s|j	                  d|j                   d|d	d
         d| |j                   d}| ||j                         z  }|j	                  |       t        |t"              r|j                  rd|j                   nd}|j$                  rdnd}t        j                  k(  rR|j                   r,d| d}| ||j                         z  }|j	                  |       |s|j	                  d|        d| | d}| ||j                         z  }|j	                  |       t        |t&              rJ|j                  rd|j                   dnd}d| d ||j                         z   }|j	                  |       (ddj)                  |j*                         d ||j                         z   }|j	                  |       m dj)                  |      S )a  Render a parsed docstring into docstring text.

    :param docstring: parsed docstring representation
    :param rendering_style: the style to render docstrings
    :param indent: the characters used as indentation in the docstring string
    :returns: docstring text
    r   r   c                 f   | syt         j                  k(  r;| j                         ^}}dj                  d|z   g|D cg c]  }|z   	 c}z         S t         j                  k(  r>| j                         ^}}dj                  dz   |z   g|D cg c]  }|z   	 c}z         S d| z   S c c}w c c}w )Nr4   r5    )r   CLEAN
splitlinesjoinEXPANDED)r   firstr_   linerc   rb   s       r.   process_desczcompose.<locals>.process_desc   s    n222!__.NUT99cEk]-Mftm-MMNNn555!__.NUT99&'T*JT6D=*JJ  Tz .N
 +Ks   B)
B.
r4   rf   z? z:param r6   Nr   z:type z:paramyieldsreturnsz:rtype:z:raisesr5   )TOptionalstrrE   rP   rG   rJ   rH   rO   r:   r   r   r    r   rj   r   r   r   r"   r   ri   r   )	ra   rb   rc   rm   rW   rO   	type_textr1   r-   s	    ``      r.   composert      s   1::c? s   E""Y001..R!!Y//0--R )dN+~~ '' 'r*T^^,A.   	."9"99 q1T%5%566T"Sb>LL6$--)CR.9I!JK	{4==/;T%5%566T"./04!DNN+,BI"//(YC."9"99##se1:DL)9)9::DLL&LL79+!673%	{!,T%5%566T"o.15!DNN+1-RIYKq)L9I9I,JJDLLsxx		*+1-T=M=M0NNDLLS)T 99Ur0   )__doc__r@   r&   typingrp   commonr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Listrr   r/   r`   COMPACTrt    r0   r.   <module>r{      s    #  	    $J6affSk J6 J6 J6ZI I	 I\ '5&<&<QQ#Q Q 		Qr0   