
    Vh                     N    d dl mZmZmZ eZdZd dlmZ d dlm	Z	  G d de	      Z
y)    )absolute_importdivisionprint_functionz
    name: timer
    type: aggregate
    requirements:
      - whitelist in configuration
    short_description: Adds time to play stats
    description:
        - This callback just adds total play duration to the play stats.
)datetime)CallbackBasec                   D     e Zd ZdZdZdZdZdZ fdZd Z	d Z
d	 Z xZS )
CallbackModulezE
    This callback module tells you how long your plays ran for.
    g       @	aggregatezansible.posix.timerTc                 \    t         t        |           t        j                         | _        y N)superr	   __init__r   utcnow
start_time)self	__class__s    h/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/ansible/posix/plugins/callback/timer.pyr   zCallbackModule.__init__    s    nd,."//+    c                 ~    |j                   dz  dz  }|j                   dz  }|j                  |j                   dz  ||fS )N<   i  )secondsdays)r   runtimeminutes	r_secondss       r   days_hours_minutes_secondsz)CallbackModule.days_hours_minutes_seconds&   s?    ??b(B.OOb(	||W__4gyHHr   c                 &    | j                  |       y r   )v2_playbook_on_stats)r   statss     r   playbook_on_statsz CallbackModule.playbook_on_stats+   s    !!%(r   c                     t        j                         }|| j                  z
  }| j                  j	                  d| j                  |      z         y )Nz;Playbook run took %s days, %s hours, %s minutes, %s seconds)r   r   r   _displaydisplayr   )r   r   end_timer   s       r   r   z#CallbackModule.v2_playbook_on_stats.   sO    ??$T__,[_c_~_~  @G  `H  I  	Jr   )__name__
__module____qualname____doc__CALLBACK_VERSIONCALLBACK_TYPECALLBACK_NAMECALLBACK_NEEDS_WHITELISTr   r   r    r   __classcell__)r   s   @r   r	   r	      s6     M)M#,I
)Jr   r	   N)
__future__r   r   r   type__metaclass__DOCUMENTATIONr   ansible.plugins.callbackr   r	    r   r   <module>r4      s0   
 C B  1J\ Jr   