INNER CODE UNIT · Python

available_hardware

theyosh/TerrariumPI · hardware/button/__init__.py:46

    def available_hardware(__cls__):
        return terrariumUtils.loadHardwareDrivers(__cls__, __name__, __file__, "*_button.py")

    @classproperty
    def available_buttons(__cls__):
        return [
            {"hardware": hardware_type, "name": button.NAME}
            for hardware_type, button in __cls__.available_hardware.items()
        ]

    # Return polymorph relay....
    def __new__(cls, _, hardware_type, address, name: str = "", callback=None):
        try:
            known_buttons = terrariumButton.available_hardware
            return super(terrariumButton, cls).__new__(known_buttons[hardware_type])
        except:
            raise terrariumButtonException(f"Button of hardware type {hardware_type} is unknown.")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…