%PDF- %PDF-
Direktori : /snap/core18/current/usr/lib/python3/dist-packages/cloudinit/__pycache__/ |
Current File : //snap/core18/current/usr/lib/python3/dist-packages/cloudinit/__pycache__/dmi.cpython-36.pyc |
3 �AdC � @ sh d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z d dl mZmZ ej e�ZdZedd d g�Zd;ej_edd�ed d�edd�edd�edd�edd�edd�edd�edd�edd�edd �ed!d"�ed#d$�ed%d&�ed'd(�ed)d*�ed+d,�d-�Zeee d.�d/d0�Zeee d.�d1d2�Zeeee d3�d4d5�Zeee d.�d6d7�Zeed8�d9d:�ZdS )<� N)� namedtuple)�Optional)�log)�subp)�is_container� is_FreeBSDz/sys/class/dmi/id�KernelNames�linux�freebsdZboard_asset_tagzsmbios.planar.tagZboard_vendorzsmbios.planar.makerZ board_namezsmbios.planar.productZboard_serialzsmbios.planar.serialZ board_versionzsmbios.planar.versionZ bios_datezsmbios.bios.reldateZbios_vendorzsmbios.bios.vendorZbios_versionzsmbios.bios.versionZchassis_asset_tagzsmbios.chassis.tagZchassis_vendorzsmbios.chassis.makerZchassis_serialzsmbios.chassis.serialZchassis_versionzsmbios.chassis.versionZ sys_vendorzsmbios.system.makerZproduct_namezsmbios.system.productZproduct_serialzsmbios.system.serialZproduct_uuidzsmbios.system.uuidZproduct_versionzsmbios.system.version)zbaseboard-asset-tagzbaseboard-manufacturerzbaseboard-product-namezbaseboard-serial-numberzbaseboard-versionzbios-release-datezbios-vendorzbios-versionzchassis-asset-tagzchassis-manufacturerzchassis-serial-numberzchassis-versionzsystem-manufacturerzsystem-product-namezsystem-serial-numberzsystem-uuidzsystem-version)�key�returnc C s� t j| �}|dks|jdkr dS djt|j�}tjd|� tjj |�sVtjd|� dS y"t |d��}|j� }W dQ R X W n tk r� tjd|� dS X |dt |�d d kr�d }y|jd�j� S tk � r� } ztjd|||� W Y dd}~X nX dS ) z/ Reads dmi data from /sys/class/dmi/id Nz{0}/{1}zquerying dmi data %szdid not find %s�rbzCould not read %s� �� � � �utf8z-utf-8 decode of content (%s) in %s failed: %s)�DMIDECODE_TO_KERNEL�getr �format�DMI_SYS_PATH�LOG�debug�os�path�exists�open�read�PermissionError�len�decode�strip�UnicodeDecodeError�error)r �kmapZdmi_key_path�fpZkey_data�e� r'