403Webshell
Server IP : 159.203.156.69  /  Your IP : 216.73.216.28
Web Server : nginx/1.24.0
System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/make_mime.cpython-312.pyc
�

�t�h��T�dZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
ddlmZdZ
eje�ZdZd	�Zd
efd�Z	dde
ej*d
ej*fd�Zdded
e	efd�Zdedej2d
efd�Zd�Zedk(rej:e��yy)z0Generate multi-part mime messages for user-data.�N)�
MIMEMultipart)�MIMEText)�List�Optional)�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||tj��}|jdd|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�%�%��textc��	|jdd�\}}t|d�||j�fS#t$r}t	j
dd|z�|�d}~wwxYw)z@Return file content type by reading the first line of the input.�:r	�rNzInvalid value for %r)�split�open�strip�
ValueError�argparse�
ArgumentError)r#rr�es    r �file_content_typer./sj���!%���C��!3���,��X�s�#�X�|�/A�/A�/C�D�D�����$�$��(�D�1�
��	���s�14�	A�A�A�parser�returnc
���|stj�}t|_t|_|j
dddtdgdd��|j
dd	d
dd�
�|j
ddd
dd�
�|S)aBuild 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--attachrrz<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.)r4r5r7z-fz--forcez$Ignore unknown content-type warnings)r+�ArgumentParser�__doc__�description�EPILOG�epilog�add_argumentr.)r/s r �
get_parserr?:s�����(�(�*�� �F���F�M�
�����
�
���'�
B��	��������
5����������
3����Mr"�strip_prefixc	��ttj�D�cgc]}|r|jdd�n|��c}�Scc}w)z�Return a list of cloud-init supported content types.  Optionally
    strip out the leading 'text/' of the type if strip_prefix=True.
    ztext/�)�sortedr�values�replace)r@�ctypes  r rrdsI���-�3�3�5�	
��+7�E�M�M�'�2�&�E�A�	
����	
s�A�name�argsc��|jr%tdjtd����yt	|j
�\}}|rh|jrdnd}|D]'}tjj|�d|�d���)tjjd�|jsy	t|�y)
a<Create a multi-part MIME archive for use as user-data.  Optionally
       print out the list of supported content types of cloud-init.

    Also setup CLI log handlers to report to stderr since this is a development
    utility which should be run by a human on the CLI.

    @return 0 on success, 1 on failure.
    �
T)r@r�WARNING�ERRORz: z-Invalid content-types, override with --force
r	)
�
list_types�print�joinrr!r�forcer�stderr�write)rGrHrr�level�errors      r �handle_argsrUps������
�d�i�i�)�t�<�=�>��2�4�:�:�>���f�
�!�Z�Z�	�W���	4�E��J�J����w�b���r�2�3�	4��
�
���I�J��z�z��	�
��r"c�R�t�j�}tt|�S�N)r?�
parse_argsrU�NAME)rHs r �mainrZ�s���<�"�"�$�D��t�T�"�"r"�__main__rW)F)r:r+�loggingr�email.mime.multipartr�email.mime.textr�typingrr�cloudinit.handlersrrY�	getLogger�__name__�LOGr<r!�strr.r9r?�boolr�	Namespace�intrUrZ�exit�r"r �<module>rjs���
7���
�.�$�!�2����g����!��-��&�.�C��15�'��X�,�,�-�'�
���'�T	�D�	�T�#�Y�	�
�c�
��!3�!3�
��
�2#�
�z���C�H�H�T�V��r"

Youez - 2016 - github.com/yon3zu
LinuXploit