
    VhG	                     V    d dl mZmZmZ eZd dlZd dlmZ d dl	m
Z
 dZ G d de
      Zy)    )absolute_importdivisionprint_functionN)AnsibleConnectionFailure)TerminalBasezV
short_description: Terminal plugin module for sonic CLI modules
version_added: 1.0.0
c            
          e Zd Z ej                  d       ej                  d       ej                  d      gZ ej                  d       ej                  d       ej                  d       ej                  dej                         ej                  dej                         ej                  d	ej                         ej                  d
ej                         ej                  d      gZd ZddZ	d Z
y)TerminalModules2   [\r\n]?[\w+\-\.:\/\[\]]+(?:\([^\)]+\)){,3}(?:#) ?$s'   \[\w+\@[\w\-\.]+(?: [^\]])\] ?[>#\$] ?$s   \$ ?$s   % ?Errors   % ?Bad secrets   Syntax error:s   invalid inputs    (?:incomplete|ambiguous) commands   connection timed outs   [^\r\n]+ not founds!   '[^']' +returned error code: ?\d+c                     	 | j                         j                  d      r| j                  d       | j                  d       y # t        $ r t        d      w xY w)Ns   $ s	   sonic-clis   terminal length 0zunable to open sonic cli)_get_promptendswith_exec_cli_commandr   )selfs    s/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/dellemc/enterprise_sonic/plugins/terminal/sonic.pyon_open_shellzTerminalModule.on_open_shell6   sY    	G!**51&&|4""#78' 	G*+EFF	Gs   AA ANc                 D    | j                         j                  d      ry y )N   #)r   r   )r   passwds     r   	on_becomezTerminalModule.on_become>   s!    &&t, -    c                 p    | j                         }|y |j                  d      r| j                  d       y y )Nr   s   exit)r   r   r   )r   prompts     r   on_unbecomezTerminalModule.on_unbecomeB   s7    !!#>??4 ""7+ !r   )N)__name__
__module____qualname__recompileterminal_stdout_reIterminal_stderr_rer   r   r    r   r   r	   r	   #   s     	

IJ

>?

9 	

< 

$%

$%

$bdd+

7>

+RTT2

)2440

89	G,r   r	   )
__future__r   r   r   type__metaclass__r   ansible.errorsr   ansible.plugins.terminalr   DOCUMENTATIONr	   r!   r   r   <module>r(      s/   * C B 	 3 1&,\ &,r   