o
    3Jj                     @   sB   d Z ddlZddlmZ dadd ZdddZdd	 Zd
d ZdS )zHDirect supplier certificate lookup from staged JSON (reliable for demo).    N)configc                  C   sV   t d u r)ttjd d  } ttjd d  }| dg |dg da t S )Ncertszscope_certificates.jsonztransaction_certificates.jsonscope_certificatestransaction_certificates)scopetransaction)_CACHEjsonloadsr   DATA	read_textget)sctc r   +/opt/greenlight/greenlight/sources/certs.py_load	   s   

r   c                    s  t  }fdd|d D }t||}|r|dnd   r,t fdd|d D d nd }|r5|dnd }|sr|d D ]F}d	krmd
|ddv rm|dkr]d|ddv r]|} n)|dv rmd|ddv rm|} ndkrd|ddv rd|ddv r|} nq?|||dS )Nc                    s   g | ]}| d  kr|qS )	linkedSkur   ).0t)skur   r   
<listcomp>   s    z!lookup_by_sku.<locals>.<listcomp>r   relatedScopeCertificatec                 3   s"    | ]}| d  kr|V  qdS )certNoNr   )r   s)sc_idr   r   	<genexpr>   s     z lookup_by_sku.<locals>.<genexpr>r   sellerzGL-01AtlascertifiedOrganization rds_down_fillRDSstandardNrecycled_polyesterGRSzGL-02NovaRWS)r   r   supplier)r   _pick_tcr   next)r   	attributedatatcsr   r   r*   r   r   )r   r   r   lookup_by_sku   s(   
$(r0   c                 C   s   | sd S |dkr| D ]}d| ddv r|  S q
|dv r.| D ]}d| ddv r-|  S q|dkrC| D ]}d| ddv rB|  S q4|d	krX| D ]}d
| ddv rW|  S qI| d S )Nr"   r#   r$   r!   r%   r'   rws_woolr)   organic_cottonGOTSr   r   )r/   r-   r   r   r   r   r+   +   s.   r+   c                 C   s   | sd S t j| ddS )N   )indent)r	   dumps)r   r   r   r   	format_tcA   s   r7   )N)	__doc__r	   
greenlightr   r   r   r0   r+   r7   r   r   r   r   <module>   s    
