
    x[h                         S SK r S SKrS SKJrJrJr  S SKJr  \ R                  " \	5      r
 " S S\R                  5      rg)    N)handlerssubputil)
PER_ALWAYSc                   ,    \ rS rSrS/rS rS rS rSrg)BootHookPartHandler   z#cloud-boothookc                     [         R                  R                  U [        5        UR	                  S5      U l        S U l        U(       a  UR                  5       U l        g g )N	boothooks)r   Handler__init__r   	get_ipathboothook_dirinstance_idget_instance_id)selfpaths
datasource_kwargss       >/usr/lib/python3/dist-packages/cloudinit/handlers/boot_hook.pyr   BootHookPartHandler.__init__   sJ    !!$
3!OOK8)99;D     c                 <   [         R                  " U5      n[        R                  R	                  U R
                  U5      n[         R                  " [         R                  " U5      U R                  S   S9n[         R                  " X4R                  5       S5        U$ )Nr   )prefixi  )r   clean_filenameospathjoinr   strip_prefix_suffixdos2unixprefixes
write_filelstrip)r   payloadfilenamefilepathcontentss        r   _write_partBootHookPartHandler._write_part    so    &&x077<< 1 18<++MM'"4==+;
 	//"3U;r   c                    U[         R                  ;   a  g U R                  XC5      n U R                  (       a  S[	        U R                  5      0O0 n[
        R                  S5        [        R                  " U/USS9  g ! [        R                   a    [        R                  " [
        SU5         g [         a    [        R                  " [
        SU5         g f = f)NINSTANCE_IDzExecuting boothookF)
update_envcapturez#Boothooks script %s execution errorz'Boothooks unknown error when running %s)r   CONTENT_SIGNALSr(   r   strLOGdebugr   ProcessExecutionErrorr   logexc	Exception)r   datactyper%   r$   	frequencyr&   envs           r   handle_partBootHookPartHandler.handle_part)   s    H,,,##G6	 ## D$4$4 56 
 II*+IIxjS%@)) 	NKKBHM 	KK>	s   AA? ?0C1%CC)r   r   N)	__name__
__module____qualname____firstlineno__r!   r   r(   r9   __static_attributes__ r   r   r   r      s     ""H<r   r   )loggingr   	cloudinitr   r   r   cloudinit.settingsr   	getLoggerr;   r0   r   r   r@   r   r   <module>rE      s8     	 * * )!'(** 'r   