ó oBú]c@sødZddlZddlZddlZddlZddlmZddlmZ ddlm Z ddl m Z mZddlmZmZmZmZddl mZd Zdd „Zd „Zed krôeƒjƒZeeeƒndS( s(Debug network config format conversions.iÿÿÿÿN(t openstack(tDataSourceAzure(t DataSourceOVF(tdistrostsafeyaml(tenitnetplant network_statet sysconfig(tlogs net-convertc Cs9|s!tjdtdtƒ}n|jdddtdddtƒ|jd d d d d dddgdtƒ|jdddddddtƒ|jddd gtjj ƒD]}|D] }|^q¹q¯dtƒ|jddddddddƒ|jdddddƒ|jd d!d d d"d#gdtƒ|S($sBuild or extend and arg parser for net-convert utility. @param parser: Optional existing ArgumentParser instance representing the subcommand which will be extended to support the args of this utility. @returns: ArgumentParser with proper argument configuration. tprogt descriptions-ps--network-datattypetmetavartPATHtrequireds-ks--kindtchoicesRsnetwork_data.jsontyamls azure-imdss vmware-imcs-ds --directorythelpsdirectory to place output ins-Ds--distros-ms--macsname,mactactiontappendsinterface name to mac mappings--debugt store_truesenable debug logging to stderr.s-Os --output-kindRR( targparsetArgumentParsertNAMEt__doc__t add_argumenttopentTrueRt OSFAMILIEStvalues(tparsertsublisttitem((sC/usr/lib/python2.7/site-packages/cloudinit/cmd/devel/net_convert.pyt get_parsers6   cCs¬|jjdƒs$|jd7_ntjj|jƒsLtj|jƒn|jrktjdtj ƒntjdtj ƒ|j rÆi}x<|j D](}|j ddƒ\}}|||s     " % J