From 3583a569c7ea6748297219bd542db97405c3b1c4 Mon Sep 17 00:00:00 2001 From: Stavros Sachtouris <saxtouri@admin.grnet.gr> Date: Thu, 30 Apr 2015 12:26:10 +0300 Subject: [PATCH] Update status in GUI even when paused --- agkyra/agkyra/cli.py | 2 +- agkyra/agkyra/protocol.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/agkyra/agkyra/cli.py b/agkyra/agkyra/cli.py index 89cca54..d8c0412 100644 --- a/agkyra/agkyra/cli.py +++ b/agkyra/agkyra/cli.py @@ -142,7 +142,7 @@ class AgkyraCLI(cmd.Cmd): def do_pause(self, line): """Pause syncing""" if not self.syncer.paused: - self.syncer.stop_decide() + self.syncer.pause_decide() def do_status(self, line): """Get current status (running/paused, progress)""" diff --git a/agkyra/agkyra/protocol.py b/agkyra/agkyra/protocol.py index a362d49..2f6889d 100644 --- a/agkyra/agkyra/protocol.py +++ b/agkyra/agkyra/protocol.py @@ -231,6 +231,8 @@ class WebSocketProtocol(WebSocket): def pause_sync(self): self.syncer.stop_decide() + LOG.debug('Wait open syncs to complete') + self.syncer.wait_sync_threads() def start_sync(self): self.syncer.start_decide() @@ -254,6 +256,8 @@ class WebSocketProtocol(WebSocket): if action == 'shutdown': if self.can_sync(): self.syncer.stop_all_daemons() + LOG.debug('Wait open syncs to complete') + self.syncer.wait_sync_threads() self.close() return { @@ -263,11 +267,11 @@ class WebSocketProtocol(WebSocket): self.send_json({'OK': 200, 'action': 'post %s' % action}) elif r['gui_id'] == self.gui_id: self._load_settings() + self.accepted = True + self.send_json({'ACCEPTED': 202, 'action': 'post gui_id'}) if self.can_sync(): self.init_sync() self.pause_sync() - self.accepted = True - self.send_json({'ACCEPTED': 202, 'action': 'post gui_id'}) else: action = r.get('path', 'gui_id') self.send_json({'REJECTED': 401, 'action': 'post %s' % action}) -- GitLab