--- 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)