
    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                   r   e Zd Z ej                  dej
                        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                  d       ej                  d       ej                  dej                         ej                  d      gZd Z	ddZ
d Zy)TerminalModules   [\r\n]+[^\s#>]+(?:[>#])$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   Discontiguous Subnet Masks   Conflicting IP addresss   [\r\n]Error: ?[\S]+s   [%\S] ?Informational: ?[\s]+s   Command authorization failedc                 X    	 | j                  d       y # t        $ r t        d      w xY w)Nzterminal more disablez!unable to set terminal parameters)_exec_cli_commandr   )selfs    k/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/network/plugins/terminal/voss.pyon_open_shellzTerminalModule.on_open_shell4   s4    	P""#;<' 	P*+NOO	Ps    )Nc                    | j                         j                  d      ry ddi}|r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   r   r   jsondumpsr   message)r   passwdcmdr   es        r   	on_becomezTerminalModule.on_become:   s    &&t,9% %%HQfgC	N#C	N)-C%&	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 |j                  d      r#| j                  d       | j                  d       y |j                  d      r| j                  d       y y )Ns   )#s   ends   disabler   )r   r   r   )r   r   s     r   on_unbecomezTerminalModule.on_unbecomeN   s_    !!#>??5!""6*"":.__T""":. #    )N)__name__
__module____qualname__recompileMterminal_stdout_reIterminal_stderr_rer   r"   r$    r%   r   r   r      s    	

/6
 	

< 

$%

,-

$bdd+

7>

+RTT2

)*

89

01

-.

*+

3RTT:

34 PN(/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>r6      s.   & C B  	 3 8 1;/\ ;/r%   