܍~c2 ddlZddlmZmZddlmZddlmZmZm Z ej e Z edede diZ dZd Zd ZGd d eZdS) N)logutil)Handler) PER_ALWAYS PER_INSTANCEPER_ONCEzper-bootz per-instancezper-oncec&dt|}|S)Nztext/x-shellscript-)path_map)freq mime_types N/usr/lib/python3/dist-packages/cloudinit/handlers/shell_script_by_frequency.pyget_mime_type_by_frequencyrs6htn66I c`t|}tj||}|S)z]Return the frequency-specific subfolder for a given frequency constant and parent folder.)r ospathjoin)r scripts_dirfreqPathfolders r get_script_folder_by_frequencyrs'~H W\\+x 0 0F Mrc tj|}tj|}t ||}tj||}tj|}tj||ddS)z|Given a filename, a payload, a frequency, and a scripts folder, write the payload to the correct frequency-specific pathiN) rrbasenamerclean_filenamerrdos2unix write_file) script_pathpayload frequencyrfilenamerrs r write_script_by_frequencyr!"svw ,,H"8,,H +I{ C CF 7<< ) )DmG$$GOD'5)))))rceZdZdZdZdZdS)ShellScriptByFreqPartHandlerz=Common base class for the frequency-specific script handlers.c tj|tt|g|_||_|d|_d|vr"||d|_dSdS)Nscriptsr)r__init__rrprefixesscript_frequency get_cpathr)selfr(paths_kwargss r r&z%ShellScriptByFreqPartHandler.__init__0svz***34DEEF 0 ??955 G # #$w}/EFFD    $ #rc|Qtj|}tj|}t |||j|jdSdS)N)rrrrrr!r(r)r*datactyperrrr s r handle_partz(ShellScriptByFreqPartHandler.handle_part8s`  "w'' 44H*844H %Wd&;T=M      # "rN)__name__ __module__ __qualname____doc__r&r0rr r#r#-s;GGGGGrr#)r cloudinitrrcloudinit.handlersrcloudinit.settingsrrr getLoggerr1LOGr rrr!r#r5rr r;s &&&&&&AAAAAAAAAAcmH . j  ***7r