if len(sys.argv) < 3:
    print("at least 2 arguments needed")
    exit(1)

from RealHatHD import RealHatHD
hat = RealHatHD()
poll_wait_s = int(sys.argv[1])
urls = sys.argv[2:]

#################################################################################

led = Matrix(hat)
sink = Sink(led)

if __name__ == "__main__":
    try:
        while True:
            status = []
            for url in urls:
                try:
                    cctray = CCTray(url, hat.AREA)
                    status += cctray.fetch()
                except Exception, e:
                    print e

            sink.put(status)
            time.sleep(poll_wait_s)

    except KeyboardInterrupt:
        hat.off()
url = 'http://localhost:8153/go/cctray.xml'
poll_wait_s = 5

if len(sys.argv) == 1:
    from FakeHat import FakeHat
    hat = FakeHat()

if len(sys.argv) > 1:
    from RealHat import RealHat
    hat = RealHat()
    url = sys.argv[1]

if len(sys.argv) > 2:
    poll_wait_s = int(sys.argv[2])

#################################################################################

led = Matrix(hat)
sink = Sink(led)
cctray = CCTray(url, hat.AREA)

if __name__ == "__main__":
    while True:
        try:
            sink.put(cctray.fetch())
        except Exception, e:
            print e

        time.sleep(poll_wait_s)