提交 1daedabf authored 作者: Traun Leyden's avatar Traun Leyden

improve debuggability

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9583 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 cf14366e
...@@ -35,6 +35,7 @@ from time import strftime ...@@ -35,6 +35,7 @@ from time import strftime
from Queue import Queue from Queue import Queue
from freepy import request from freepy import request
import freepy.globals import freepy.globals
from freepy.globals import debug
""" """
freepy library -- connect to freeswitch mod_socket_event via python/twisted freepy library -- connect to freeswitch mod_socket_event via python/twisted
...@@ -44,6 +45,8 @@ used (twisted), this seems to work well and is simpler. ...@@ -44,6 +45,8 @@ used (twisted), this seems to work well and is simpler.
""" """
DEBUG_ON = "see globals.py to turn on debugging"
class FreepyDispatcher(LineReceiver): class FreepyDispatcher(LineReceiver):
def __init__(self, conncb, discocb=None): def __init__(self, conncb, discocb=None):
...@@ -54,22 +57,14 @@ class FreepyDispatcher(LineReceiver): ...@@ -54,22 +57,14 @@ class FreepyDispatcher(LineReceiver):
self.active_request = None # the current active (de-queued) request self.active_request = None # the current active (de-queued) request
def connectionMade(self): def connectionMade(self):
self.log("Connection made") debug("FREEPY: Connection made")
self.conncb(self) self.conncb(self)
def connectionLost(self, reason): def connectionLost(self, reason):
if self.discocb: if self.discocb:
self.discocb(reason) self.discocb(reason)
self.log("connectionLost: %s" % reason) debug("connectionLost: %s" % reason)
def log(self, msg):
"""
print a message to stdout if debug enabled
"""
if freepy.globals.FREEPY_DEBUG_ON:
print msg
def login(self, passwd): def login(self, passwd):
""" """
send login request send login request
...@@ -78,7 +73,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -78,7 +73,7 @@ class FreepyDispatcher(LineReceiver):
req = request.LoginRequest() req = request.LoginRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def confdialout(self, conf_name, sofia_url, bgapi=True): def confdialout(self, conf_name, sofia_url, bgapi=True):
...@@ -101,7 +96,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -101,7 +96,7 @@ class FreepyDispatcher(LineReceiver):
req = request.DialoutRequest() req = request.DialoutRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def originate(self, party2dial, dest_ext_app, bgapi=True): def originate(self, party2dial, dest_ext_app, bgapi=True):
...@@ -116,7 +111,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -116,7 +111,7 @@ class FreepyDispatcher(LineReceiver):
req = request.DialoutRequest() req = request.DialoutRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def listconf(self, conf_name): def listconf(self, conf_name):
...@@ -130,7 +125,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -130,7 +125,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ListConfRequest() req = request.ListConfRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
...@@ -152,7 +147,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -152,7 +147,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ConfKickRequest() req = request.ConfKickRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def confdtmf(self, member_id, conf_name, dtmf, bgapi=False): def confdtmf(self, member_id, conf_name, dtmf, bgapi=False):
...@@ -176,7 +171,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -176,7 +171,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def confsay(self, conf_name, text2speak, bgapi=False): def confsay(self, conf_name, text2speak, bgapi=False):
...@@ -199,7 +194,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -199,7 +194,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def confplay(self, conf_name, snd_url, bgapi=False): def confplay(self, conf_name, snd_url, bgapi=False):
...@@ -222,7 +217,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -222,7 +217,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def confstop(self, conf_name, bgapi=False): def confstop(self, conf_name, bgapi=False):
...@@ -244,7 +239,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -244,7 +239,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
...@@ -282,7 +277,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -282,7 +277,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def sofia_status_profile(self, profile_name, bgapi=False): def sofia_status_profile(self, profile_name, bgapi=False):
...@@ -295,7 +290,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -295,7 +290,7 @@ class FreepyDispatcher(LineReceiver):
msg = "api sofia status profile %s as xml" % (profile_name) msg = "api sofia status profile %s as xml" % (profile_name)
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.log("sending to fs: %s" % msg) debug("sending to fs: %s" % msg)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
return req.getDeferred() return req.getDeferred()
...@@ -310,7 +305,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -310,7 +305,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
...@@ -323,7 +318,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -323,7 +318,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def broadcast(self, uuid, path, legs, bgapi = False): def broadcast(self, uuid, path, legs, bgapi = False):
...@@ -335,7 +330,7 @@ class FreepyDispatcher(LineReceiver): ...@@ -335,7 +330,7 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def transfer(self, uuid, dest_ext, legs, bgapi = False): def transfer(self, uuid, dest_ext, legs, bgapi = False):
...@@ -350,11 +345,11 @@ class FreepyDispatcher(LineReceiver): ...@@ -350,11 +345,11 @@ class FreepyDispatcher(LineReceiver):
req = request.ApiRequest() req = request.ApiRequest()
self.requestq.put(req) self.requestq.put(req)
self.transport.write("%s\n\n" % msg) self.transport.write("%s\n\n" % msg)
self.log(">> %s" % msg) debug(">> %s" % msg)
return req.getDeferred() return req.getDeferred()
def lineReceived(self, line): def lineReceived(self, line):
self.log("<< %s" % line) debug("<< %s" % line)
if not self.active_request: if not self.active_request:
# if no active request pending, we ignore # if no active request pending, we ignore
......
...@@ -6,5 +6,9 @@ if os.environ.has_key('FREEPY_DEBUG_ON'): ...@@ -6,5 +6,9 @@ if os.environ.has_key('FREEPY_DEBUG_ON'):
FREEPY_DEBUG_ON = os.environ['FREEPY_DEBUG_ON'] FREEPY_DEBUG_ON = os.environ['FREEPY_DEBUG_ON']
else: else:
# fall back to hardcoded value # fall back to hardcoded value
FREEPY_DEBUG_ON = False #FREEPY_DEBUG_ON = False
FREEPY_DEBUG_ON = True
def debug(msg):
if FREEPY_DEBUG_ON:
print msg
...@@ -37,6 +37,7 @@ from Queue import Queue ...@@ -37,6 +37,7 @@ from Queue import Queue
from freepy import models from freepy import models
import freepy.globals import freepy.globals
from freepy.globals import debug
""" """
These are response handlers for different types of requests. These are response handlers for different types of requests.
...@@ -61,6 +62,8 @@ class FreepyRequest(object): ...@@ -61,6 +62,8 @@ class FreepyRequest(object):
return self.finished return self.finished
def setRequestFinished(self): def setRequestFinished(self):
debug("setRequestFinished called. response_content: %s " %
self.response_content)
self.finished = True self.finished = True
def getDeferred(self): def getDeferred(self):
...@@ -104,6 +107,7 @@ class FreepyRequest(object): ...@@ -104,6 +107,7 @@ class FreepyRequest(object):
matchstr = re.compile("Reply-Text", re.I) matchstr = re.compile("Reply-Text", re.I)
result = matchstr.search(line) result = matchstr.search(line)
if (result != None): if (result != None):
debug("FREEPY: got Reply-Text")
fields = line.split(":") # eg, ['Reply-Text','+OK Job-UUID', '882'] fields = line.split(":") # eg, ['Reply-Text','+OK Job-UUID', '882']
endfields = fields[1:] endfields = fields[1:]
self.response_content = "".join(endfields) self.response_content = "".join(endfields)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论