# SPDX-License-Identifier: MIT
"""Display analysis"""
import os
from pyudev import Context

from amd_debug.common import read_file


class Display:
    """Display analysis"""

    def __init__(self):
        self.pyudev = Context()
        self.edid = []

        for dev in self.pyudev.list_devices(subsystem="drm"):
            if not "card" in dev.device_path:
                continue
            p = os.path.join(dev.sys_path, "status")
            if not os.path.exists(p):
                continue
            f = read_file(p)
            if f != "connected":
                continue
            p = os.path.join(dev.sys_path, "enabled")
            f = read_file(p)
            if f != "enabled":
                continue
            self.edid.append(os.path.join(dev.sys_path, "edid"))

    def get_edid(self) -> list:
        """Get the path for EDID data for all connected displays"""
        return self.edid
