
    2~h.                        d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 ej                  j                  dd      r ej                  d   Z ed	      ez  Zed
z  Zn& ee      j#                         j$                  d   d
z  ZdZdZ ej*                  e
ej,                        D  cg c]  \  } }| j/                  d      r|  c}} Zd Zd Zd Zd ZddZd Zd Zd Z d Z!d Z"d Z#d Z$yc c}} w )    N)Path)AVAILABLE_LOCALES)	PROVIDERS)BaseProviderREADTHEDOCSFREADTHEDOCS_VERSIONz@/home/docs/checkouts/readthedocs.org/user_builds/faker/checkoutsdocs   z#*=-~zk
.. autoclass:: {provider_class}
   :members: {provider_methods}
   :undoc-members:
   :show-inheritance:

_c           	      f   	 | j                  dd      \  }}t        j                  |      }t        ||d       }dj	                  t        j                  |t
        j                        D cg c]   \  }}|j                  d      s
|t        vr|" c}}      S c c}}w # t        t        f$ r Y yw xY w)N.   z, r    )rsplit	importlibimport_modulegetattrjoininspect
getmembers
isfunction
startswithBASE_PROVIDER_METHOD_NAMESModuleNotFoundErrorAttributeError)provider_classprovider_module_nameobj_nameprovider_moduleprovidernamemethods          `/var/www/peopleoo.sandbox-dev.co.uk/venv/lib/python3.12/site-packages/faker/sphinx/documentor.py_get_provider_methodsr$   !   s    
)7)>)>sA)F&h#112FG?Hd; yy %,$6$6xASAS$T D&s+<V0V 
 	
	  0 s   7B +%B
B0/B0c                     g }t         D ]M  }	 | d|  }t        j                  |      }t        |d      }|j                   d}|j                  ||f       O |S # t        t        f$ r Y cw xY w)Nr   Provider	.Provider)STANDARD_PROVIDER_NAMESr   r   r   
__module__appendr   r   )localeinfoprovider_namelocale_module_pathlocale_moduler    r   s          r#   _get_localized_provider_infor0   2   s    D0 	9	9$1?!F8!<%334FGM}j9H !) 3 34I>NKK78	9 K $^4 		s   (AA-,A-c                 B    | j                  |j                  d            S )Nzutf-8)writeencode)fhss     r#   _writer6   A   s    88AHHW%&&    c                     t        | d       y )Nz:github_url: hide

r6   r4   s    r#   _hide_edit_on_githubr;   E   s    
2&'r7   c                 .   t        |t              r
|dk  s|dkD  rt        d      |dk  r.t        | t        |dz
     t        |      z         t        | d       t        | | d       t        | t        |dz
     t        |      z         t        | d       y )Nr      z&`level` must be an integer from 1 to 5r
   


)
isinstanceint
ValueErrorr6   SECTION_ADORNMENTSlen)r4   titlelevels      r#   _write_titlerG   I   s    eS!UQY%!)ABBzr%eai03u:=>r4
2%|
2!%!),s5z9:
2vr7   c                 4    t        | d       t        | d       y )Nz*.. include:: ../includes/substitutions.rstr?   r9   r:   s    r#   _write_includesrI   T   s    
2;<
2vr7   c                     t         dz  j                  d      5 } t        |        t        | d       t	        | d       t	        | d       t	        | d       t
        D ]  }t	        | d| d        	 d d d        y # 1 sw Y   y xY w)	Nzproviders.rstwbzStandard Providers.. toctree::
   :maxdepth: 2

z   providers/baseprovider
z   providers/r>   )	DOCS_ROOTopenr;   rG   r6   r(   )r4   r-   s     r#   _write_standard_provider_indexrP   Y   s    
o
%	+	+D	1 :RR R-.r#$r()r014 	:M2}oR89	:: : :s   AA::Bc            
      D   t         dz  j                  dd       t         dz  dz  j                  d      5 } t        |        t	        | d       t        |        t        | t        j                  ddj                  t              	             d d d        y # 1 sw Y   y xY w)
N	providersTparentsexist_okzbaseprovider.rstrK   z``faker.providers``zfaker.providers.BaseProvider,r   provider_methods)rN   mkdirrO   r;   rG   rI   r6   PROVIDER_AUTODOC_TEMPLATEformatr   r   r:   s    r#   _write_base_provider_docsr\   d   s    ##D4#@
k
!$6
6	<	<T	B 

bR R./%,,=!$*D!E - 	
	

 

 

s   ABBc            	      b   t         dz  j                  dd       t        D ]  } t         dz  |  dz  j                  d      5 }|  d}t	        |      }t        |       t        |d|  d       t        |       t        |t        j                  ||             d d d         y # 1 sw Y   xY w)	NrR   TrS   .rstrK   r'   ``rW   )rN   rY   r(   rO   r$   r;   rG   rI   r6   rZ   r[   )r-   r4   r   rX   s       r#   _write_standard_provider_docsr`   s   s    ##D4#@0 +%=/(>>DDTJ 	b -i8N4^D $r-34B)00#1%5 1 	 		 	s   AB%%B.	c                      t         dz  j                  d      5 } t        |        t        | d       t	        | d       t	        | d       t
        D ]  }t	        | d| d        	 d d d        y # 1 sw Y   y xY w)Nzlocales.rstrK   zLocalized ProvidersrL   rM   z   locales/r>   )rN   rO   r;   rG   r6   r   )r4   r+   s     r#   _write_localized_provider_indexrb      sw    
m
#	)	)$	/ 12R R./r#$r()' 	1F2VHB/0	11 1 1s   AA..A7c            
         t         dz  j                  dd       t        D ]  } t        |       }t         dz  |  dz  j	                  d      5 }t        |       t        |d|         t        |       |D ]C  \  }}t        |      }t        |d| dd	       t        |t        j                  ||
             E 	 d d d         y # 1 sw Y   xY w)NlocalesTrS   r^   rK   zLocale r_   r
   )rF   rW   )rN   rY   r   r0   rO   r;   rG   rI   r$   r6   rZ   r[   )r+   r,   r4   r   standard_provider_namerX   s         r#   _write_localized_provider_docsrf      s    !!$!># +F3)#o5;;DA 	R $wvh/0B:> 	6 6#8#H R2&<%=R!@J-44'5)9 5 			 		 	s   A.CC	c                      t         j                  dd       t                t                t	                t                t                y )NTrS   )rN   rY   rP   r\   r`   rb   rf    r7   r#   write_provider_docsri      s0    OOD4O0"$!##%"$r7   )r   )%r   r   ospathlibr   faker.configr   r   r(   faker.providersr   environgetversionHOMErN   __file__resolverT   rC   rZ   r   r   r   r   r$   r0   r6   r;   rG   rI   rP   r\   r`   rb   rf   ri   )r!   r"   s   00r#   <module>rt      s     	  * = (::>>-'jj./GRSV]]DvIX&&(003f<I   0W//g>P>PQT6Y]YhYhilYmD 

"'(
:
$1(%Os   +C3C3