Edit File: hardware.cpython-36.opt-1.pyc
3 ��cf � E @ s\ d Z ddlmZmZmZmZ ddlZddlZddlZddlZddl m Z ddl mZ ddlm Z ye W n ek r� eZY nX yddlZdZW n ek r� dZY nX yddlZddlZdZW n ek r� dZY nX yddlZdZW n ek �r dZY nX ddlZejd dd �Zeed��s4eje_ejZddlZddl m Z ydd l!m"Z"m#Z# dZ$W n^ ek �r� ydd l%m"Z"m#Z# dZ$W n. ek �r� ddl&m'Z'm(Z(m)Z) dZ$Y nX Y nX yddl*Z*W n ek �r� dZ*Y nX ej+j,d� yddl-m.Z/ dZ0W n ek �r( dZ0Y nX da1e�r8dnda2dd� Z3t2�rNdne3� Z4e4�rxej5� e j6� Z7e7j8de4 � dd� Z9dd� Z:dd� Z;dd� Z<dd� Z=dd � Z>d!d"� Z?d#d$� Z@d%d&� ZAd'd(� ZBd)d*� ZCd+d,� ZDd-d.� ZEd/d0� ZFd1d2� ZGd3d4� ZHd5d6� ZId7d8� ZJd9d:� Z.eKd;k�rXx<e.� D ]2ZLx&eLjM� D ]ZNeOd<eNeLeN f � �q0W eO �q"W dS )=z1Used to read hardware info from kudzu, /proc, etc� )�gethostname�getaddrinfo�AF_INET�AF_INET6N)�config)� rhnserver)�ustrTFzrhn-client-tools)Zfallback�ugettext)� up2dateLog)�get_devices�get_computer_info� )�check_hal_dbus_status�get_hal_computer�read_halz/usr/share/rhsm)�Hardwarec C s t td�sd S tj� S )N�get_warnings)�hasattr� dmidecoder � r r �/usr/lib/python3.6/hardware.py�dmi_warnings] s r z.Warnings collected during dmidecode import: %sc C s� t dkr�trdS tj� } | jtj� y6| jd�}t� }|rXtj� t j � }|jd| � W n dat� }|rxtj� dS |j� a t S )z= Initialize _dmi_data unless it already exist and returns it N�allzdmidecode warnings: %sr ) � _dmi_data�_dmi_not_availabler ZdmidecodeXMLZ SetResultTypeZ DMIXML_DOCZQuerySectionr �clear_warningsr �initLog� log_debugZxpathNewContext)Zdmixml�data�dmi_warn�logr r r �_initialize_dmi_datai s( r! c C s6 t � }|dkrdS |j| �}|g kr.|d jS dS dS )z� Fetch DMI data from given section using given path. If data could not be retrieved, returns empty string. General method and should not be used outside of this module. N� r )r! Z xpathEvalZcontent)�pathZdmi_datar r r r �get_dmi_data� s r$ c C s t d�S )zt Return Vendor from dmidecode bios information. If this value could not be fetch, returns empty string. z/dmidecode/BIOSinfo/Vendor)r$ r r r r � dmi_vendor� s r% c C s t d�} | sd} | S )zt Return UUID from dmidecode system information. If this value could not be fetch, returns empty string. z7/dmidecode/SystemInfo/SystemUUID[not(@unavailable='1')]r"