
    (tf;
              
       ,   d dl Z d dlZd dlZddlmZmZmZ  ej                          ej                  dd       ej                  dddd	
       ej                  dddd
       ej                  dddd
      d                                    Z
	 ddZy)    N   )CONTAINER_PREFIXNETWORK_PREFIXREDIS_PREFIXnames)nargsz*--remove-container/--dont-remove-containerTz Remove stopped higlass container)default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                      t        | |||       y )N)_stop)r   remove_container
stop_redisremove_network_bridges       ]/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/higlass_manage/stop.pystopr      s    2 
-B    c                    t        j                         }t        |       dk(  rd} | D ]=  }dj                  t        |      }	 |j
                  j                  |      j                          |r)|j
                  j                  |      j                          |ridj                  t        |      }	 |j
                  j                  |      j                          |j
                  j                  |      j                          |sdj                  t        |      }		 |j                   j#                  |	g      }
|
r+|j                   j                  |	      }|j                          @ y# t         j                  j                  $ r9}t        j                  j                  dj                  |             Y d}~$d}~ww xY w# t         j                  j                  $ r2 t        j                  j                  dj                  |             Y w xY w# t         j                  j                  $ r2 t        j                  j                  dj                  |	             Y ;w xY w)	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...
)dockerfrom_envlenformatr   
containersgetr   removeerrorsNotFoundsysstderrwriter   r   networkslist)r   r   r   r   clientnamehm_nameex
redis_namenetwork_namenetwork_listnetworks               r   r   r   &   s    __F
5zQ  ..!148	H!!'*//1!!%%g.557
  d;J!!%%j1668!!%%j188: !">>.$?L%33<.3I$oo11,?GNN$9  }}%% 	HJJ9@@FGG	H ==)) 

  CJJ:V ==)) 

  BII,WsA   AE)/AGA
H)F?.F::F?AHHAI#"I#)TTT)r   clickr   commonr   r   r   commandargumentoptionr   r    r   r   <module>r2      s    
   B B r"0	+	 $
	 :	J	 # , JN0r   