%PDF- %PDF-
Direktori : /lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/ |
Current File : //lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/make_mime.cpython-312.pyc |
� x[hZ � �� � d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z dZ ej e� Z dZd� Zd � Zdd �Zdd�Zd� Zd � Zedk( r ej* e� � yy)z0Generate multi-part mime messages for user-data.� N)� MIMEMultipart)�MIMEText)�INCLUSION_TYPES_MAPz make-mimezUExample: make-mime -a config.yaml:cloud-config -a script.sh:x-shellscript > user-datac � � g }g }t | � D ]� \ }\ }}}|j � }t ||t j � � }|j dd|z � |j � j � } | t � vrd| �d|dz �d�} |j | � |j |� �� t � }|D ] } |j | � � ||fS )NzContent-Dispositionzattachment; filename="%s"z content type z for attachment � z may be incorrect!)� enumerate�readr �sys�getdefaultencoding� add_header�get_content_type�lower�get_content_types�appendr �attach)�files�sub_messages�errors�i�fh�filename�format_type�contents�sub_message�content_type�msg�combined_messages �?/usr/lib/python3/dist-packages/cloudinit/cmd/devel/make_mime.py�create_mime_messager s� � ��L� �F�*3�E�*:� )�&��&�B��+��7�7�9���x��c�6L�6L�6N�O�����!�#>�(�#K� � #�3�3�5�;�;�=���0�2�2���A���C� �M�M�#�����K�(� )� %���� %������$�%��f�%�%� c � � | j dd� \ }}t |d� ||j � fS # t $ r}t j | d| z � |�d}~ww xY w)z@Return file content type by reading the first line of the input.�:r �rzInvalid value for %rN)�split�open�strip� ValueError�argparse� ArgumentError)�textr r �es r �file_content_typer, . sj � ��!%���C��!3���,��X�s�#�X�|�/A�/A�/C�D�D��� ��$�$��(�D�1� �� ���s �14 � A�A�Ac �� � | st j � } t | _ t | _ | j dddt dg dd�� | j dd d dd� � | j ddd dd� � | S )a Build or extend and arg parser for make-mime utility. @param parser: Optional existing ArgumentParser instance representing the subcommand which will be extended to support the args of this utility. @returns: ArgumentParser with proper argument configuration. z-az--attachr r z<file>:<content-type>z3attach the given file as the specified content-type)�dest�type�action�default�metavar�helpz-lz--list-types� store_trueFz&List support cloud-init content types.)r0 r1 r3 z-fz--forcez$Ignore unknown content-type warnings)r( �ArgumentParser�__doc__�description�EPILOG�epilog�add_argumentr, )�parsers r � get_parserr<