
    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      gZ ej                  d       ej                  dej                        gZd Zd Z	d	dZ
d Zy)
TerminalModules=   [\r\n]?(?:\w+@)?[\w+\-\.:\/\[\]]+(?:\([^\)]+\)){,3}(?:>|#) ?$s   [\r\n]Error - sE   [\r\n](?:incomplete|ambiguous|unrecognised|invalid) (?:command|input)c                 $    | j                          y N)disable_pager)selfs    o/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/network/plugins/terminal/ironware.pyon_open_shellzTerminalModule.on_open_shell)   s        c                 `    ddi}	 | j                  d       y # t        $ r t        d      w xY w)Ncommandzterminal length 0z unable to disable terminal pager)_exec_cli_commandr   )r   cmds     r   r   zTerminalModule.disable_pager,   s?    /0	O""#78' 	O*+MNN	Os    -Nc                 &   | j                         j                         j                  d      ry ddi}|rt        dd      |d<   ||d<   	 | j	                  t        t        j                  |      d             y # t        $ r t        d	      w xY w)
N   #r   enablez[\r\n]?password: ?$surrogate_or_strict)errorspromptanswerz*unable to elevate privilege to enable mode)	_get_promptstripendswithr   r   r   jsondumpsr   )r   passwdr   s      r   	on_becomezTerminalModule.on_become3   s    ##%..t49% %%;DYZC	N#C	N	Y""8DJJsODY#Z[' 	Y*+WXX	Ys   /A; ;Bc                     | j                         }|y d|v r#| j                  d       | j                  d       y |j                  d      r| j                  d       y y )Ns   (configs   ends   exitr   )r   r   r    )r   r   s     r   on_unbecomezTerminalModule.on_unbecomeC   s[    !!#>""6*""7+__T"""7+ #r   r   )__name__
__module____qualname__recompileterminal_stdout_reIterminal_stderr_rer   r   r$   r&    r   r   r   r      sb     	

TU
 	

%&

\^`^b^bc
OY ,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0,\ 0,r   