origen.compiler¶
Classes¶
Compiler: Undocumented.JinjaRenderer: Helper class that provides a standard way to create an ABC usingMakoRenderer: Helper class that provides a standard way to create an ABC usingRenderer: Helper class that provides a standard way to create an ABC using
-
class
origen.compiler.Compiler(*args, **options)¶ Inheritance

-
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

-
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

-
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
See also
-
render_file(src, output_file, context)¶
-
render_str(src, context)¶
-
classmethod
resolve_filename(src)¶
-
syntax= <origen.compiler.MakoRenderer.MakoSyntax object>¶
-
class
Exceptions¶
ExplicitSyntaxRequiredError: Raised when an explicit syntax is required, but none was givenUnknownSyntaxError: Raised when an unknown syntax if given
-
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
