File: //usr/lib/python3/dist-packages/cloudinit/__pycache__/dmi.cpython-39.pyc
a
��`� � @ s d dl mZ d dl mZ d dlmZmZ d dlmZ d dl Z e�
e�ZdZ
eddd 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-�Zd.d/� Zd0d1� Zd2d3� Zd4d5� ZdS )6� )�log)�subp)�is_container�
is_FreeBSD)�
namedtupleNz/sys/class/dmi/idZKernelNames�linux�freebsd)NNZboard_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-versionc
C s t �| �}|du s|jdu r dS d�t|j�}t�d|� tj� |�sVt�d|� dS z6t
|d��}|�� }W d � n1 s�0 Y W n ty� t�d|� Y dS 0 |dt
|�d d kr�d
}z|�d��� W S t�y } zt�d|||� W Y d}~n
d}~0 0 dS )
z/
Reads dmi data from /sys/class/dmi/id
Nz{0}/{1}�querying 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)�key�kmapZdmi_key_path�fpZkey_data�e� r% �//usr/lib/python3/dist-packages/cloudinit/dmi.py�_read_dmi_syspath+ s.
*�r'