관리-도구
편집 파일: async_wrapper.cpython-39.opt-1.pyc
a �)g�- � @ s< d dl mZmZmZ eZd dlZd dlZd dlZd dl Z d dl Z d dlZd dlZd dl Z d dlZd dlZd dlZd dlZd dlmZmZ ejd dkZe�de j�e� � e�ejdd�ejdd� � � e�� \ZZ d a!d d� Z"ddd �Z#dd� Z$dd� Z%dd� Z&dd� Z'dd� Z(dd� Z)dd� Z*e+dk�r8e*� dS )� )�absolute_import�division�print_functionN)�to_text�to_bytes� z ansible-%szInvoked with %s� � � c C s t � t j| � d S �N)�syslog� LOG_NOTICE)�msg� r �A/usr/lib/python3.9/site-packages/ansible/modules/async_wrapper.py�notice$ s r c C s. | d urt t�| �� tj�� t�|� d S r )�print�json�dumps�sys�stdout�flush�exit)�resZexit_msgr r r �end( s r c C s zt �� } | dkrt� W n: tyT t�� d }td|j|jf dd�d� Y n0 t �� t � t dd�� zt �� } | dkr�t� W n: ty� t�� d }td|j|jf dd�d� Y n0 td d �}t �|� � tj� � � t �|� � tj� � � t �|� � tj� � � d S )Nr r zfork #1 failed: %d (%s) T)r �failedZ022� zfork #2 failed: %d (%s) z /dev/null�w)�os�forkr �OSErrorr �exc_info�errno�strerror�setsid�umask�int�open�dup2�fileno�stdinr �stderr)�pid�eZdev_nullr r r �daemonize_self/ s( " " r. c C s� g }| � � }t|�D ]\}}|�� }|�d�r q<qtd��||d� }tt|��D ]\}}|�� �d�rT qxqTtd��|dkr�|t|�| d� }|�dd� |� � |dt|�| � }d� |�|fS ) a\ Used to filter unrelated output around module JSON output, like messages from tcagetattr, or where dropbear spews MOTD on every single command (which is nuts). Filters leading lines before first line-starting occurrence of '{', and filter all trailing lines after matching close character (working from the bottom of output). �{zNo start of json char foundN�}zNo end of json char foundr z2Module invocation had junk after the JSON data: %s� ) � splitlines� enumerate�strip� startswith� ValueError�reversed�endswith�len�append�join)�data�warnings�lines�start�lineZreverse_end_offsetZ trailing_junkr r r �_filter_non_json_linesP s"