Current File : //lib/python2.7/site-packages/cloudinit/subp.pyc
�
oB�]c@s.dZddlZeje�Zd�ZdS(s9Common utility functions for interacting with subprocess.i����NcCs)g}g}g}x�|D]�}t|t�rq|dd	krK|d}q�|d|kr�|jd|�q�nKt|t�r�|jd|�s�|j|�q�n|jt|��q|j|�qW|r�tjd||dj	|��n|r%t
djd|ddj	|����n|S(
s�Ensure user-provided commands start with base_command; warn otherwise.

    Each command is either a list or string. Perform the following:
       - If the command is a list, pop the first element if it is None
       - If the command is a list, insert base_command as the first element if
         not present.
       - When the command is a string not starting with 'base-command', warn.

    Allow flexibility to provide non-base-command environment/config setup if
    needed.

    @commands: List of commands. Each command element is a list or string.

    @return: List of 'fixed up' commands.
    @raise: TypeError on invalid config item type.
    iis%s s Non-%s commands in %s config:
%ss
sHInvalid {name} config. These commands are not a string or list:
{errors}tnameterrorsN(t
isinstancetlisttNonetinserttstrt
startswithtappendtLOGtwarningtjoint	TypeErrortformat(tbase_commandtcommandstwarningsRtfixed_commandstcommand((s2/usr/lib/python2.7/site-packages/cloudinit/subp.pytprepend_base_commands0

	(t__doc__tloggingt	getLoggert__name__R	R(((s2/usr/lib/python2.7/site-packages/cloudinit/subp.pyt<module>s