def check_class_dependency(self, step, failed_steps):
for failed_step in failed_steps:
- dependencies = self.model_dependency_graph.get(step.provides[0].__name__, [])
- if (failed_step in dependencies):
+ step.dependencies = self.model_dependency_graph.get(step.provides[0].__name__, [])
+ if (failed_step in step.dependencies):
raise StepNotReady
def run(self):
import os
import base64
+from datetime import datetime
from planetstack.config import Config
class FailedDependency(Exception):
def check_dependencies(self, obj):
for dep in self.dependencies:
- peer_object = getattr(obj, dep.name.lowercase())
+ peer_object = getattr(obj, dep.lower())
if (peer_object.pk==dep.pk):
raise DependencyFailed
pending = self.fetch_pending()
for o in pending:
try:
- check_dependencies(o) # Raises exception if failed
+ self.check_dependencies(o) # Raises exception if failed
self.sync_record(o)
o.enacted = datetime.now() # Is this the same timezone? XXX
o.save(update_fields=['enacted'])