view bin/attic/staticclient @ 2410:44fc477970bf

cleanup imports, reformats
author drewp@bigasterisk.com
date Sat, 18 May 2024 23:19:04 -0700
parents 4556eebe5d73
children
line wrap: on
line source

#!bin/python
"""
push a dmx level forever
"""

import time, logging
from optparse import OptionParser
import logging, urllib.request, urllib.parse, urllib.error
from twisted.internet import reactor, tksupport, task
from rdflib import URIRef, RDF, RDFS, Literal

from run_local import log
log.setLevel(logging.DEBUG)

from light9 import dmxclient, showconfig, networking

if __name__ == "__main__":
    parser = OptionParser(usage="%prog")
    parser.add_option('--chan', help='channel number, starts at 1',
                      type=int)  #todo: or name or uri
    parser.add_option('--level', help='0..1', type=float)
    parser.add_option('-v', action='store_true', help="log debug level")

    opts, args = parser.parse_args()

    log.setLevel(logging.DEBUG if opts.v else logging.INFO)

    levels = [0] * (opts.chan - 1) + [opts.level]
    log.info('staticclient will write this forever: %r', levels)

    def write():
        log.debug('writing %r', levels)
        dmxclient.outputlevels(levels, twisted=1)

    log.info('looping...')
    task.LoopingCall(write).start(1)
    reactor.run()