
    Jhd                         d dl Z d dlZ	 d dlmZmZ d dlmZ n# e$ r d dlmZmZ d dl	mZ Y nw xY w ej
                     	 d dlmc mZ d dlmZ ee_        d dlmZmZ d dlmZ d dlmZmZ n<# e$ r4 d dlmZ  ed          j        e_        d dlmZmZ d dlmZ d dlmZmZ Y nw xY wd	 Zd
 Zd Zd Z e!dk    rA	  ej"         e                        dS # e#$ r  ej"        ej        j$                   Y dS w xY wdS )    N)
LogManagerroot_logger)Status)__version__)ExitWithStatusExitWithStatusAndError)Client)ArgvParseHelpArgvParseError__init__c                      	 t          t          j                  5 } d|                                 v cddd           S # 1 swxY w Y   dS # t          $ r Y dS w xY w)z= Check ifupdown2 config to see if we should start the client zuse_daemon=yesNF)openconfigIFUPDOWN2_CONF_PATHread	Exception)fs     /usr/share/ifupdown2/__main__.pydaemon_moder   =   s    &,-- 	0#qvvxx/	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0   uus1   A >A AA AA 
AAc                      	 t          t          j                                                  } nP# t          $ r*}t          j        |j                   |j        } Y d }~n!d }~wt          $ r}|j        } Y d }~nd }~ww xY w| S )N)
r	   sysargvrunr   r   errormessagestatusr   )r   es     r   clientr   F   s    !!%%''!   !)$$$   Ms    +. 
A; AA;*A66A;c                     t           j        d                             d          s8t          j                    dk    r!t           j                            d           dS 	 ddlm}  ddl	m
}m} n# t          $ r ddlm}  ddlm
}m} Y nw xY w | dt          j                              }	 |                    t           j                   t!          j                                        |j                   ny# t(          $ r`}t!          j                                                                        t/          |                     t0          j        j        cY d }~S d }~wt6          $ r Y dS w xY w	 |                                }	 |                                r&|                                                                 ny# |$ r t0          j        j        }Y naw xY w# 	 |                                r'|                                                                 w w # |$ r t0          j        j        }Y w w xY wxY wt!          j                                        d	|z             |dk    r%t!          j                                                      |S )
Nr   queryz!must be root to run this command
   )	Ifupdown2)NetlinkListenerWithCache+NetlinkListenerWithCacheErrorNotInitializedF)daemonuidzexit status %s)!r   r   endswithosgeteuidstderrwriteifupdown2.ifupdown.mainr"   ifupdown2.lib.nlcacher#   r$   r   ifupdown.mainlib.nlcache
parse_argvr   get_instancestart_standalone_loggingargsr   r   r   strr   r	   STATUS_ARGV_ERRORr
   mainis_initcleanupSTATUS_NLERRORreport_error_to_systemd)r"   r#   r$   	ifupdown2r   r   s         r   stand_aloner<   Q   s   8A;(( RZ\\Q->->
=>>>qf555555ooooooooo f f f++++++eeeeeeeeeef 	BJLL999I	SX&&&!!::9>JJJJ / / /!!--//55c!ff===}.......    qq2!!	2'//11 B(5577??AAA: 	2 	2 	2]1FFF	2	2'//11 B(5577??AAAAB: 	2 	2 	2]1FFF	2##$4v$=>>>{{!!99;;;Msz   A. .B	B	+A
C6 6
E, AEE,E,+E,0G :G   GGH6:HH6H30H62H33H6c                  `   	 t                      rt                      S t                      S # t          $ r t          j        j        cY S t          $ r t          j        j        cY S t          $ r?} t          j        dt          |           z             t          j        j        cY d } ~ S d } ~ ww xY w)Nzmain: %s)r   r   r<   r
   r   r	   STATUS_SUCCESSKeyboardInterruptSTATUS_KEYBOARD_INTERRUPTr   r   	exceptionr4   STATUS_EXCEPTION_MAIN)r   s    r   r6   r6   v   s    3== 	!88O==  , , ,}++++ 7 7 7}6666 3 3 3j3q661222}22222223s+   , , B-	B-%	B-.4B("B-(B-__main__)%r(   r   ifupdown2.lib.logr   r   ifupdown2.lib.statusr   r   lib.log
lib.statusr1   ifupdown2.ifupdown.configifupdownr   r;   r   ifupdown2.lib.exceptionsr   r   ifupdown2.ifupdown.clientr	   ifupdown2.ifupdown.exceptionsr
   r   ifupdown.config
__import__lib.exceptionsifupdown.clientifupdown.exceptionsr   r   r<   r6   __name__exitr?   r@        r   <module>rV      sg  4 
			 



"99999999+++++++ " " "////////!!!!!!!!"
 
    B.........%%%%%%$FOOOOOOOO000000KKKKKKKKK B B B$$$$$$#J//;FEEEEEEEE&&&&&&AAAAAAAAAAB    " " "J3 3 3 z: : : :8999999: s0    //,A/ /6B('B(>C C;:C;