�
�Udac @` s� d d l m Z m Z m Z e Z d 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 m Z d d l m Z d e f d
� � YZ d S( i ( t absolute_importt divisiont print_functionsf
callback: unixy
type: stdout
author: Allyson Bowles <@akatch>
short_description: condensed Ansible output
version_added: 2.5
description:
- Consolidated Ansible output in the style of LINUX/UNIX startup logs.
extends_documentation_fragment:
- default_callback
requirements:
- set as stdout in configuration
( t basename( t constants( t context( t to_text( t colorizet hostcolor( t CallbackModuleR c B` s� e Z d Z d Z d Z d Z d � Z d � Z d � Z d � Z d � Z
d � Z d
� Z e
d � Z e
d � Z d
e j d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z RS( s�
Design goals:
- Print consolidated output that looks like a *NIX startup log
- Defaults should avoid displaying unnecessary information wherever possible
TODOs:
- Only display task names if the task runs on at least one host
- Add option to display all hostnames on a single line in the appropriate result color (failures may have a separate line)
- Consolidate stats display
- Display whether run is in --check mode
- Don't show play name if no hosts found
g @t stdoutt unixyc C` s. | j j d k s! d | j k o- d | j k S( Ni t _ansible_verbose_alwayst _ansible_verbose_override( t _displayt verbosityt _result( t selft result( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt _run_is_verbose2 s c C` sN d | _ | j � j � j d � } | d } | j d � rA d S| | _ d S( Ns : i����t include( t Nonet task_display_namet get_namet stript splitt
startswith( R t taskt display_nameR ( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt _get_task_display_name5 s
c C` sE | j j d d � | _ | j | j d | j �| j | j � d S( Nt _ansible_delegated_varst
use_stderr( R t getR t delegated_varst _handle_exceptiont display_failed_stderrt _handle_warnings( R R ( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt _preprocess_result? s c C` s2 | j j � } d | | f } | j | � rW d | | | j | j d d �f } | S| j r� | j d } d | | | f } n | j j d � r� | j j d � d k r� | d t | j j d � � 7} n | j j d
� r� | d | j j d
� 7} n | j j d � r.| d
| j j d � 7} n | S( Ns %s %ss %s %s: %st indenti t ansible_hosts %s -> %s %st msgs All items completeds | msg: R
s | stdout: t stderrs | stderr: ( t _hostR R t
_dump_resultsR R! R R ( R R R( t task_hostt task_resultt task_delegate_host( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt _process_result_outputD s %
*#c C` s: | j | � | j d k r6 | j j d | j � n d S( Ns %s...( R R R R t display( R R t is_conditional( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt v2_playbook_on_task_start[ s
c C` s: | j | � | j d k r6 | j j d | j � n d S( Ns %s (via handler)... ( R R R R R0 ( R R ( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt! v2_playbook_on_handler_task_start` s
c C` sZ | j � j � } | r@ | j r@ d | d j | j � f } n d } | j j | � d S( Nu
- %s on hosts: %s -t ,u ---( R R t hostst joinR R0 ( R t playt nameR( ( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt v2_playbook_on_play_starte s
c C` sY | j rQ | j | � t j } d } | j | | � } | j j d | | � n d Sd S( Nt skippeds ( t display_skipped_hostsR% t Ct
COLOR_SKIPR/ R R0 ( R R t
ignore_errorst
display_colorR( R- ( ( sB /usr/lib/python2.7/site-packages/ansible/plugins/callback/unixy.pyt v2_runner_on_skippedn s
c C` s~ | j | � t j } d } | j | j � } | rH | d | f 7} n | j | | � } | j j d | | d | j �d S( Nt faileds | item: %ss R) ( R% R<