diff piecrust/processing/sitemap.py @ 430:21e26ed867b6

internal: Create full route metadata in one place. Instead of combining things at different moments to make up route metadata, build it once and for all up-front and use that.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 27 Jun 2015 08:27:35 -0700
parents 7081a5f88e10
children 62274d805a6e
line wrap: on
line diff
--- a/piecrust/processing/sitemap.py	Sat Jun 27 00:03:56 2015 -0700
+++ b/piecrust/processing/sitemap.py	Sat Jun 27 08:27:35 2015 -0700
@@ -2,6 +2,7 @@
 import logging
 import yaml
 from piecrust.processing.base import SimpleFileProcessor
+from piecrust.routing import create_route_metadata
 
 
 logger = logging.getLogger(__name__)
@@ -60,14 +61,15 @@
 
         for name in source_names:
             logger.debug("Generating automatic sitemap entries for '%s'." %
-                    name)
+                         name)
             source = self.app.getSource(name)
             if source is None:
                 raise Exception("No such source: %s" % name)
 
             for page in source.getPages():
-                route = self.app.getRoute(source.name, page.source_metadata)
-                uri = route.getUri(page.source_metadata, provider=page)
+                route_metadata = create_route_metadata(page)
+                route = self.app.getRoute(source.name, route_metadata)
+                uri = route.getUri(route_metadata)
 
                 t = page.datetime.timestamp()
                 sm_cfg = page.config.get('sitemap')