#!bin/python """ push a dmx level forever """ from __future__ import division, nested_scopes import time, logging from optparse import OptionParser import logging, urllib 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()