
    Vh                     j    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 dlmZmZ d dlZ G d de      Zy)    )absolute_importdivisionprint_functionN)TerminalBase)AnsibleConnectionFailure)to_textto_bytesc                      e Zd Z 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                  d	       ej                  d
ej                         ej                  dej                         ej                  dej                         ej                  dej                         ej                  d       ej                  d       ej                  d       ej                  d       ej                  d       ej                  d       ej                  d       ej                  dej                         ej                  d       ej                  d      gZd Zd Z	ddZ
d Zy)TerminalModules7   [\r\n]?[\w\+\-\.:\/\[\]]+(?:\([^\)]+\)){0,3}(?:[>#]) ?$s   % ?Errors   % ?Bad secrets   [\r\n%] Bad passwordss   invalid inputs    (?:incomplete|ambiguous) commands   connection timed outs   [^\r\n]+ not founds!   '[^']' +returned error code: ?\d+s   Bad masks   % ?(\S+) ?overlaps with ?(\S+)s   [%\S] ?Error: ?[\s]+s   [%\S] ?Informational: ?[\s]+s   Command authorization faileds	   Error - *s'   Error - Incorrect username or password.s   Invalid inputs'   Already a http operation is in progresss*   Flash access in progress. Please try laters	   Error: .*s
   ^Error: .*s   ^Ambiguous inputs   Errnoc                      y N selfs    j/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/network/plugins/terminal/icx.pyon_open_shellzTerminalModule.on_open_shell.   s        c                 V    	 | j                          y # t        $ r t        d      w xY w)Nz!unable to set terminal parameters)closer   r   s    r   __del__zTerminalModule.__del__1   s.    	PJJL' 	P*+NOO	Ps    (Nc                    | j                         j                  d      ry ddi}t        dd      |d<   ||d<   d	|d
<   	 | j                  t	        t        j                  |      d             | j                         }||j                  d      st        d|z        y # t        $ r0}| j                         }t        d|d|j                        d }~ww xY w)N   #commandenablez [\r\n](?:Local_)?[Pp]assword: ?$surrogate_or_strict)errorspromptanswerTprompt_retry_checkz?failed to elevate privilege to enable mode still at prompt [%s]z7unable to elevate privilege to enable mode, at prompt [z] with error: )	_get_promptendswithr   _exec_cli_commandr	   jsondumpsr   message)r   passwdcmdr   es        r   	on_becomezTerminalModule.on_become7   s    &&t,9% !DMbcII%)!"	N""8DJJsODY#Z[%%'F~V__T%:./psy/yzz &;' 	N%%'F*  {A  CD  CL  CL  ,M  N  N	Ns    A B! !	C*+CCc                     | j                         }|y d|v r| j                  d       y |j                  d      r| j                  d       y y )Ns   (configs   exitr   )r    r"   r!   )r   r   s     r   on_unbecomezTerminalModule.on_unbecomeH   sM    !!#>""7+__T"""7+ #r   r   )__name__
__module____qualname__recompileterminal_stdout_reIterminal_stderr_rer   r   r)   r+   r   r   r   r   r      s    	

NO
 	

< 

$%

,-

$bdd+

7>

+RTT2

)*

89

<&

5rtt<

+RTT2

3RTT:

34

=!

>?

$%

>?

AB

=!

>244(

'(

9-2PN"	,r   r   )
__future__r   r   r   type__metaclass__r/   ansible.plugins.terminalr   ansible.errorsr   ansible.module_utils._textr   r	   r#   r   r   r   r   <module>r:      s0    C B 	 1 3 8 B,\ B,r   