calingen.contrib.compilers.download.compiler

The actual implementation of the compiler.

Module Contents

Classes

DownloadCompiler

Do not compile sources, but provide them as file download.

Attributes

SOURCE_TYPE_LOOKUP

A dict that provides meta information for file downloads.

class calingen.contrib.compilers.download.compiler.DownloadCompiler

Bases: calingen.interfaces.plugin_api.CompilerProvider

Do not compile sources, but provide them as file download.

title = DownloadCompiler
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:

Django Response object

Notes

This method is called from CompilerView's get() method with an additional keyword argument layout_type, exposing the layout_type attribute of the layout.

calingen.contrib.compilers.download.compiler.SOURCE_TYPE_LOOKUP

A dict that provides meta information for file downloads.

The get_response() uses this dict to determine the file extension and MIME type for the download, based on the layout’s layout_type attribute (see calingen.interfaces.plugin_api.LayoutProvider).