Mercurial > piecrust2
view piecrust/sources/interfaces.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 | f130365568ff |
children | 0c74a6c4533d |
line wrap: on
line source
class IPaginationSource(object): """ Defines the interface for a source that can be used as the data for an iterator or a pagination. """ def getItemsPerPage(self): raise NotImplementedError() def getSourceIterator(self): raise NotImplementedError() def getSorterIterator(self, it): raise NotImplementedError() def getTailIterator(self, it): raise NotImplementedError() def getPaginationFilter(self, page): raise NotImplementedError() def getSettingAccessor(self): raise NotImplementedError() class IListableSource: """ Defines the interface for a source that can be iterated on in a hierarchical manner, for use with the `family` data endpoint. """ def listPath(self, rel_path): raise NotImplementedError() def getDirpath(self, rel_path): raise NotImplementedError() def getBasename(self, rel_path): raise NotImplementedError() class IPreparingSource: """ Defines the interface for a source whose pages can be created by the `chef prepare` command. """ def setupPrepareParser(self, parser, app): raise NotImplementedError() def buildMetadata(self, args): raise NotImplementedError()