25 lines
587 B
Python
25 lines
587 B
Python
import yaml
|
|
import os
|
|
|
|
workdir, filename = os.path.split(os.path.abspath(__file__))
|
|
config_file = f"{workdir}{os.sep}devices.yml"
|
|
|
|
|
|
class Device:
|
|
def __init__(self, data):
|
|
self.mac = data['mac']
|
|
self.name = data['name']
|
|
self.room = data['room']
|
|
|
|
|
|
def get_devices():
|
|
devices_list = []
|
|
with open(file=config_file, mode='r') as file:
|
|
devices = yaml.safe_load(file)
|
|
for device in devices['devices']: devices_list.append(Device(data=device))
|
|
return devices_list
|
|
|
|
|
|
def get_device(dev):
|
|
return next((d for d in get_devices() if d.mac == dev.addr.upper()), None)
|