
    >TfW
                         d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ dZ G d d	e          Z G d
 de          Z G d dej                  ZdS )    )gettext)extend_schema_field)serializers)JobSerializer)Script)ValidatedModelSerializer)ScriptDetailSerializerScriptInputSerializerScriptSerializerc                   T   e Zd Z ej        d          Z ej        d          Z edd          Z G d d          Z	 e
 ej        d                    d             Z e
 ej                              d             Z e
 ej        d                    d	             Zd
S )r   T	read_only)nestedr   c                       e Zd ZeZg dZdZdS )ScriptSerializer.Meta)
idurldisplay_urlmodulenamedescriptionvarsresultdisplayis_executable)r   r   r   r   r   N)__name__
__module____qualname__r   modelfieldsbrief_fields     D/var/www/html/netbox-4.1.3/netbox/extras/api/serializers_/scripts.pyMetar      s,        
 
 
 Gr#   r%   )
allow_nullc                     |j         rBd |                                                                                                 D             S i S )Nc                 .    i | ]\  }}||j         j        S r"   )	__class__r   ).0kvs      r$   
<dictcomp>z-ScriptSerializer.get_vars.<locals>.<dictcomp>   s0       ,0Aq1;'  r#   )python_class	_get_varsitemsselfobjs     r$   get_varszScriptSerializer.get_vars   sY     	 474D4D4F4F4P4P4R4R4X4X4Z4Z    Ir#   c                 &    |j          d|j         dS )Nz ())r   r   r1   s     r$   get_displayzScriptSerializer.get_display%   s    (++cj++++r#   c                 F    |j         r|                                 j        S d S )N)r.   r   r1   s     r$   get_descriptionz ScriptSerializer.get_description)   s'     	##%%114r#   N)r   r   r   r   SerializerMethodFieldr   r   r   r   r%   r   	JSONFieldr4   	CharFieldr7   r9   r"   r#   r$   r   r      s'       3+3dCCCK,;,t<<<D]$$777FG G G G G G G G ..$???@@  A@ ..0011, , 21, ..$???@@  A@  r#   r   c                   h    e Zd Z ej        d          Z e e                      d             ZdS )r	   Tr   c                     |j                                                             d                                          }d| j        d         i}t          ||          j        }|S )Nz-createdrequest)context)jobsallorder_byfirstr@   r   data)r2   r3   jobr@   rE   s        r$   
get_resultz!ScriptDetailSerializer.get_result4   sZ    hllnn%%j117799t|I.
 S'2227r#   N)	r   r   r   r   r:   r   r   r   rG   r"   r#   r$   r	   r	   1   sT        .[.>>>F))  *)  r#   r	   c                       e Zd Z ej                    Z ej                    Z ej        dd          Z	 ej
        dd          Zd Zd ZdS )r
   FT)requiredr&   c                 p    |r3| j         d         j        s!t          j        t	          d                    |S Nscriptz*Scheduling is not enabled for this script.r@   scheduling_enabledr   ValidationError_r2   values     r$   validate_schedule_atz*ScriptInputSerializer.validate_schedule_atD   <     	_h/B 	_-a0\.].]^^^r#   c                 p    |r3| j         d         j        s!t          j        t	          d                    |S rK   rM   rQ   s     r$   validate_intervalz'ScriptInputSerializer.validate_intervalI   rT   r#   N)r   r   r   r   r;   rE   BooleanFieldcommitDateTimeFieldschedule_atIntegerFieldintervalrS   rV   r"   r#   r$   r
   r
   >   s         ; ""D%[%''F+++UtLLLK'{'4HHHH  
    r#   r
   N)django.utils.translationr   rP   drf_spectacular.utilsr   rest_frameworkr   core.api.serializers_.jobsr   extras.modelsr   netbox.api.serializersr   __all__r   r	   
Serializerr
   r"   r#   r$   <module>re      s   1 1 1 1 1 1 5 5 5 5 5 5 & & & & & & 4 4 4 4 4 4             ; ; ; ; ; ;    /   B
 
 
 
 
- 
 
 
    K2     r#   