Mercurial > piecrust2
diff piecrust/generation/taxonomy.py @ 792:58ebf50235a5
routing: Simplify how routes are defined.
* No more declaring the type of route parameters -- the sources and generators
already know what type each parameter is supposed to be.
* Same for variadic parameters -- we know already.
* Update cache version to force a clear reload of the config.
* Update tests.
TODO: simplify code in the `Route` class to use source or generator transparently.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 07 Sep 2016 08:58:41 -0700 |
parents | b8e760b3413e |
children |
line wrap: on
line diff
--- a/piecrust/generation/taxonomy.py Mon Sep 05 22:30:05 2016 -0700 +++ b/piecrust/generation/taxonomy.py Wed Sep 07 08:58:41 2016 -0700 @@ -8,6 +8,7 @@ PaginationFilter, SettingFilterClause, page_value_accessor) from piecrust.generation.base import PageGenerator, InvalidRecordExtraKey +from piecrust.routing import RouteParameter logger = logging.getLogger(__name__) @@ -68,6 +69,13 @@ self.slugify_mode = _parse_slugify_mode(sm) self.slugifier = _Slugifier(self.taxonomy, self.slugify_mode) + def getSupportedRouteParameters(self): + name = self.taxonomy.term_name + param_type = (RouteParameter.TYPE_PATH if self.taxonomy.is_multiple + else RouteParameter.TYPE_STRING) + return [RouteParameter(name, param_type, + variadic=self.taxonomy.is_multiple)] + def slugify(self, term): return self.slugifier.slugify(term)