
    <	                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z
 dZd	 Z G d
 dej                        Zy)z*Artifacts SBOM reference specific printer.    )absolute_import)division)print_function)unicode_literals)custom_printer_base)flattened_printersbomc                 N    dj                  d | D              }|dk(  ry|dk(  ry|S )Nz, c              3   4   K   | ]  }|j                     y w)N)keyid).0sigs     8lib/googlecloudsdk/command_lib/artifacts/sbom_printer.py	<genexpr>z$_GenerateSignedBy.<locals>.<genexpr>    s     4#CIIs   zxprojects/goog-analysis/locations/global/keyRings/sbomAttestor/cryptoKeys/generatedByArtifactAnalysis/cryptoKeyVersions/1zArtifact Analysisz|projects/goog-analysis-dev/locations/global/keyRings/sbomAttestor/cryptoKeys/generatedByArtifactAnalysis/cryptoKeyVersions/1zArtifact Analysis Dev)join)
signaturesr   s     r   _GenerateSignedByr      s?    	444#  G  G  K  K"	*    c                       e Zd ZdZd Zy)SbomPrinterzHPrints SBOM reference fields with customized labels in customized order.c                    t        j                         }|j                  d|j                  j                  id       |j                  d|j                  j
                  j                  j                  j                  id       |j                  d|j                  j                  id       t        |j                  j
                  j                        }|r|j                  d|id       d|j                  v r"|j                  d|j                  d   id       d	|j                  v r#|j                  d
|j                  d	   id       y y )Nresource_uriF)delimitlocation	reference	signed_byexistsfile_existserr_msgfile_err_msg)fpFlattenedPrinter	AddRecordoccresourceUrisbomReferencepayload	predicater   namer   r   	file_info)selfsbom_refprinterr   s       r   	TransformzSbomPrinter.Transform+   s8   !!#G~x||'?'?@%P	X\\//77AAJJK   {HLL$5$56F
HLL66AA
BC
c*E:8%%%(,,X6
7   H&&&8--i8
95   'r   N)__name__
__module____qualname____doc__r.    r   r   r   r   (   s
    Pr   r   N)r2   
__future__r   r   r   r   googlecloudsdk.core.resourcer   cpr   r!   SBOM_PRINTER_FORMATr   CustomPrinterBaser   r3   r   r   <module>r9      s=    1 '  % ' B @  "&& r   