§
    7e’jC  ã                   óf   — d Z ddlZddlZddlZddlmZ ddlmZ  ej        d¦  «        Z	defd„Z
dS )z0Auto-Discovery Registry for Plug & Play Modules.é    N)ÚPath)ÚFastAPIzdscons.core.registryÚappc                 ó  — t          d¦  «        }|                     ¦   «         st                               d¦  «         dS |                     ¦   «         D �]¬}|                     ¦   «         �r”|dz  }|                     ¦   «         �rz	 t          |dd¬¦  «        5 }t          j        |¦  «        }ddd¦  «         n# 1 swxY w Y   | 	                    d|j
        ¦  «        }| 	                    d	d
¦  «        }|st                               d|› d�¦  «         ŒÃd|j
        › d�}t          j        |¦  «        }	t          |	d¦  «        r[| 	                    dd|j
        › �¦  «        }
|                      |	j        |
¬¦  «         t                               d|› d|
› �¦  «         n t                               d|› d|› �¦  «         �Œo# t"          $ r0}t                               d|j
        › d|› �¦  «         Y d}~�Œ¤d}~ww xY w�Œ®dS )ul   
    QuÃ©t thÆ° má»¥c app/modules vÃ  tá»± Ä‘á»™ng mount cÃ¡c router cá»§a module (náº¿u cÃ³ manifest).
    zapp/moduleszJNo modules directory found at app/modules. Skipping plug & play discovery.Nzmanifest.jsonÚrzutf-8)ÚencodingÚnameÚenabledTzModule z is disabled. Skipping.zapp.modules.z.presentation.routerÚrouterÚroute_prefixz/api/v1/)ÚprefixzSuccessfully mounted module: z at z does not export 'router' in zFailed to mount module z: )r   ÚexistsÚloggerÚinfoÚiterdirÚis_dirÚopenÚjsonÚloadÚgetr	   Ú	importlibÚimport_moduleÚhasattrÚinclude_routerr   ÚwarningÚ	ExceptionÚerror)r   Úmodules_dirÚmodule_pathÚmanifest_pathÚfÚmanifestÚmodule_nameÚ
is_enabledÚrouter_module_pathÚrouter_moduler   Úes               ú'C:\Projects\DSCons\app\core\registry.pyÚdiscover_and_mount_modulesr)   
   sƒ  € õ �}Ñ%Ô%€KØ×ÒÑÔð Ý�ŠÐ`ÑaÔaÐaØˆà"×*Ò*Ñ,Ô,ð Tñ TˆØ×ÒÑÔñ 	TØ'¨/Ñ9ˆMØ×#Ò#Ñ%Ô%ñ TðTÝ˜m¨S¸7ÐCÑCÔCð 0ÀqÝ#'¤9¨Q¡<¤<˜ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð #+§,¢,¨v°{Ô7GÑ"HÔ"H�KØ!)§¢¨i¸Ñ!>Ô!>�Jà%ð !ÝŸšÐ$R¨kÐ$RÐ$RÐ$RÑSÔSÐSØ ð *_¸Ô8HÐ)^Ð)^Ð)^Ð&Ý$-Ô$;Ð<NÑ$OÔ$O�Må˜}¨hÑ7Ô7ð qØ!)§¢¨nÐ>[ÈÔIYÐ>[Ð>[Ñ!\Ô!\˜Ø×*Ò*¨=Ô+?ÈÐ*ÑOÔOÐOÝŸšÐ$]ÀKÐ$]Ð$]ÐU[Ð$]Ð$]Ñ^Ô^Ð^Ð^åŸšÐ'o°Ð'oÐ'oÐ[mÐ'oÐ'oÑpÔpÐpùøÝ ð Tð Tð TÝ—L’LÐ!R¸;Ô;KÐ!RÐ!RÈqÐ!RÐ!RÑSÔSÐSÐSÐSÐSÐSÑSøøøøðTøøøùð3Tð TsD   ÂGÂB:Â.GÂ:B>	Â>GÃB>	ÃAGÄB*GÇ
G=Ç%G8Ç8G=)Ú__doc__r   r   ÚloggingÚpathlibr   Úfastapir   Ú	getLoggerr   r)   © ó    r(   ú<module>r1      sŒ   ðØ 6Ð 6Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à	ˆÔ	Ð1Ñ	2Ô	2€ð#T Gð #Tð #Tð #Tð #Tð #Tð #Tr0   