
    MPjN                     X    d Z ddlZddlmZ  ej        e          Z G d d          ZdS )uX   Singleton lifecycle manager for analytics services — mirrors PMChat's ServiceRegistry.    N)settingsc                   F    e Zd Zd Zd Zed             Zed             ZdS )ServiceRegistryc                 0    d | _         d | _        d| _        d S )NF)_bond_service_peer_curve_service_initializedselfs    /app/app/services/registry.py__init__zServiceRegistry.__init__
   s     !#' !    c                 Z    | j         rd S t                              d           d| _         d S )NzServiceRegistry initializedT)r	   loggerinfor
   s    r   
initializezServiceRegistry.initialize   s3     	F1222 r   c                     | j         Bddlm}  |t          j        t          j        t          j        t          j                  | _         | j         S )Nr   )LsegBondService)app_keyisinsissuers	data_path)r   app.services.bond_servicer   r   lseg_app_key	isin_listissuer_listlseg_data_path)r   r   s     r   lseg_bond_servicez!ServiceRegistry.lseg_bond_service   sY    %AAAAAA!0 -( ,"1	" " "D !!r   c                     | j         7ddlm}  |t          j        t          j        t          j                  | _         | j         S )Nr   )PeerCurveService)r   usernamepassword)r   app.services.peer_curve_servicer    r   r   lseg_usernamelseg_password)r   r    s     r   peer_curve_servicez"ServiceRegistry.peer_curve_service!   sT    #+HHHHHH'7'7 -!/!/( ( (D$
 ''r   N)__name__
__module____qualname__r   r   propertyr   r&    r   r   r   r   	   sh        " " "
! ! ! 	" 	" X	" ( ( X( ( (r   r   )__doc__logging
app.configr   	getLoggerr'   r   r   r+   r   r   <module>r0      sj    ^ ^       		8	$	$!( !( !( !( !( !( !( !( !( !(r   