From ba4f311fe151376dff22f98eeedd50ed79a3bbe9 Mon Sep 17 00:00:00 2001 From: j Date: Wed, 24 Feb 2016 12:49:00 +0530 Subject: [PATCH] pull changes while offline --- oml/nodes.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/oml/nodes.py b/oml/nodes.py index a22b06b..3508ac6 100644 --- a/oml/nodes.py +++ b/oml/nodes.py @@ -169,6 +169,8 @@ class Node(Thread): def can_connect(self): self.resolve() url = self.url + if not state.online and not self.local: + return False try: if url: headers = { @@ -233,6 +235,11 @@ class Node(Thread): }) def pullChanges(self): + if state.shutdown: + return + self.online = self.can_connect() + if not self.online or state.shutdown: + return with db.session(): u = user.models.User.get_or_create(self.user_id) if not u or not self.online or not u.peered: @@ -476,6 +483,8 @@ class Nodes(Thread): return self._pulling = True library.sync_db() + if state.shutdown: + return users = [] with db.session(): from user.models import User @@ -487,10 +496,7 @@ class Nodes(Thread): break node = self._nodes.get(u['id']) if node: - if not state.shutdown: - node.online = node.can_connect() - if not state.shutdown and node.online: - node.pullChanges() + node.pullChanges() self._pulling = False def run(self):