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.")