Fixed issues in object dependencies
diff --git a/planetstack/observer/syncstep.py b/planetstack/observer/syncstep.py
index 0772b4c..4116d65 100644
--- a/planetstack/observer/syncstep.py
+++ b/planetstack/observer/syncstep.py
@@ -38,25 +38,27 @@
return
def fetch_pending(self):
- #return Sliver.objects.filter(ip=None)
return []
+ #return Sliver.objects.filter(ip=None)
- def check_dependencies(self, obj):
+ def check_dependencies(self, obj, failed):
for dep in self.dependencies:
peer_object = getattr(obj, dep.lower())
- if (peer_object.pk==dep.pk):
+ if (peer_object.pk==failed.pk):
raise DependencyFailed
def call(self, failed=[]):
pending = self.fetch_pending()
for o in pending:
try:
- self.check_dependencies(o) # Raises exception if failed
+ 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.save(update_fields=['enacted'])
except:
failed.append(o)
+
return failed
def __call__(self, **args):