o
    Nrf;
                  
   @   s   d dl Z d dlZd dlZddlmZmZmZ e ejdddej	dddd	d
ej	ddddd
ej	ddddd
dd Z
	dddZdS )    N   )CONTAINER_PREFIXNETWORK_PREFIXREDIS_PREFIXnames)nargsz*--remove-container/--dont-remove-containerTz Remove stopped higlass container)defaultZshow_defaulthelpz--stop-redis/--dont-stop-rediszIStop and remove redis container associated with a given higlass instance.z4--remove-network-bridge/--dont-remove-network-bridgez?Remove network bridge associated with a given higlass instance.c                 C   s   t | ||| d S )N)_stop)r   remove_container
stop_redisremove_network_bridge r   \/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/higlass_manage/stop.pystop   s   r   c                 C   sZ  t  }t| dkrd} | D ]}dt|}z|j|  |r)|j|  W n t j	j
yG } ztjd| W Y d}~nd}~ww |rwdt|}z|j|  |j|  W n t j	j
yv   tjd| Y nw |rdt|}	z|jj|	gd}
|
r|j|	}|  W q t j	j
y   tjd|	 Y qw qdS )	z
    Stop a running higlass instance along with the
    associated redis container and network bridges.

    The script attemps to stop and remove all of the
    containers/networks associated with a given higlass
    name.
    r   )r	   z{}-{}zInstance not running: {}
Nz,No Redis instances found at {}; skipping...
)r   z+No bridge network found at {}; skipping...
)dockerZfrom_envlenformatr   
containersgetr   removeerrorsZNotFoundsysstderrwriter   r   Znetworkslist)r   r   r   r   clientnameZhm_nameexZ
redis_nameZnetwork_nameZnetwork_listnetworkr   r   r   r   &   sN   r   )TTT)r   Zclickr   commonr   r   r   commandargumentoptionr   r   r   r   r   r   <module>   s6    	