]>
git.proxmox.com Git - mirror_ifupdown2.git/blob - pkg/template.py
7 class templateEngine():
8 """ has template rendering methods """
10 def __init__(self
, template_engine
, template_lookuppath
=None):
11 self
.logger
= logging
.getLogger('ifupdown.' +
12 self
.__class
__.__name
__)
15 self
.render
= self
._render
_default
16 if template_engine
== 'mako':
18 self
.tclass
= utils
.importName('mako.template', 'Template')
20 self
.logger
.warn('unable to load template engine %s (%s)'
21 %(template_engine
, str(e
)))
23 if template_lookuppath
:
25 self
.logger
.debug('setting template lookuppath to %s'
27 lc
= utils
.importName('mako.lookup', 'TemplateLookup')
28 self
.tclassargs
['lookup'] = lc(
29 directories
=template_lookuppath
.split(':'))
31 self
.logger
.warn('unable to set template lookup path' +
32 ' %s (%s)' %(template_lookuppath
, str(e
)))
34 self
.render
= self
._render
_mako
36 self
.logger
.info('skip template processing.., ' +
37 'template engine not found')
39 def _render_default(self
, textdata
):
42 def _render_mako(self
, textdata
):
43 """ render textdata passed as argument using mako
45 Returns rendered textdata """
49 self
.logger
.info('template processing on interfaces file ...')
50 t
= self
.tclass(text
=textdata
, output_encoding
='utf-8',
51 lookup
=self
.tclassargs
.get('lookup'))