From 6082336af70681006aea618f28b951bbf47460a8 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Wed, 30 Apr 2014 00:52:32 -0400 Subject: [PATCH] Execute deletors and purge record. --- planetstack/observer/syncstep.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/planetstack/observer/syncstep.py b/planetstack/observer/syncstep.py index f7bcffb..2f4b23f 100644 --- a/planetstack/observer/syncstep.py +++ b/planetstack/observer/syncstep.py @@ -54,16 +54,20 @@ class SyncStep: if (peer_object.pk==failed.pk): raise FailedDependency - def call(self, failed=[]): - pending = self.fetch_pending() + def call(self, failed=[], deletion=False): + pending = self.fetch_pending(deletion) for o in pending: try: for f in failed: self.check_dependencies(o,f) # Raises exception if failed - self.sync_record(o) - o.enacted = datetime.now() # Is this the same timezone? XXX - o.backend_status = "OK" - o.save(update_fields=['enacted']) + if (deletion): + self.delete_record(o) + o.delete(purge=True) + else: + self.sync_record(o) + o.enacted = datetime.now() # Is this the same timezone? XXX + o.backend_status = "OK" + o.save(update_fields=['enacted']) except Exception,e: try: o.backend_status = self.error_map.map(str(e)) -- 2.45.2