
    /I_`	                         S SK r S SKr S SK7  S SKJr  S SK7  S SKJs  Jr  S r " S S\5      rg! \	\
4 a    S SK7  S SKJr  S SK7  S SKJr   N/f = f)    N)*)utilsc                    ^  U 4S jnU$ )Nc                     > [         R                   " 5       nT" U 0 UD6n[        [        T5      5        [        [         R                   " 5       U-
  5        U$ )N)timeprintstr)argskwargs
started_atresultfuncs       0/usr/share/ifupdown2/ifupdownaddons/utilsbase.pywrapprofile.<locals>.wrap   sA    YY[
t&v&c$ityy{Z')     )r   r   s   ` r   profiler      s     Kr   c                   <    \ rS rSrSrS rS rS rS rS r	S r
S	rg
)	utilsBase!   z(Base class for ifupdown addon utilities c                 l    U R                   R                  n[        R                  " SU-   5      U l        g )Nz	ifupdown.)	__class____name__logging	getLoggerlogger)selfr
   kargs
modulenames       r   __init__utilsBase.__init__$   s(    ^^,,
''j(@Ar   c                     U R                   R                  SU-  SU-  -   5        [        R                  R                  (       a  g[        US5       nUR                  U5        S S S 5        g! , (       d  f       g= f! [         a:  nU R                   R                  SU-  S-   [        U5      -   S-   5         S nAgS nAff = f)	Nzwriting '%s'z to file %sr   wzerror writing to file %s())
r   infoifupdownflagsflagsDRYRUNopenwriteIOErrorwarningr	   )r   filenamestrexprfes        r   
write_fileutilsBase.write_file(   s    
	KK-w6x'( )""))h$  %  %$ 	  	KK :!! "%a&!)+.!/ 0	s<   AA> A> A-$A> -
A;7A> ;A> >
C0B==Cc                      U R                   R                  SU-  5        [        US5       nUR                  5       sS S S 5        $ ! , (       d  f       g = f! [         a     g f = f)Nreading '%s'r)r   debugr,   	readlines	Exceptionr   r0   r2   s      r   	read_fileutilsBase.read_file6   sX    	KK.89h${{} %$$   		s-   *A A	A 
AA A 
A$#A$c                      U R                   R                  SU-  5        [        US5       nUR                  5       R	                  S5      sS S S 5        $ ! , (       d  f       g = f! [
         a     g f = f)Nr7   r8   
)r   r9   r,   readlinestripr;   r<   s      r   read_file_onelineutilsBase.read_file_oneline?   sc    	KK.89h$zz|))$/ %$$   		s.   *A& A	A& 
A#A& #A& &
A32A3c                 b    [         R                  " [         R                  < SU< SU< 35        g )N =)r   exec_command
sysctl_cmd)r   variablevalues      r   
sysctl_setutilsBase.sysctl_setH   s#    !,,h? 	@r   c                     [         R                  " [         R                  < SU< 35      R                  S5      S   R	                  5       $ )NrF   rG      )r   rH   rI   splitrB   )r   rJ   s     r   
sysctl_getutilsBase.sysctl_getL   s>    !!#(#3#3#+#- ..3eCj<<AEG	Dr   )r   N)r   
__module____qualname____firstlineno____doc__r!   r4   r=   rC   rL   rQ   __static_attributes__r   r   r   r   r   !   s&    3B@Dr   r   )r   r   ifupdown2.ifupdown.ifaceifupdown2.ifupdown.utilsr   ifupdown2.ifupdownaddons.cache ifupdown2.ifupdown.ifupdownflagsifupdownr)   ImportErrorModuleNotFoundErrorifupdown.ifaceifupdown.utilsifupdownaddons.cacheifupdown.ifupdownflagsr   objectr   r   r   r   <module>rd      sW     3*.0<<.D .D# 	() 3 $&23s   2 AA