From 405356989bb658d57d966a84a516da74a87d757e Mon Sep 17 00:00:00 2001
From: Seblu <sebastien.luttringer@smartjog.com>
Date: Mon, 27 Dec 2010 14:40:34 +0100
Subject: [PATCH] Allow server to terminate properly a cli connect by calling
 quit method

---
 cccli/cli.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/cccli/cli.py b/cccli/cli.py
index 01bc798..6f0b6ed 100644
--- a/cccli/cli.py
+++ b/cccli/cli.py
@@ -53,15 +53,12 @@ class Cli(object):
                                          self._settings["port"],
                                          enable_ssl=True,
                                          default_handler=CliHandler(),
-                                         on_disconnect=self._on_disconnect,
+                                         on_disconnect="quit",
                                          timeout=self._settings["timeout"]
                                         )
         rpcc.start(daemonize=True)
         self.rpc = ConnectionProxy(rpcc)
 
-    def _on_disconnect(self, rpc):
-        printer.fatal("Disconnected from server!")
-
     def _auth(self):
         printer.debug("Authenticating...")
         if self.rpc.authentify(self._settings["login"], self._settings["pass"]):
@@ -176,3 +173,8 @@ class CliHandler(RpcHandler):
     def get_tags(self, tags=()):
         if "version" in tags:
             return { "version": cccli.version }
+
+    @pure
+    def quit(self, rpc=None):
+        printer.fatal("Disconnected from server!")
+
-- 
GitLab