
    P_h                         d dl Z d dlZd dlZd dlmZ d dlmZmZ  G d de          Ze G d d                      Z	e G d d	                      Z
dS )
    N)Enum)	dataclassfieldc                       e Zd ZdZdZdS )TW_Cli_OutputTEXTJSONN)__name__
__module____qualname__r   r	        LC:\Users\Fabien\Documents\Programmation\testPython\classes\TW_Cli_Command.pyr   r      s        DDDDr   r   c                   J    e Zd ZU eed<   dZeed<   dZedz  ed<   dZe	ed<   dS )TW_Cli_ArgsnameFnullableN
desriptiondefaultValue)
r
   r   r   str__annotations__r   boolr   r   anyr   r   r   r   r   
   sO         	HHHHTJs4xLr   r   c                       e Zd ZU eed<   dZedz  ed<    ed           Zee	         ed<    ed           Z
eed<   defd	Zdd
eez  fdZdd
eez  fdZdS )TW_Cli_Commandr   Ndescriptionc                      g S Nr   r   r   r   <lambda>zTW_Cli_Command.<lambda>   s    " r   )default_factoryargsc                      t           j        S r   )r   r   r   r   r   r   zTW_Cli_Command.<lambda>   s	    8J r   outputc                     d S r   r   )selfr!   s     r   executezTW_Cli_Command.execute   s    r   messagec                 D   || j         t          j        k    rUt          |          t          k    r|nd|i}d|d<   t
          j                            t          j	        |                     nt
          j                            |           t          j
        d           d S )Nr'   errorstatus)r#   r   r	   typeobjectsysstderrwritejsondumpsexitr%   r'   
jsonOutputs      r   outputErrorzTW_Cli_Command.outputError   s     	*{m00 *(,W(?XWWiPWEX
'.
8$
  J!7!78888
  )))r   c                 D   || j         t          j        k    rUt          |          t          k    r|nd|i}d|d<   t
          j                            t          j	        |                     nt
          j                            |           t          j
        d           d S )Nr'   successr*   r   )r#   r   r	   r,   r-   r.   stdoutr0   r1   r2   r3   r4   s      r   outputSuccesszTW_Cli_Command.outputSuccess(   s     	*{m00 *(,W(?XWWiPWEX
'0
8$
  J!7!78888
  )))r   r   )r
   r   r   r   r   r   r   r!   listr   r#   r   r-   r&   r6   r:   r   r   r   r   r      s         	HHHKD"U99===Dk	=== 51J1JKKKF=KKK6     #f*     CJ      r   r   )r.   osr1   enumr   dataclassesr   r   r   r   r   r   r   r   <module>r?      s            ( ( ( ( ( ( ( (    D            ! ! ! ! ! ! ! ! ! !r   