3
\me@ @ s d dl Z d dlZd dlmZ d dlmZ d dlmZmZm Z e j
eZedede diZ
dd Zd
d Zdd
ZG dd deZdS ) N)util)Handler)
PER_ALWAYSPER_INSTANCEPER_ONCEzper-bootzper-instancezper-oncec C s dt | }|S )Nztext/x-shellscript-)path_map)freqZ mime_type r //usr/lib/python3.6/shell_script_by_frequency.pyget_mime_type_by_frequency s r c C s t | }tjj||}|S )z]Return the frequency-specific subfolder for a given frequency constant
and parent folder.)r ospathjoin)r scripts_dirZfreqPathfolderr r r
get_script_folder_by_frequency s r c C sJ t jj| }tj|}t||}t jj||}tj|}tj||d dS )z|Given a filename, a payload, a frequency, and a scripts folder, write
the payload to the correct frequency-specific pathi N) r r
basenamer clean_filenamer r Zdos2unixZ
write_file)script_pathpayload frequencyr filenamer r
r r r
write_script_by_frequency# s
r c @ s e Zd ZdZdd Zdd ZdS )ShellScriptByFreqPartHandlerz=Common base class for the frequency-specific script handlers.c K sF t j| t t|g| _|| _|jd| _d|krB|j|d | _d S )Nscriptsr )r __init__r r prefixesscript_frequencyZ get_cpathr )selfr pathsZ_kwargsr r r
r 1 s z%ShellScriptByFreqPartHandler.__init__c C s4 |d k r0t jj|}tj|}t||| j| j d S )N)r r
r r r r r r )r dataZctyper r r r r r r
handle_part9 s
z(ShellScriptByFreqPartHandler.handle_partN)__name__
__module____qualname____doc__r r! r r r r
r . s r )Zloggingr Z cloudinitr Zcloudinit.handlersr Zcloudinit.settingsr r r Z getLoggerr" ZLOGr r r r r r r r r