/usr/lib/python3.6/site-packages/cloudinit/__pycache__
NameSizeModeActions
apport.cpython-36.opt-1.pyc60600644editdlrm
apport.cpython-36.pyc61050644editdlrm
atomic_helper.cpython-36.opt-1.pyc21020644editdlrm
atomic_helper.cpython-36.pyc21020644editdlrm
cloud.cpython-36.opt-1.pyc31550644editdlrm
cloud.cpython-36.pyc31550644editdlrm
dmi.cpython-36.opt-1.pyc54460644editdlrm
dmi.cpython-36.pyc54460644editdlrm
event.cpython-36.opt-1.pyc20160644editdlrm
event.cpython-36.pyc20160644editdlrm
features.cpython-36.opt-1.pyc15080644editdlrm
features.cpython-36.pyc15080644editdlrm
gpg.cpython-36.opt-1.pyc38520644editdlrm
gpg.cpython-36.pyc38520644editdlrm
helpers.cpython-36.opt-1.pyc136270644editdlrm
helpers.cpython-36.pyc136270644editdlrm
importer.cpython-36.opt-1.pyc17220644editdlrm
importer.cpython-36.pyc17220644editdlrm
log.cpython-36.opt-1.pyc47180644editdlrm
log.cpython-36.pyc47180644editdlrm
netinfo.cpython-36.opt-1.pyc129720644editdlrm
netinfo.cpython-36.pyc129720644editdlrm
persistence.cpython-36.opt-1.pyc28830644editdlrm
persistence.cpython-36.pyc28830644editdlrm
registry.cpython-36.opt-1.pyc14180644editdlrm
registry.cpython-36.pyc14180644editdlrm
safeyaml.cpython-36.opt-1.pyc81880644editdlrm
safeyaml.cpython-36.pyc81880644editdlrm
settings.cpython-36.opt-1.pyc11680644editdlrm
settings.cpython-36.pyc11680644editdlrm
signal_handler.cpython-36.opt-1.pyc16180644editdlrm
signal_handler.cpython-36.pyc16180644editdlrm
simpletable.cpython-36.opt-1.pyc25900644editdlrm
simpletable.cpython-36.pyc25900644editdlrm
ssh_util.cpython-36.opt-1.pyc157280644editdlrm
ssh_util.cpython-36.pyc157280644editdlrm
stages.cpython-36.opt-1.pyc257490644editdlrm
stages.cpython-36.pyc257490644editdlrm
subp.cpython-36.opt-1.pyc102070644editdlrm
subp.cpython-36.pyc102070644editdlrm
templater.cpython-36.opt-1.pyc46600644editdlrm
templater.cpython-36.pyc46600644editdlrm
temp_utils.cpython-36.opt-1.pyc28800644editdlrm
temp_utils.cpython-36.pyc28800644editdlrm
type_utils.cpython-36.opt-1.pyc4370644editdlrm
type_utils.cpython-36.pyc4370644editdlrm
url_helper.cpython-36.opt-1.pyc215390644editdlrm
url_helper.cpython-36.pyc215390644editdlrm
user_data.cpython-36.opt-1.pyc84460644editdlrm
user_data.cpython-36.pyc84460644editdlrm
util.cpython-36.opt-1.pyc754120644editdlrm
util.cpython-36.pyc754120644editdlrm
version.cpython-36.opt-1.pyc4300644editdlrm
version.cpython-36.pyc4300644editdlrm
warnings.cpython-36.opt-1.pyc33290644editdlrm
warnings.cpython-36.pyc33290644editdlrm
__init__.cpython-36.opt-1.pyc1130644editdlrm
__init__.cpython-36.pyc1130644editdlrm
Edit: /usr/lib/python3.6/site-packages/cloudinit/__pycache__/dmi.cpython-36.pyc (5446B)
3 \me@sdddlZddlZddlZddlmZddlmZddlmZddl m Z m Z ej e ZdZeddd gZd:ej_ed d ed d eddeddeddeddeddeddeddeddedded d!ed"d#ed$d%ed&d'ed(d)ed*d+d,Zeeed-d.d/Zeeed-d0d1Zeeeed2d3d4Zeeed-d5d6Zeed7d8d9ZdS);N) namedtuple)Optional)subp) is_container is_FreeBSDz/sys/class/dmi/id KernelNameslinuxfreebsdZboard_asset_tagzsmbios.planar.tagZ board_vendorzsmbios.planar.makerZ board_namezsmbios.planar.productZ board_serialzsmbios.planar.serialZ board_versionzsmbios.planar.versionZ bios_datezsmbios.bios.reldateZ bios_vendorzsmbios.bios.vendorZ bios_versionzsmbios.bios.versionZchassis_asset_tagzsmbios.chassis.tagZchassis_vendorzsmbios.chassis.makerZchassis_serialzsmbios.chassis.serialZchassis_versionzsmbios.chassis.versionZ sys_vendorzsmbios.system.makerZ product_namezsmbios.system.productZproduct_serialzsmbios.system.serialZ product_uuidzsmbios.system.uuidZproduct_versionzsmbios.system.version)zbaseboard-asset-tagzbaseboard-manufacturerzbaseboard-product-namezbaseboard-serial-numberzbaseboard-versionzbios-release-datez bios-vendorz bios-versionzchassis-asset-tagzchassis-manufacturerzchassis-serial-numberzchassis-versionzsystem-manufacturerzsystem-product-namezsystem-serial-numberz system-uuidzsystem-version)keyreturncCstj|}|dks|jdkr dSdjt|j}tjd|tjj |sVtjd|dSy"t |d}|j }WdQRXWn t k rtjd|dSX|dt |dd krd }y|jd jStk r}ztjd |||WYdd}~XnXdS) z/ Reads dmi data from /sys/class/dmi/id Nz{0}/{1}zquerying dmi data %szdid not find %srbzCould not read %s utf8z-utf-8 decode of content (%s) in %s failed: %s)DMIDECODE_TO_KERNELgetrformat DMI_SYS_PATHLOGdebugospathexistsopenreadPermissionErrorlendecodestripUnicodeDecodeErrorerror)r kmapZ dmi_key_pathfpZkey_dataer&/usr/lib/python3.6/dmi.py_read_dmi_syspath?s2      r(cCstj|}|dks|jdkr dStjd|jy6dd|jg}tj|\}}|j}tjd||j|Stjk r}ztjd||WYdd}~XnXdS)z/ Reads dmi data from FreeBSD's kenv(1) Nzquerying dmi data %sZkenvz-qzkenv returned '%s' for '%s'zfailed kenv cmd: %s %s)rrr rrrr ProcessExecutionError)r r#cmdresult_errr%r&r&r' _read_kenves   r-)r dmidecode_pathr cCs|yF|d|g}tj|\}}|j}tjd|||jdddkrDdS|Stjk rv}ztjd||dSd}~XnXdS)z Calls out to dmidecode to get the data out. This is mostly for supporting OS's without /sys/class/dmi/id support. z--stringz dmidecode returned '%s' for '%s'.zfailed dmidecode cmd: %s %sN)rr rrreplacer))r r.r*r+r,r%r&r&r'_call_dmidecode{s r2cCstr dStrt|St|}|dk r,|Sdd}tjd}||pN|d ks`tjd|dStj d}|rxt ||Stjd t dS) a Wrapper for reading DMI data. If running in a container return None. This is because DMI data is assumed to be not useful in a container as it does not represent the container but rather the host. This will do the following (returning the first that produces a result): 1) Use a mapping to translate `key` from dmidecode naming to sysfs naming and look in /sys/class/dmi/... for a value. 2) Use `key` as a sysfs key directly and look in /sys/class/dmi/... 3) Fall-back to passing `key` to `dmidecode --string`. If all of the above fail to find a value, None will be returned. NcSs$|dkp"|ddko"|dddkS)NZx86_64riZ86r&)Zarchr&r&r'is_x86szread_dmi_data..is_x86aarch64amd64zdmidata is not supported on %sZ dmidecodez0did not find either path %s or dmidecode command)r7r8) rrr-r(runamerrrZwhichr2r)r Z syspath_valuer5Z uname_archr.r&r&r' read_dmi_datas"     r:)srcr cCs|d|kr |Stj}xbtjd|D]R}||kr@tjd|||q"t|}|sPd}tjd||||jd|d|}q"W|S)zBReplace __dmi.VARNAME__ with DMI values from either sysfs or kenv.__z__dmi\.([^_]+)__z7Ignoring invalid __dmi.%s__ in %s. Expected one of: %s.r0z'Replacing __dmi.%s__ in '%s' with '%s'.z__dmi.) rkeysrefindallrZwarningr:rr1)r;Zvalid_dmi_keysmatchZ dmi_valuer&r&r' sub_dmi_varss*rA)NN)Zloggingrr> collectionsrZtypingrZ cloudinitrZcloudinit.utilrrZ getLogger__name__rrr__new__ __defaults__rstrr(r-r2r:rAr&r&r&r'sR    &-