#!/usr/bin/env python

import logging
import os

from upb_lib import UpbPim

LOG = logging.getLogger(__name__)


def main():
    def _dump_devices():
        for device_id in pim.devices:
            device = pim.devices[device_id]
            LOG.debug(f"{device_id} {device.name} {device.status}")

    logging.basicConfig(
        format="%(asctime)s.%(msecs)03d %(levelname)s  %(message)s",
        datefmt="%Y-%m-%d,%H:%M:%S",
        level=logging.DEBUG,
    )
    try:
        url = os.environ.get("UPBPIM_URL")
        if not url:
            print("Specify url to connect to in UPBPIM_URL environment variable")
            exit(0)

        pim = UpbPim({"url": url, "UPStartExportFile": "bin/upb.upe"})
        pim.connect()
        pim.loop.call_later(60, _dump_devices)
        pim.run()
    except KeyboardInterrupt:
        exit(0)


if __name__ == "__main__":
    main()
