comparison piecrust/app.py @ 334:b034f6f15e22

bake: Several bug taxonomy-related fixes for incorrect incremental bakes. * Improve how the baker processes taxonomy terms and figures out what needs to be re-baked or not. * Create bake entries for clean taxnomy terms so they're not deleted by an incremental bake. * Add more information to bake records. * Slugify taxonomy terms is now done by the route in one place. * Fix a bug where the cache key for invalidating rendered segments was not computed the same way as when the caching was done. * Fix how term combinations are passed around, rendered, printed, parsed, etc. (TODO: more word needed in the routing functions) * Expose to the template whether a taxonomy term is a combination or not. * Display term combinations better in the built-in theme. * Rename `route.taxonomy` to `route.taxonomy_name` to prevent confusion. * Add options to show bake records for previous bakes.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 03 Apr 2015 10:59:50 -0700
parents 422052d2e978
children ad3e6496f5c3
comparison
equal deleted inserted replaced
333:91b07f9efdc1 334:b034f6f15e22
529 return None 529 return None
530 530
531 def getRoutes(self, source_name, skip_taxonomies=False): 531 def getRoutes(self, source_name, skip_taxonomies=False):
532 for route in self.routes: 532 for route in self.routes:
533 if route.source_name == source_name: 533 if route.source_name == source_name:
534 if not skip_taxonomies or route.taxonomy is None: 534 if not skip_taxonomies or route.taxonomy_name is None:
535 yield route 535 yield route
536 536
537 def getRoute(self, source_name, source_metadata): 537 def getRoute(self, source_name, source_metadata):
538 for route in self.getRoutes(source_name, True): 538 for route in self.getRoutes(source_name, True):
539 if route.matchesMetadata(source_metadata): 539 if route.matchesMetadata(source_metadata):
540 return route 540 return route
541 return None 541 return None
542 542
543 def getTaxonomyRoute(self, tax_name, source_name): 543 def getTaxonomyRoute(self, tax_name, source_name):
544 for route in self.routes: 544 for route in self.routes:
545 if route.taxonomy == tax_name and route.source_name == source_name: 545 if route.taxonomy_name == tax_name and route.source_name == source_name:
546 return route 546 return route
547 return None 547 return None
548 548
549 def getTaxonomy(self, tax_name): 549 def getTaxonomy(self, tax_name):
550 for tax in self.taxonomies: 550 for tax in self.taxonomies: