+
    Â~bjO  ã                  ó�  € R t ^ RIHt ^ RIt^ RIt^ RIHt ]! ]4      P                  4       P                  t
]
R,          3R R llt]! 4        RR R lltR	 R
 ltR R ltR R ltR R ltR R ltR R lt]P&                  ! RR4      t]P&                  ! RR4      t]P&                  ! RR4      t]P&                  ! RR4      tR# )zÙ
Configuracion compartida para los scripts de Talento Humano.

Los secretos se leen desde variables de entorno o desde un archivo .env local
sin versionar. No se deben guardar API keys ni passwords reales en el repo.
)ÚannotationsN)ÚPathz.envc               ó    € V ^8„  d   QhRRRR/# )é   Úpathr   ÚreturnÚNone© )Úformats   "Úapp_config.pyÚ__annotate__r      s   € ÷ $ñ $�tð $°Dñ $ó    c                ó   € V P                  4       '       g   R # V P                  RR7      P                  4        FÁ  pVP                  4       pV'       d   VP	                  R4      '       g   RV9  d   K;  VP                  R^4      w  r4VP                  4       pVP                  4       P                  R4      P                  R4      pV'       g   K—  V\        P                  9  g   K®  V\        P                  V&   KÃ  	  R # )Nzutf-8)ÚencodingÚ#Ú=Ú"Ú')ÚexistsÚ	read_textÚ
splitlinesÚstripÚ
startswithÚsplitÚosÚenviron)r   Úraw_lineÚlineÚkeyÚvalues   &    r   Ú_load_dotenvr       s°   € Ø�;‰;�=Š=ÙØ—N‘N¨G�NÓ4×?Ñ?ÖAˆØ�~‰~Óˆß�t—‘ s×+Ò+¨s¸$¬ÙØ—Z‘Z  QÓ'‰
ˆØ�i‰i‹kˆØ—‘“×#Ñ# CÓ(×.Ñ.¨sÓ3ˆß‰3�3œbŸj™jÖ(Ø#ŒB�J‰J�s‹Oó Br   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚnameÚstrÚdefaultÚboolr   r	   )r
   s   "r   r   r   #   s&   € ÷ Bñ B�3ð B ð B°$ñ Br   c                ó|   € \         P                  ! V 4      pVf   V# VP                  4       P                  4       R9   # )N>   Ú1ÚyÚonÚyesÚtrue)r   Úgetenvr   Úlower)r"   r$   Úraws   && r   Úenv_boolr/   #   s4   € Ü
�)Š)�D‹/€CØ
‚{ØˆØ�9‰9‹;×ÑÓÐ"AÑAÐAr   c               ó    € V ^8„  d   QhRRRR/# )r   r"   r#   r   r	   )r
   s   "r   r   r   *   s   € ÷ Uñ U�cð U˜cñ Ur   c                ó^   € \         P                  ! V 4      pV'       d   V# \        R V  24      h)z3Falta configurar la variable de entorno requerida: )r   r,   ÚRuntimeError)r"   r   s   & r   Úrequire_envr3   *   s*   € Ü�IŠI�d‹O€EßØˆÜ
ÐLÈTÈFÐSÓ
TÐTr   c               ó    € V ^8„  d   QhRRRR/# )r   Únamesr#   r   r   r	   )r
   s   "r   r   r   1   s   € ÷ ñ ˜Cð  Dñ r   c                 ó.   € V  F  p\        V4       K  	  R # )N)r3   )r5   r"   s   * r   Úrequire_secretsr7   1   s   € ÛˆÜ�DÖó r   c               ó   € V ^8„  d   QhRR/# ©r   r   z
str | Noner	   )r
   s   "r   r   r   6   s   € ÷ Dñ D *ñ Dr   c                 óh   € \         P                  ! R 4      p V '       g   R# V P                  RR^4      # )ÚDATABASE_URLNzpostgresql+psycopg://zpostgresql://)r   r,   Úreplace)Úurls    r   Ú_normalized_database_urlr>   6   s*   € Ü
