
    Vh                     j    d dl mZmZmZ eZd dlZd dlZd dlm	Z	 d dl
mZmZ d dlmZ  G d de      Zy)    )absolute_importdivisionprint_functionN)AnsibleConnectionFailure)to_textto_bytes)TerminalBasec            	          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                         ej                  dej                         ej                  dej                         ej                  d	       ej                  d
      gZd ZddZ	d Z
y)TerminalModules4   [\r\n]?[\w+\-\.:\/\[\]]+(?:\([^\)]+\)){,3}(?:>|#) ?$s'   \[\w+\@[\w\-\.]+(?: [^\]])\] ?[>#\$] ?$s   >[\r\n]?s   % ?Errors   % ?Bad secrets   invalid inputs    (?:incomplete|ambiguous) commands   connection timed outs   [^\r\n]+ not founds!   '[^']' +returned error code: ?\d+c                 f    	 dD ]  }| j                  |        y # t        $ r t        d      w xY w)N)   
s   terminal-length 0
z!unable to set terminal parameters)_exec_cli_commandr   )selfcmds     k/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/network/plugins/terminal/enos.pyon_open_shellzTerminalModule.on_open_shell-   sB    	P6 ,&&s+,' 	P*+NOO	Ps    0Nc                    | j                         j                  d      ry ddi}|rt        dd      |d<   ||d<   	 | j                  t	        t        j                  |      d             y # t        $ r d	}t        |      w xY w)
N   #commandenablez[\r\n]?password: $surrogate_or_strict)errorspromptanswerz*unable to elevate privilege to enable mode)_get_promptendswithr   r   r   jsondumpsr   )r   passwdr   msgs       r   	on_becomezTerminalModule.on_become4   s    &&t,9% %%:,ACC	N#C	N	0""8DJJsO*?$A B' 	0>C*3//	0s   /A- -Bc                     | j                         }|y d|v r#| j                  d       | j                  d       y |j                  d      r| j                  d       y y )Ns   (configs   ends   disabler   )r   r   r   )r   r   s     r   on_unbecomezTerminalModule.on_unbecomeH   s[    !!#>""6*"":.__T""":. #    )N)__name__
__module____qualname__recompileterminal_stdout_reIterminal_stderr_rer   r!   r#    r$   r   r   r      s     	

KL

>?

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

< 

$%

$bdd+

7>

+RTT2

)*

89P0(/r$   r   )
__future__r   r   r   type__metaclass__r   r(   ansible.errorsr   ansible.module_utils._textr   r   ansible.plugins.terminalr	   r   r-   r$   r   <module>r4      s.     C B  	 3 8 18/\ 8/r$   