Mercurial > piecrust2
comparison 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 |
comparison
equal
deleted
inserted
replaced
791:504d6817352d | 792:58ebf50235a5 |
---|---|
6 from piecrust.configuration import ConfigurationError | 6 from piecrust.configuration import ConfigurationError |
7 from piecrust.data.filters import ( | 7 from piecrust.data.filters import ( |
8 PaginationFilter, SettingFilterClause, | 8 PaginationFilter, SettingFilterClause, |
9 page_value_accessor) | 9 page_value_accessor) |
10 from piecrust.generation.base import PageGenerator, InvalidRecordExtraKey | 10 from piecrust.generation.base import PageGenerator, InvalidRecordExtraKey |
11 from piecrust.routing import RouteParameter | |
11 | 12 |
12 | 13 |
13 logger = logging.getLogger(__name__) | 14 logger = logging.getLogger(__name__) |
14 | 15 |
15 | 16 |
65 sm = config.get('slugify_mode') | 66 sm = config.get('slugify_mode') |
66 if not sm: | 67 if not sm: |
67 sm = app.config.get('site/slugify_mode', 'encode') | 68 sm = app.config.get('site/slugify_mode', 'encode') |
68 self.slugify_mode = _parse_slugify_mode(sm) | 69 self.slugify_mode = _parse_slugify_mode(sm) |
69 self.slugifier = _Slugifier(self.taxonomy, self.slugify_mode) | 70 self.slugifier = _Slugifier(self.taxonomy, self.slugify_mode) |
71 | |
72 def getSupportedRouteParameters(self): | |
73 name = self.taxonomy.term_name | |
74 param_type = (RouteParameter.TYPE_PATH if self.taxonomy.is_multiple | |
75 else RouteParameter.TYPE_STRING) | |
76 return [RouteParameter(name, param_type, | |
77 variadic=self.taxonomy.is_multiple)] | |
70 | 78 |
71 def slugify(self, term): | 79 def slugify(self, term): |
72 return self.slugifier.slugify(term) | 80 return self.slugifier.slugify(term) |
73 | 81 |
74 def slugifyMultiple(self, terms): | 82 def slugifyMultiple(self, terms): |