# HG changeset patch # User David McClosky # Date 2005-06-16 23:49:53 # Node ID 62e9761a5f133da8aa4314ad198159f657d74dc0 # Parent 0f112a7dd6b3d9adfbd74a74ffa08db39c5b95d4 dmxclient has better clientids, cleanups - clientids include hostname, strip path prefixes - twisted is imported on demand diff --git a/light9/dmxclient.py b/light9/dmxclient.py --- a/light9/dmxclient.py +++ b/light9/dmxclient.py @@ -4,12 +4,13 @@ dmxclient.outputlevels(..) client id is formed from sys.argv[0] and the PID. """ -import xmlrpclib,os,sys,socket,time -from twisted.web.xmlrpc import Proxy +import xmlrpclib, os, sys, socket, time from light9 import networking _dmx=None -_id="%s-%s" % (sys.argv[0].replace('.py','').replace('./',''),os.getpid()) +procname = os.path.basename(sys.argv[0]) +procname = procname.replace('.py', '') +_id = "%s-%s-%s" % (procname, socket.gethostname(), os.getpid()) def outputlevels(levellist,twisted=0,clientid=_id): """present a list of dmx channel levels, each scaled from @@ -19,35 +20,34 @@ def outputlevels(levellist,twisted=0,cli if the server is not found, outputlevels will block for a second.""" - global _dmx,_id + global _dmx, _id if _dmx is None: url = networking.dmxServerUrl() if not twisted: - _dmx=xmlrpclib.Server(url) + _dmx = xmlrpclib.Server(url) else: + from twisted.web.xmlrpc import Proxy _dmx = Proxy(url) if not twisted: try: - _dmx.outputlevels(clientid,levellist) - except socket.error,e: - print "dmx server error %s, waiting"%e + _dmx.outputlevels(clientid, levellist) + except socket.error, e: + print "dmx server error %s, waiting" % e time.sleep(1) except xmlrpclib.Fault,e: print "outputlevels had xml fault: %s" % e time.sleep(1) else: def err(error): - print "dmx server error",error + print "dmx server error", error time.sleep(1) - d = _dmx.callRemote('outputlevels',clientid,levellist) + d = _dmx.callRemote('outputlevels', clientid, levellist) d.addErrback(err) - dummy = os.getenv('DMXDUMMY') if dummy: print "dmxclient: DMX is in dummy mode." - def bogus(*args,**kw): + def outputlevels(*args, **kw): pass - outputlevels = bogus