changeset 265:62e9761a5f13

dmxclient has better clientids, cleanups - clientids include hostname, strip path prefixes - twisted is imported on demand
author David McClosky <dmcc@bigasterisk.com>
date Thu, 16 Jun 2005 23:49:53 +0000
parents 0f112a7dd6b3
children 58bbf9f42457
files light9/dmxclient.py
diffstat 1 files changed, 13 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/light9/dmxclient.py	Thu Jun 16 22:33:27 2005 +0000
+++ b/light9/dmxclient.py	Thu Jun 16 23:49:53 2005 +0000
@@ -4,12 +4,13 @@
 
 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 @@
     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