o
    @@i;                     @   s.   d Z ddlZddlZddlZG dd dZdS )z8
This class is responsible for getting the machine GUID
    Nc                   @   s@   e Zd ZdZedeje fddZedeje fddZ	dS )	MachineIDz@
    This class is responsible for getting the machine GUID
    returnc                 C   s*   zt j| dddddj W S    Y d S )NTzutf-8)shellcapture_outputcheckencoding)
subprocessrunstdoutstrip)cmd r   U/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/borb/license/machine_id.py_run   s   
zMachineID._runc                   C   s   t jdkr
tdS t jdkst jdkst jdkr%tddd  S t jd	r5td
p4tdS t jdsAt jdrKtdpJtdS dS )zf
        This function returns the machine UUID
        :return:    the machine UUID, or None
        darwinzPioreg -d2 -c IOPlatformExpertDevice | awk -F\" '/IOPlatformUUID/{print $(NF-1)}'win32cygwinmsyszwmic csproduct get uuid
   linuxzcat /var/lib/dbus/machine-idzcat /etc/machine-idopenbsdfreebsdzcat /etc/hostidzkenv -q smbios.system.uuidN)sysplatformr   r   splitr   
startswithr   r   r   r   get%   s"   



zMachineID.getN)
__name__
__module____qualname____doc__staticmethodtypingOptionalstrr   r   r   r   r   r   r      s    r   )r!   r   r   r#   r   r   r   r   r   <module>   s
   