#!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()