o
    x[hÝ
  ã                
   @   s    U d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ e e¡Zd	d
dgeg dœZe
ed< dededededdf
dd„ZdS )z=Byobu: Enable/disable byobu system wide and for default user.é    N)ÚsubpÚutil)ÚCloud)ÚConfig)Ú
MetaSchema)Úug_util)ÚPER_INSTANCEÚcc_byobuÚubuntuÚdebian)ÚidÚdistrosÚ	frequencyÚactivate_by_schema_keysÚmetaÚnameÚcfgÚcloudÚargsÚreturnc                 C   sl  |r|d }nt  |dd¡}|st d| ¡ d S t d¡s$|j dg¡ |dks,|dkr0d| }d	}||vr<t d
|¡ | 	d¡}| 	d¡}| 
d¡rRd}d}	d}n|dkrZd}d}d}d}	d}
|r‡t ||j¡\}}t |¡\}}|s{t d|¡ n|
d||f 7 }
|
d7 }
|r—|
d|	 7 }
|
d7 }
|
d7 }
t|
ƒr´dddd|
df g}t d|¡ tj|dd � d S d S )!Nr   Úbyobu_by_defaultÚ z1Skipping module named %s, no 'byobu' values foundÚbyobuÚuserÚsystemz	enable-%s)zenable-userzenable-systemÚenablezdisable-userzdisable-systemÚdisablez%Unknown value %s for byobu_by_defaultz-userz-systemr   Úinstallz*byobu byobu/launch-by-default boolean trueTr   Ú	uninstallz+byobu byobu/launch-by-default boolean falsezFNo default byobu user provided, can not launch %s for the default userz  sudo -Hu "%s" byobu-launcher-%sz || X=$(($X+1)); z"echo "%s" | debconf-set-selectionsz4 && dpkg-reconfigure byobu --frontend=noninteractivez/bin/shz-cz%s %s %szX=0;zexit $XzSetting byobu to %sF)Úcapture)r   Úget_cfg_option_strÚLOGÚdebugr   ÚwhichÚdistroÚinstall_packagesÚwarningÚendswithÚ
startswithr   Únormalize_users_groupsÚextract_defaultÚlen)r   r   r   r   ÚvalueÚvalidÚmod_userÚmod_sysÚbl_instÚdc_valÚshcmdÚusersÚ_groupsr   Ú_user_configÚcmd© r7   ú;/usr/lib/python3/dist-packages/cloudinit/config/cc_byobu.pyÚhandle   sX   




ýýr9   )Ú__doc__ÚloggingÚ	cloudinitr   r   Úcloudinit.cloudr   Úcloudinit.configr   Úcloudinit.config.schemar   Úcloudinit.distrosr   Úcloudinit.settingsr   Ú	getLoggerÚ__name__r!   r   Ú__annotations__ÚstrÚlistr9   r7   r7   r7   r8   Ú<module>   s   
ü"