From: Sapan Bhatia Date: Wed, 30 Apr 2014 04:52:32 +0000 (-0400) Subject: Execute deletors and purge record. X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=9f7415f17643437f14d887e89fa1ce15c26d37c8;p=plstackapi.git Execute deletors and purge record. --- diff --git a/planetstack/observer/syncstep.py b/planetstack/observer/syncstep.py index a52302d..a43be36 100644 --- a/planetstack/observer/syncstep.py +++ b/planetstack/observer/syncstep.py @@ -53,16 +53,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))