
    ki                         d dl Z d dlZd dlmZmZ d dlmZmZmZm	Z	m
Z
mZmZ ddlmZ ddlmZ ddlmZ  G d d	e          Z G d
 d          ZdS )    N)Enumauto)AnyDictListOptionalTupleTypeUnion   )	Generator)BaseProvider)Fakerc                       e Zd ZdZeZeZdS )	FakerEnumz!Required for faker.providers.enumN)__name__
__module____qualname____doc__r   AB     `/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/faker/documentor.pyr   r      s        ++AAAAr   r   c                       e Zd Zdeeef         ddfdZ	 	 ddee         dee	e                  de
de	eeeeef         f                  fdZ	 	 	 ddededededeeef         f
dZededefd            ZdS )
Documentor	generatorreturnNc                 0    || _         d| _        g | _        dS )z
        :param generator: a localized Generator with providers filled,
                          for which to write the documentation
        :type generator: faker.Generator()
        r   N)r   max_name_lenalready_generated)selfr   s     r   __init__zDocumentor.__init__   s!     #!",.r   localeexcludeskwargsc           	          d| _         |g n	|d d          | _        g }| j                                        }|d d d         D ]:}|r|j        r|j        |k    r|                    | | j        |fi |f           ;|S )Nr   )r    r!   r   get_providers__lang__appendget_provider_formatters)r"   r$   r%   r&   
formatters	providersproviders          r   get_formatterszDocumentor.get_formatters   s     '/'7Xaaa[
(,(D(D(F(F	!$$B$ 	 	H (+ 0AV0K0K747KKFKKL    r   fake.Tr/   prefix	with_argswith_defaultsc                    i }t          j        |t           j                  D ]&\  }}|                    d          s	|| j        v r%g }g }	i }
|dk    rd|
d<   n|dv r|
                    ddd           |dk    rt          g}	|rt          j        |          }d	 |j        D             }t          |          D ]y\  }}|j
        rP|rN	 |j
        |         }t          |t                    rt          |          }n| }| d
| }n# t          $ r Y nw xY w|                    |           |dk    r nz|dk    rH|j        r|                    d|j        z              |j        r|                    d|j        z              | | dd                    |           d}	  | j        j        |g|	R i |
}n@# t*          t,          f$ r,}t/          j        t          |                     Y d }~d }~ww xY w|||<   t3          | j        gd |                                D             R  | _        | j                            |           (|S )N_binaryi   length)ziptari   )uncompressed_sizemin_file_sizeenumc                     g | ]}|d v|	S ))r"   clsr   ).0xs     r   
<listcomp>z6Documentor.get_provider_formatters.<locals>.<listcomp>S   s"    KKKQ!?2J2Jq2J2J2Jr   =first*z**(z, )c              3   4   K   | ]}t          |          V  d S N)len)r@   parts     r   	<genexpr>z5Documentor.get_provider_formatters.<locals>.<genexpr>x   s(      8a8atT8a8a8a8a8a8ar   )inspect
getmembersismethod
startswithr!   updater   getfullargspecargs	enumeratedefaults
isinstancestrrepr
IndexErrorr+   varargsvarkwjoinr   formatAttributeError
ValueErrorwarningswarnmaxr    split)r"   r/   r2   r3   r4   r-   namemethod	arguments
faker_argsfaker_kwargsargspeclstiargdefault	signatureexamplees                      r   r,   z"Documentor.get_provider_formatters0   s    
#.x9IJJ @	0 @	0LD&s## tt/E'E'EI79JLx)-X&&''##-1),    v~~'[
 ?!088KK',KKK'nn  FAs' !M !!&-&6q&9G)'377 7*.w-- .5,%("4"47"4"4CC) ! ! ! D! $$S))) G++ , '' @!((w)>???} ?!(()=>>> "A4AA$))I*>*>AAAI/$./RzRRR\RR"J/   c!ff%%% %,Jy! #D$5 b8a8ayO`O`8a8a8a b b bD"))$////s*   <D
DDF66G3!G..G3provider_classc                     | j         S rI   )__provider__)rq   s    r   get_provider_namezDocumentor.get_provider_name}   s    **r   )NN)r1   TT)r   r   r   r   r   r   r#   r   rW   r   r   r	   r   r   r0   boolr,   staticmethodrt   r   r   r   r   r      s@       /%	5(8"9 /d / / / / !%(,  49% 	
 
eL$sCx.01	2   * "K KK K 	K
 K 
c3hK K K KZ +, +3 + + + \+ + +r   r   )rM   r`   r=   r   r   typingr   r   r   r   r	   r
   r   r   r   r.   r   proxyr   r   r   r   r   r   <module>ry      s             @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @             # # # # # #             l+ l+ l+ l+ l+ l+ l+ l+ l+ l+r   