Source code for insights.parsers.etc_machine_id

"""
EtcMachineId - file ``/etc/machine-id``
=======================================
"""
import uuid

from insights.core import Parser
from insights.core.exceptions import SkipComponent
from insights.core.plugins import parser
from insights.parsers import get_active_lines
from insights.specs import Specs


[docs] @parser(Specs.etc_machine_id) class EtcMachineId(Parser): """ Class for parsing the file ``/etc/machine-id`` Sample file content:: 4f3fbfda59ff4aea969255a73342d439 Examples: >>> type(machine_id) <class 'insights.parsers.etc_machine_id.EtcMachineId'> >>> machine_id.machine_id '4f3fbfda59ff4aea969255a73342d439' >>> machine_id.uuid '4f3fbfda-59ff-4aea-9692-55a73342d439' """
[docs] def parse_content(self, content): content = get_active_lines(content) if not content or len(content) != 1: raise SkipComponent('Invalid Content') self.id = self.machine_id = content[0] self.uuid = str(uuid.UUID(self.id))