changeset 48:002fa58f54dc

Give the proper URL to `Paginator` in the `paginate` filter.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 22 Aug 2014 20:25:41 -0700
parents 558e3602be40
children fce061f8c2ed
files piecrust/templating/jinjaengine.py
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/piecrust/templating/jinjaengine.py	Fri Aug 22 12:25:35 2014 -0700
+++ b/piecrust/templating/jinjaengine.py	Fri Aug 22 20:25:41 2014 -0700
@@ -13,7 +13,7 @@
 from piecrust.rendering import format_text
 from piecrust.routing import CompositeRouteFunction
 from piecrust.templating.base import TemplateEngine, TemplateNotFoundError
-from piecrust.uriutil import multi_replace
+from piecrust.uriutil import multi_replace, get_first_sub_uri
 
 
 logger = logging.getLogger(__name__)
@@ -116,7 +116,8 @@
         if cpi is None or cpi.page is None or cpi.render_ctx is None:
             raise Exception("Can't paginate when no page has been pushed "
                             "on the execution stack.")
-        return Paginator(cpi.page, value, cpi.render_ctx.uri,
+        first_uri = get_first_sub_uri(self.app, cpi.render_ctx.uri)
+        return Paginator(cpi.page, value, first_uri,
                 page_num=cpi.render_ctx.page_num,
                 items_per_page=items_per_page)