diff piecrust/sources/mixins.py @ 280:8c0c53a315ae

data: Correctly build pagination filters when we know items are pages.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 01 Mar 2015 21:39:26 -0800
parents 07b4b8484c0a
children 4b1019bb2533
line wrap: on
line diff
--- a/piecrust/sources/mixins.py	Sun Mar 01 21:38:24 2015 -0800
+++ b/piecrust/sources/mixins.py	Sun Mar 01 21:39:26 2015 -0800
@@ -2,7 +2,7 @@
 import os.path
 import logging
 from piecrust.data.base import PaginationData
-from piecrust.data.filters import PaginationFilter
+from piecrust.data.filters import PaginationFilter, page_value_accessor
 from piecrust.sources.base import PageFactory
 from piecrust.sources.interfaces import IPaginationSource, IListableSource
 
@@ -44,10 +44,6 @@
                 yield PaginationData(page)
 
 
-def page_setting_accessor(item, name):
-    return item.config.get(name)
-
-
 class SimplePaginationSourceMixin(IPaginationSource):
     """ Implements the `IPaginationSource` interface in a standard way that
         should fit most page sources.
@@ -70,13 +66,13 @@
         if conf == 'none' or conf == 'nil' or conf == '':
             conf = None
         if conf is not None:
-            f = PaginationFilter()
+            f = PaginationFilter(value_accessor=page_value_accessor)
             f.addClausesFromConfig(conf)
             return f
         return None
 
     def getSettingAccessor(self):
-        return page_setting_accessor
+        return page_value_accessor
 
 
 class SimpleListableSourceMixin(IListableSource):