o
    ¦®Øfr  ã                
   @   s¢   U d Z ddl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 e e¡ZdZd	Zd
ddgedgdœZe	ed< dededededdf
dd„Zdd„ ZdS )z)Apt Pipelining: configure apt pipelining.é    N)Úutil)ÚCloud)ÚConfig)Ú
MetaSchema)ÚPER_INSTANCEz+/etc/apt/apt.conf.d/90cloud-init-pipeliningzQ//Written by cloud-init per 'apt_pipelining'
Acquire::http::Pipeline-Depth "%s";
Úcc_apt_pipeliningÚubuntuÚdebianÚapt_pipelining)ÚidÚdistrosÚ	frequencyÚactivate_by_schema_keysÚmetaÚnameÚcfgÚcloudÚargsÚreturnc                 C   sv   |  dd¡}t|ƒ ¡  ¡ }|dkrtdttƒ d S |dv r d S |dd„ tdƒD ƒv r3t|ttƒ d S t d	|¡ d S )
Nr
   ÚosÚfalseÚ0)ÚnoneÚ	unchangedr   c                 S   s   g | ]}t |ƒ‘qS © )Ústr)Ú.0Úbr   r   úD/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_pipelining.pyÚ
<listcomp>-   s    zhandle.<locals>.<listcomp>é   z%Invalid option for apt_pipelining: %s)	Úgetr   ÚlowerÚstripÚwrite_apt_snippetÚLOGÚDEFAULT_FILEÚrangeÚwarning)r   r   r   r   Úapt_pipe_valueÚapt_pipe_value_sr   r   r   Úhandle%   s   r+   c                 C   s&   t |  }t ||¡ | d|| ¡ dS )z0Writes f_name with apt pipeline depth 'setting'.z+Wrote %s with apt pipeline depth setting %sN)ÚAPT_PIPE_TPLr   Ú
write_fileÚdebug)ÚsettingÚlogÚf_nameÚfile_contentsr   r   r   r$   3   s   r$   )Ú__doc__ÚloggingÚ	cloudinitr   Úcloudinit.cloudr   Úcloudinit.configr   Úcloudinit.config.schemar   Úcloudinit.settingsr   Ú	getLoggerÚ__name__r%   r&   r,   r   Ú__annotations__r   Úlistr+   r$   r   r   r   r   Ú<module>   s$   
ÿ
ü