3 \me\' @ s d dl Z d dlZd dlmZ d dlmZmZmZ d dlm Z d dl mZ d dlm Z e jeZdZdZd ZG d d dejZdd dZedfddZdddZdddZdS ) N)List)distrossubputil)Apt)PackageManager)HostnameConfa8 # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} z'/etc/network/interfaces.d/50-cloud-initz/etc/default/localec s e Zd ZdZdddZed eded edd dZ fd dZdd Zd'ddZ fddZ dd Zdd Zdd Z d(ddZdd Zdd Zd)d d!Zd"d# Zeeeed$d%d&Z ZS )*Distroz /etc/hostnamez'/etc/network/interfaces.d/50-cloud-initz/etc/netplan/50-cloud-init.yaml)eninetplanr )Zeni_pathZ eni_headerr T)Znetplan_pathZnetplan_headerZpostcmdsc s@ t j||| d| _d| _d | _tj| j|| _| jg| _ d S )NZdebianzC.UTF-8) super__init__Zosfamilydefault_locale system_localer Zfrom_configZ_runneraptZpackage_managers)selfnameZcfgpaths) __class__ /usr/lib/python3.6/debian.pyr 3 s zDistro.__init__c C s | j st | _ | j r| j S | jS )z9Return the default locale if set, else use default locale)r read_system_localer )r r r r get_locale> s zDistro.get_localeNLANGc C s |st }|std| j }tjj|}| j }|rFtjdt | j ntjd| jt |j |j kpn| pn|}| p||p||}|rt|||d ntjd|| j| |rt|||d d| _dS )zeApply specified locale to system, regenerate if specified locale differs from system default.zFailed to provide locale value.zVSystem locale not found in %s. Assuming system locale is %s based on hardcoded defaultzSystem locale set to %s via %s)keynamez9System has '%s=%s' requested '%s', skipping regeneration.N) LOCALE_CONF_FN ValueErrorr ospathexistsr LOGdebugr lowerregenerate_localeupdate_locale_conf) r localeZout_fnr Z distro_localeZconf_fn_existsZsys_locale_unsetZ need_regenZ need_confr r r apply_localeI s<