X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/9c40f2f2d207eac67ca6add337ab5808deedea84..6f9f028c43f77c76a0ac6d4f4f7223e5c6e2ba64:/pymindaemon.py diff --git a/pymindaemon.py b/pymindaemon.py index 98ced48..f3f45fb 100644 --- a/pymindaemon.py +++ b/pymindaemon.py @@ -33,7 +33,7 @@ class PyminDaemon(eventloop.EventLoop): >>> 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. @@ -65,8 +65,13 @@ class PyminDaemon(eventloop.EventLoop): 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' @@ -83,16 +88,14 @@ class PyminDaemon(eventloop.EventLoop): 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()