
    5i                     <    d dl mZ  G d de      Z G d de      Zy)    )DockerImageRefc                       e Zd ZdZy)ImageRefFactoryErrorzJ
    Class to handle errors with instantiation of ImageRef subclasses
    N)__name__
__module____qualname____doc__     /home/marpiech/ifpan-abm-pgxpred/analysis/marpiech-gwas-test/venv/lib/python3.12/site-packages/dxpy/nextflow/ImageRefFactory.pyr   r      s    r   r   c                       e Zd Zd Zd Zy)ImageRefFactoryc                     || _         |j                  dd      | _        | j                  st        d      dt        i| _        y)a)  
        A class to instantiate subclasses of ImageRef based on the container engine. Ususally instantiated after using the
        nextaur:collect function to collect images for docker and other container engines.
        :param image_ref: Image ref details
        :type image_ref: Dict
        engineNzProvide the container enginedocker)
_image_refget_enginer   r   _imageRef_switch)self	image_refs     r   __init__zImageRefFactory.__init__   s?     $ }}Xt4||&'EFFn!
r   c                    | j                   j                  | j                  d       }|s$t        dj	                  | j                               || j
                  d   | j
                  d   | j
                  j                  dd       | j
                  j                  dd       | j
                  j                  dd       | j
                  j                  dd             S )	Nz Unsupported container engine: {}processdigestfile_id
repository
image_nametag)r   r   
dx_file_idr   r   r   )r   r   r   r   formatr   )r   images     r   	get_imagezImageRefFactory.get_image   s    %%))$,,=&'I'P'PQUQ]Q]'^__OOI.??8,**9d;**<>**<>##E40
 	
r   N)r   r   r   r   r#   r
   r   r   r   r      s    
$
r   r   N)dxpy.nextflow.ImageRefr   	Exceptionr   objectr   r
   r   r   <module>r'      s"    29 
f 
r   