�)Š)�NÓ
#€CßÙØ�;‰;Ð.°ÀÓCÐCr   c               ó   € V ^8„  d   QhRR/# r9   r	   )r
   s   "r   r   r   =   s   € ÷ -ñ -˜Zñ -r   c                 ó~   € \         P                  ! R R4      P                  4       p V '       g   R# V R8X  d   R# RV  R2# )Ú	PG_SCHEMAÚpublicNz-c search_path=publicz-c search_path=z,public)r   r,   r   )Úschemas    r   Ú_search_path_optionrD   =   s;   € Ü�YŠY�{ HÓ-×3Ñ3Ó5€FßÙØ�ÔÙ&Ø˜V˜H GÐ,Ð,r   c               ó   € V ^8„  d   QhRR/# )r   r   Údictr	   )r
   s   "r   r   r   F   s   € ÷ ñ �4ñ r   c                 ó°  € \        4       p \        4       pV'       d   R V/pV '       d   WR&   V# R\        P                  ! RR4      R\        P                  ! RR4      R\        P                  ! R	4      ;'       g    \        P                  ! R
4      R\        P                  ! RR4      R\	        \        P                  ! RR4      4      /pV '       d   WR&   V# )ÚdsnÚoptionsÚdbnameÚPG_DATABASEzBase de Datos Talento HumanoÚuserÚPG_USERÚpostgresÚpasswordÚPG_PASSWORDÚ
PGPASSWORDÚhostÚPG_HOSTÚ	localhostÚportÚPG_PORTÚ5432)rD   r>   r   r,   Úint)rI   Údatabase_urlÚcfgs      r   Ú	db_configr[   F   s­   € Ü!Ó#€GÜ+Ó-€LßØ�lÐ#ˆßØ$�	‰NØˆ
ð 	”"—)’)˜MÐ+IÓJØ”—	’	˜) ZÓ0Ø”B—I’I˜mÓ,×GÐG´·	²	¸,Ó0GØ”—	’	˜) [Ó1Ø””B—I’I˜i¨Ó0Ó1ð€C÷ Ø ˆI‰Ø€Jr   c               ó   € V ^8„  d   QhRR/# )r   r   zssl.SSLContextr	   )r
   s   "r   r   r   [   s   € ÷ ñ �^ñ r   c                 ó¶   € \        R R4      '       d   \        P                  ! 4       # \        P                  ! 4       p RV n        \        P                  V n        V # )ÚAPP_VERIFY_SSLTF)r/   ÚsslÚcreate_default_contextÚcheck_hostnameÚ	CERT_NONEÚverify_mode)Úctxs    r   Ússl_contextre   [   sE   € ÜÐ  $×'Ò'Ü×)Ò)Ó+Ð+Ü
×
$Ò
$Ó
&€CØ€CÔÜ—m‘m€C„OØ€Jr   ÚNOMINA_API_BASEz%https://api.innfinancial.cloud/api/v1ÚNOMINA_API_KEYÚ ÚPYG_API_URLz5https://app.faranda.online/rm/reportePyg/comparativo/ÚPYG_API_KEY)F)Ú__doc__Ú
__future__r   r   r_   Úpathlibr   Ú__file__ÚresolveÚparentÚBASE_DIRr    r/   r3   r7   r>   rD   r[   re   r,   ÚAPI_BASErg   ÚPYG_URLrj   r	   r   r   Ú<module>rt      s´   ðñõ #ã 	Û 
Ý ñ �‹>×!Ñ!Ó#×*Ñ*€ð '¨Õ/÷ $ñ „÷BõUõõ
Dõ-õõ*ð �9Š9Ð&Ð(OÓP€Ø—’Ð+¨RÓ0€à
�)Š)�MÐ#ZÓ
[€Ø�iŠi˜ rÓ*‚r   