From: Sapan Bhatia Date: Wed, 23 Jul 2014 12:59:30 +0000 (-0400) Subject: Provide default implementation of fetch_pending to remove redundant code X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=37dc4f64925611044389505127ca6b62057b6bf8;hp=c8a72f0a8070ff52efcc818397e1abe5b9ba4b75;p=plstackapi.git Provide default implementation of fetch_pending to remove redundant code from steps. --- 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):