>>> PyminDaemon(('', 9999), dict(test=test_handler)).run()
"""
- def __init__(self, bind_addr, routes):
+ def __init__(self, routes=dict(), bind_addr=('', 9999)):
r"""Initialize the PyminDaemon object.
See PyminDaemon class documentation for more info.
if result is not None:
result = serializer.serialize(result)
response = u'OK '
+ except dispatcher.Error, e:
+ result = unicode(e) + u'\n'
+ response = u'ERROR '
except Exception, e:
- result = unicode(e)
+ import traceback
+ result = u'Internal server error\n'
+ traceback.print_exc() # TODO logging!
response = u'ERROR '
if result is None:
- response += u'0'
+ response += u'0\n'
else:
response += u'%d\n%s' % (len(result), result)
self.file.sendto(response, addr)
if __name__ == '__main__':
- from dispatcher import handler
-
- @handler
+ @handler(u"Print all the arguments, return nothing.")
def test_handler(*args):
print 'test:', args
- @handler
+ @handler(u"Echo the message passed as argument.")
def echo_handler(message):
print 'echo:', message
return message
- PyminDaemon(('', 9999), dict(test=test_handler, echo=echo_handler)).run()
+ PyminDaemon(dict(test=test_handler, echo=echo_handler)).run()