## Thought it looks better without the breadcrumbs bar, and kinda redunant since we have the sidebar nav
Origen v2
:

Table Of Contents

Contents

Previous topic

origen.boot

Next topic

origen.controller

origen.compiler

Classes

  • Compiler: Undocumented.

  • JinjaRenderer: Helper class that provides a standard way to create an ABC using

  • MakoRenderer: Helper class that provides a standard way to create an ABC using

  • Renderer: Helper class that provides a standard way to create an ABC using

class origen.compiler.Compiler(*args, **options)

Inheritance

Inheritance diagram of Compiler
clear()
property last_render
pop()
push(*args, **options)
render(src, *, direct_src=False, syntax=None, context={}, use_standard_context=True, renderer_opts={}, output_dir=None, output_name=None, file_to_string=False, **options)

Direct access to compling templates.

renderer_for(src, direct_src=False, syntax=None)
resolve_filename(src, *, output_dir=None, output_name=None, renderer=None)

Resolves the output name from the source, and given options.

Resolution rules:

  • if no output_dir or output_name is given, the resolved filename will end up in

    <app_output_dir>/renders/<file.x> where the syntax-specific extension has been removed from the filename

  • if an output name is given, the name and extension is changed to the output name, but the

    output_dir remains as above.

  • if the output_dir is given, the templates are written to that location. Same rules for

    output_name apply

run(*args, **options)
select_syntax(filename, syntax=None)
property supported_extensions
property syntaxes
property templates_dir
class origen.compiler.JinjaRenderer(compiler, renderer_opts={})

Inheritance

Inheritance diagram of JinjaRenderer
file_extensions = ['jinja', 'jinja2', 'j2']
preprocessor = []
render_file(src, output_file, context)
render_str(src, context)
classmethod resolve_filename(src)
class origen.compiler.MakoRenderer(compiler, renderer_opts={})

Inheritance

Inheritance diagram of MakoRenderer
class MakoSyntax
ctrl_struct = re.compile('^\\s*\\%.*\\%')
expresions = [re.compile('\\$\\{.*\\}'), re.compile('^\\s*\\%.*\\%'), re.compile('\\<\\%\\!.*\\%\\>'), re.compile('\\<\\%.*\\>')]
inspect(arg)
module_block = re.compile('\\<\\%\\!.*\\%\\>')
tag = re.compile('\\<\\%.*\\>')
var_sub = re.compile('\\$\\{.*\\}')
file_extensions = ['mako']
preprocessor = [<function MakoRenderer.<lambda>>]

Preprocessor to remove double newlines from Windows sources

render_file(src, output_file, context)
render_str(src, context)
classmethod resolve_filename(src)
syntax = <origen.compiler.MakoRenderer.MakoSyntax object>
class origen.compiler.Renderer(compiler, renderer_opts={})

Inheritance

Inheritance diagram of Renderer
abstract property file_extensions

File extensions which this compiler recognizes.

abstract render_file(file)
abstract render_str(file)
classmethod resolve_filename(src)

Exceptions

exception origen.compiler.ExplicitSyntaxRequiredError(src, *, direct_src)

Raised when an explicit syntax is required, but none was given

Inheritance .. inheritance-diagram:: ExplicitSyntaxRequiredError :parts: 1

exception origen.compiler.UnknownSyntaxError(syntax)

Raised when an unknown syntax if given

Inheritance .. inheritance-diagram:: UnknownSyntaxError :parts: 1