ó 'KXc@s‰ddljZddljjZddlZddlZddlmZdd„Z d„Z d„Z d„Z d„Z d d „ZdS( iÿÿÿÿN(t PrettyTabletc Cs“d}tjddgƒ\}}i}x t|ƒjƒD]÷}t|ƒdkrXq:n|ddkr·|jƒdjd d ƒ}itd 6||/opt/freeware/lib/python2.7/site-packages/cloudinit/netinfo.pyt netdev_infosp    "#   c Csðtjddgƒ\}}g}|jƒd}x¸|D]°}| s8d|krWq8n|jƒ}t|ƒdks8|ddks8|ddks8|dd ks8|dd ks8|dd krËq8nd |dkrî|jdd ƒnt|ƒdkr5|jd ƒ|jd ƒ|d|d/opt/freeware/lib/python2.7/site-packages/cloudinit/netinfo.pyt route_infohsB  "            cCsag}y tƒ}WnnXx=|D]5}|djdƒdkr$d|d|dfSq$WdS(NRBtGis%s[%s]R@RF(RQtfindtNone(RNtr((s>/opt/freeware/lib/python2.7/site-packages/cloudinit/netinfo.pyt getgateway›s  c Cs1g}ytddƒ}Wn3tk rN|jtjdddƒƒd}nX|dk r$dddd d d g}t|ƒ}xM|jƒD]?\}}|j||d |d |d|d|dgƒqŒW|j ƒ}t t |j ƒdt ƒƒ}tjdd|ƒ}|j ||gƒndj|ƒS(NR%t.sNet device info failedt!iPtDevicetUptAddresstMasks Hw-AddresssIPv6 AddressesR RRRRtkeysNet device infot+s (R6t ExceptionR#RtcenterRTRR$tadd_rowt get_stringRtmaxRtextendtjoin( tlinestnetdevR&ttblR5tdtnetdev_stmax_lentheader((s>/opt/freeware/lib/python2.7/site-packages/cloudinit/netinfo.pytnetdev_pformat§s$     % c CsFg}y tƒ}Wn3tk rH|jtjdddƒƒd}nX|dk r9dddddd g}t|ƒ}xYt|ƒD]K\}}t|ƒ}|j ||d |d |d |d |dgƒq†W|j ƒ}|rt t |j ƒdt ƒƒ}nd}tjdd|ƒ} |j| |gƒndj|ƒS(NsRoute info failedRXiPtRouteR9tGatewaytGenmaskt InterfacetFlagsR?R@RARFRBR]s Route infoR^s (RQR_R#RR`RTRt enumerateRRaRbRRcRRdRe( RfRNR&RhtnRUtroute_idtroute_sRkRl((s>/opt/freeware/lib/python2.7/site-packages/cloudinit/netinfo.pyt route_pformat¼s,        !s ci-info: cCs­g}tƒjƒ}|rFx5|D]}|jd||fƒq"Wn |j|ƒtƒjƒ}|r“x5|D]}|jd||fƒqoWn |j|ƒdj|ƒS(Ns%s%ss (RmRR#RdRwRe(tprefixRft netdev_linesR*t route_lines((s>/opt/freeware/lib/python2.7/site-packages/cloudinit/netinfo.pyt debug_infoÚs    (tcloudinit.utilRtcloudinit.distros.aix_utiltdistrosRKRHRt prettytableRR6RQRVRmRwR{(((s>/opt/freeware/lib/python2.7/site-packages/cloudinit/netinfo.pyts   I 3