<s> '''<STR_LIT>''' <EOL> from __future__ import absolute_import <EOL> import yaml <EOL> import shlex <EOL> import salt . utils <EOL> def mksls ( src , dst = None ) : <EOL> '''<STR_LIT>''' <EOL> ps_opts = { } <EOL> with salt . utils . fopen ( src , '<STR_LIT:r>' ) as fh_ : <EOL> for line in fh_ : <EOL> if line . startswith ( '<STR_LIT:#>' ) : <EOL> continue <EOL> if not line . strip ( ) : <EOL> continue <EOL> comps = shlex . split ( line ) <EOL> if comps [ <NUM_LIT:0> ] not in ps_opts . keys ( ) : <EOL> ps_opts [ comps [ <NUM_LIT:0> ] ] = { } <EOL> cmds = comps [ <NUM_LIT:1> ] . split ( '<STR_LIT:/>' ) <EOL> pointer = ps_opts [ comps [ <NUM_LIT:0> ] ] <EOL> for cmd in cmds : <EOL> pointer = pointer . setdefault ( cmd , { } ) <EOL> pointer [ '<STR_LIT:type>' ] = comps [ <NUM_LIT:2> ] <EOL> if len ( comps ) > <NUM_LIT:3> : <EOL> pointer [ '<STR_LIT>' ] = comps [ <NUM_LIT:3> ] <EOL> sls = { } <EOL> sls [ ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] ] = { <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] <EOL> } <EOL> sls [ ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] ] = { <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] <EOL> } <EOL> timezone = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT:time>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> sls [ timezone ] = { '<STR_LIT>' : [ '<STR_LIT>' ] } <EOL> if ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] == '<STR_LIT:true>' : <EOL> sls [ timezone ] [ '<STR_LIT>' ] . append ( '<STR_LIT>' ) <EOL> if '<STR_LIT>' in ps_opts [ '<STR_LIT>' ] . keys ( ) : <EOL> iface = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> sls [ iface ] = { } <EOL> sls [ iface ] [ '<STR_LIT>' ] = True <EOL> if ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] == '<STR_LIT:true>' : <EOL> sls [ iface ] [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> elif ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] == '<STR_LIT:false>' : <EOL> sls [ iface ] [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> sls [ iface ] [ '<STR_LIT>' ] = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> sls [ iface ] [ '<STR_LIT>' ] = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> sls [ iface ] [ '<STR_LIT>' ] = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> sls [ iface ] [ '<STR_LIT>' ] = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> sls [ iface ] [ '<STR_LIT>' ] = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> sls [ iface ] [ '<STR_LIT>' ] = ps_opts [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> if dst is not None : <EOL> with salt . utils . fopen ( dst , '<STR_LIT:w>' ) as fh_ : <EOL> fh_ . write ( yaml . safe_dump ( sls , default_flow_style = False ) ) <EOL> else : <EOL> return yaml . safe_dump ( sls , default_flow_style = False ) </s>
