cement.core.template
¶
Cement core template module.
-
class
cement.core.template.
TemplateHandler
(*args, **kwargs)[source]¶ Bases:
cement.core.template.TemplateInterface
,cement.core.handler.Handler
Base class that all template implementations should sub-class from. Keyword arguments passed to this class will override meta-data options.
-
copy
(src, dest, data, force=False, exclude=None, ignore=None)[source]¶ Render
src
directory as template, including directory and file names, and copy todest
directory.Parameters: - src (str) – The source directory path.
- dest (str) – The destination directory path.
- data (dict) – The data dictionary to interpolate in the template.
- force (bool) – Whether to overwrite existing files.
- exclude (list) – List of regular expressions to match files that should only be copied, and not rendered as template.
- ignore (list) – List of regular expressions to match files that should be completely ignored and not copied at all.
Returns: Returns
True
if the copy completed successfully.Return type: Raises: AssertionError
– If thesrc
template directory path does not exists, and when adest
file already exists andforce is not True
.
-
load
(template_path)[source]¶ Loads a template file first from
self.app._meta.template_dirs
and secondly fromself.app._meta.template_module
. Thetemplate_dirs
have presedence.Parameters: template_path (str) – The secondary path of the template after either template_module
ortemplate_dirs
prefix (set viaApp.Meta
)Returns: The content of the template ( str
), the type of template (str
:directory
, ormodule
), and the path (str
) of the directory or module)Return type: tuple Raises: cement.core.exc.FrameworkError
– If the template does not exist in either thetemplate_module
ortemplate_dirs
.
-
-
class
cement.core.template.
TemplateInterface
(**kw)[source]¶ Bases:
cement.core.interface.Interface
This class defines the Template Interface. Handlers that implement this interface must provide the methods and attributes defined below. In general, most implementations should sub-class from the provided
TemplateHandler
base class as a starting point.-
class
Meta
[source]¶ Bases:
object
Handler meta-data.
-
interface
= 'template'¶ The string identifier of the interface
-
-
copy
(src, dest, data)[source]¶ Render the
src
directory path, and copy todest
. This method must render directory and file names as template content, as well as the contents of files.Parameters: Returns: None
-
load
(path)[source]¶ Loads a template file first from
self.app._meta.template_dirs
and secondly fromself.app._meta.template_module
. Thetemplate_dirs
have presedence.Parameters: path (str) – The secondary path of the template after either template_module
ortemplate_dirs
prefix (set viaApp.Meta
)Returns: The content of the template ( str
), the type of template (str
:directory
, ormodule
), and the path (str
) of the directory or module)Return type: tuple Raises: cement.core.exc.FrameworkError
– If the template does not exist in either thetemplate_module
ortemplate_dirs
.
-
class