From 001894d0a9ef2cf7c6f03ee6f8c0b9999bf5dcd4 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Tue, 29 Apr 2014 20:33:51 -0400 Subject: [PATCH] New version of delete, which marks as delete instead of removing an object. --- planetstack/core/models/plcorebase.py | 17 +++++++---------- planetstack/observer/syncstep.py | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/planetstack/core/models/plcorebase.py b/planetstack/core/models/plcorebase.py index 0e7b463..c0a6ba8 100644 --- a/planetstack/core/models/plcorebase.py +++ b/planetstack/core/models/plcorebase.py @@ -68,20 +68,17 @@ class PlCoreBase(models.Model): def delete(self, *args, **kwds): # so we have something to give the observer - pk = self.pk - model_dict = model_to_dict(self) - for (k,v) in model_dict.items(): - # things like datetime are not JSON serializable - model_dict[k] = str(v) + if (observer_disabled): + super(PlCoreBase, self).delete(*args, **kwargs) + else: + self.deleted = True + self.enacted=None + self.save(update_fields=['enacted','deleted']) - super(PlCoreBase, self).delete(*args, **kwds) - - # This is a no-op if observer_disabled is set - notify_observer(model=self, delete=True, pk=pk, model_dict=model_dict) def save(self, *args, **kwargs): super(PlCoreBase, self).save(*args, **kwargs) - + # This is a no-op if observer_disabled is set notify_observer() diff --git a/planetstack/observer/syncstep.py b/planetstack/observer/syncstep.py index bd9ebf1..a52302d 100644 --- a/planetstack/observer/syncstep.py +++ b/planetstack/observer/syncstep.py @@ -61,7 +61,7 @@ class SyncStep: 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.backend_status = "OK" o.save(update_fields=['enacted']) except Exception,e: try: -- 2.43.0