]> git.llucax.com Git - software/pymin.git/blobdiff - pymindaemon.py
Se agregar el dns al manejo del dispatcher.
[software/pymin.git] / pymindaemon.py
index 98ced487f572d76201b10703d1d5065ae89c1083..ae86197e6912c1e828c911b7623827837965dcc1 100644 (file)
@@ -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,11 +65,16 @@ 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'
+            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)
@@ -94,5 +99,5 @@ if __name__ == '__main__':
         print 'echo:', message
         return message
 
-    PyminDaemon(('', 9999), dict(test=test_handler, echo=echo_handler)).run()
+    PyminDaemon(dict(test=test_handler, echo=echo_handler)).run()