src/pyams_content/shared/view/merge.py
changeset 796 2ef3bacda742
parent 791 29c778c100e0
child 798 754dcbb0ede9
--- a/src/pyams_content/shared/view/merge.py	Tue Jul 03 18:16:59 2018 +0200
+++ b/src/pyams_content/shared/view/merge.py	Wed Jul 04 08:56:22 2018 +0200
@@ -9,7 +9,6 @@
 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
 # FOR A PARTICULAR PURPOSE.
 #
-from pyams_utils.list import random_iter
 
 __docformat__ = 'restructuredtext'
 
@@ -60,8 +59,8 @@
     label = _("Concatenate views items in order")
 
     @classmethod
-    def get_results(cls, views, context):
-        results = (view.get_results(context) for view in views)
+    def get_results(cls, views, context, ignore_cache=False):
+        results = (view.get_results(context, ignore_cache=ignore_cache) for view in views)
         yield from chain(*results)
 
 
@@ -72,8 +71,8 @@
     label = _("Extract items randomly")
 
     @classmethod
-    def get_results(cls, views, context):
-        results = (view.get_results(context) for view in views)
+    def get_results(cls, views, context, ignore_cache=False):
+        results = (view.get_results(context, ignore_cache=ignore_cache) for view in views)
         results = list(chain(*results))
         shuffle(results)
         yield from iter(results)
@@ -86,8 +85,8 @@
     label = _("Take items from views one by one, in views order")
 
     @classmethod
-    def get_results(cls, views, context):
-        results = (view.get_results(context) for view in views)
+    def get_results(cls, views, context, ignore_cache=False):
+        results = (view.get_results(context, ignore_cache=ignore_cache) for view in views)
         for array in zip_longest(*results):
             yield from filter(lambda x: x is not None, array)
 
@@ -99,8 +98,8 @@
     label = _("Take items from views one by one, in random order")
 
     @classmethod
-    def get_results(cls, views, context):
-        results = [view.get_results(context) for view in views]
+    def get_results(cls, views, context, ignore_cache=False):
+        results = [view.get_results(context, ignore_cache=ignore_cache) for view in views]
         shuffle(results)
         for array in zip_longest(*results):
             yield from filter(lambda x: x is not None, array)
@@ -113,10 +112,11 @@
     sort_key = None
 
     @classmethod
-    def get_results(cls, views, context):
+    def get_results(cls, views, context, ignore_cache=False):
         results = (view.get_results(context,
                                     sort_index=cls.sort_index,
-                                    reverse=True)
+                                    reverse=True,
+                                    ignore_cache=ignore_cache)
                    for view in views)
         yield from merge(*results, key=cls.sort_key)