コード例 #1
0
def setup_platform(hass, config, add_devices, discovery_info=None):
    """Setup the sensor."""
    import brainfm
    email = config.get(CONF_EMAIL)
    password = config.get(CONF_PASSWORD)
    client = brainfm.Connection(email, password)

    dev = []
    for sensor_type in ["sleep"]:#, "relax", "focus"]:
        dev.append(BrainfmSensor(sensor_type, client, hass))
    add_devices(dev)
コード例 #2
0
ファイル: cli.py プロジェクト: odinokov/brainfm
def cli(ctx):
    ctx.obj = brainfm.Connection()
コード例 #3
0
ファイル: cli.py プロジェクト: rocketinventor/brainfm
def cli(ctx, sid, api_endpoint, stream_endpoint):
    ctx.obj = brainfm.Connection(sid=sid,
                                 api_endpoint=api_endpoint,
                                 stream_endpoint=stream_endpoint)
コード例 #4
0
ファイル: cli.py プロジェクト: Schnouki/brainfm
import pathlib
import requests
import sys
import terminaltables
import webbrowser

CONFIG_PATH = pathlib.Path("~/.brainfm/config").expanduser()
CACHE_PATH = pathlib.Path("~/.brainfm/cache").expanduser()
CACHE_PATH.mkdir(parents=True, exist_ok=True)
STATIONS_PATTERN = jmespath.compile("[*].[station_id, name, canonical_name]")

# TODO graceful failure when config is missing/invalid
with CONFIG_PATH.open() as fp:
    config = json.load(fp)

client = brainfm.Connection(config["email"], config["password"])

# TODO expire cached values
if (CACHE_PATH / "svu").exists():
    with (CACHE_PATH / "svu").open() as fp:
        client._svu = fp.read()
else:
    with (CACHE_PATH / "svu").open(mode="w") as fp:
        fp.write(client.svu)

cached = {"stations": None}

if (CACHE_PATH / "stations").exists():
    with (CACHE_PATH / "stations").open() as fp:
        cached["stations"] = json.load(fp)