From 37dc4f64925611044389505127ca6b62057b6bf8 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Wed, 23 Jul 2014 08:59:30 -0400 Subject: [PATCH] Provide default implementation of fetch_pending to remove redundant code from steps. --- planetstack/openstack_observer/syncstep.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/planetstack/openstack_observer/syncstep.py b/planetstack/openstack_observer/syncstep.py index fc0cb0b..dcfea7d 100644 --- a/planetstack/openstack_observer/syncstep.py +++ b/planetstack/openstack_observer/syncstep.py @@ -44,7 +44,16 @@ class SyncStep: return def fetch_pending(self, deletion=False): - return [] + # This is the most common implementation of fetch_pending + # Steps should override it if they have their own logic + # for figuring out what objects are outstanding. + main_obj = self.provides[0] + if (not deleted): + objs = main_obj.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) + else: + objs = main_obj.deleted_objects.all() + + return objs #return Sliver.objects.filter(ip=None) def check_dependencies(self, obj, failed): -- 2.47.0