calingen.contrib.compilers.html_or_download.compiler¶
The actual implementation of the compiler.
This is a simple extension of
calingen.contrib.compilers.download.compiler.DownloadCompiler that
serves HTML-based content directly.
Module Contents¶
Classes¶
Provide an HTTP response, if the layout renders to HTML or a file download otherwise. |
Attributes¶
A |
- class calingen.contrib.compilers.html_or_download.compiler.HtmlOrDownloadCompiler¶
Bases:
calingen.interfaces.plugin_api.CompilerProviderProvide an HTTP response, if the layout renders to HTML or a file download otherwise.
- title = HtmlOrDownloadCompiler¶
- classmethod get_response(source, layout_type=None)¶
Get the compiler’s HTTP response.
This is the compiler’s main interface to other components of the app.
It should be used to actually trigger the compilation of the provided source and then return a valid Django Response object.
- Parameters:
source (str) – The source as provided by
LayoutProvider.render().- Return type:
Notes
This method is called from
CompilerView's get() methodwith an additional keyword argumentlayout_type, exposing thelayout_typeattribute of the layout.
- calingen.contrib.compilers.html_or_download.compiler.SOURCE_TYPE_LOOKUP¶
A
dictthat provides meta information for file downloads.The
get_response()uses thisdictto determine the file extension and MIME type for the download, based on the layout’slayout_typeattribute (seecalingen.interfaces.plugin_api.LayoutProvider).