
    ~f                      f    d Z ddlZddlZddlZddlZddlZddlmZ  G d dej                        Z	y)znetplan generate command line    N   )utilsc                   *     e Zd Z fdZd Zd Z xZS )NetplanGeneratec                 *    t         |   ddd       y )NgeneratezFGenerate backend specific configuration files from /etc/netplan/*.yamlT)
command_iddescriptionleaf)super__init__)self	__class__s    7/usr/share/netplan/netplan_cli/cli/commands/generate.pyr   zNetplanGenerate.__init__   s     J&A" 	 	$    c                     | j                   j                  dd       | j                   j                  dd       | j                  | _        | j	                          | j                          y )N
--root-dirzOSearch for and generate configuration files in this root directory instead of /)help	--mappingzFDisplay the netplan device ID/backend/interface name mapping and exit.)parseradd_argumentcommand_generatefunc
parse_argsrun_command)r   s    r   runzNetplanGenerate.run%   sa      &w 	! 	y  &n 	! 	p ))	r   c           
         dt         j                  v rct        j                  d      }|t	        d      t        j                  |ddddddd	g      }|d
k7  r|dk(  rt        d      t	        d|z        y t        j                         g}| j                  r|d| j                  gz  }| j                  r|d| j                  gz  }t        j                  d|       t        j                  |      }	 t        j                          t#        j$                  |       y # t
        j                  $ r}t        j                   |       Y d }~Cd }~ww xY w)NSNAPbusctlzmissing busctl utilitycallz--quietz--systemzio.netplan.Netplanz/io/netplan/NetplanGenerater      z8PermissionError: failed to communicate with dbus servicez?RuntimeError: failed to communicate with dbus service: error %sr   r   zcommand generate: running %s)osenvironshutilwhichRuntimeError
subprocessr    PermissionErrorr   get_generator_pathroot_dirmappingloggingdebugsystemctl_daemon_reloadCalledProcessErrorwarningsysexit)r   r   resargves        r   r   z NetplanGenerate.command_generate0   s@   RZZ \\(+F~"#;<< //669j#7#8#7#-	#% &C ax#:)RT T 'Y\__a a ((*+==\4==11D<<[$,,//D4d;ood#	))+ 	 ,, 	OOA	s   1D E.EE)__name__
__module____qualname__r   r   r   __classcell__)r   s   @r   r   r      s    $	,r   r   )
__doc__r-   r#   r2   r(   r%    r   NetplanCommandr    r   r   <module>r?      s.   $ $  	 
   ?e** ?r   