import lightrix.matrix as mc import lightrix.patterns as lightrix import lightrix.mock as mock import click import os import sys import yaml @click.command() @click.option('--config', '-c', default="~/.mcatrc", type=click.Path(exists=True)) @click.option('--room-id', '-r') def start(config, room_id): if room_id is None: print("Require --room argument") sys.exit(1) if not os.path.exists(config): print("Configuration file doesn't exist, please create one") sys.exit(1) led_count = 48 with open(config) as f: conf = yaml.safe_load(f) strip = mock.MockStrip(count=led_count) lx = lightrix.Lightrix(strip) client = mc.Client(conf['homeserver_uri'], conf['username'], conf['password'], room_id, strip=strip) lx.matrix = client client.add_listener(lx.handler) client.listen() if __name__ == '__main__': start()