Skip to content

Commit 3b6e9e5

Browse files
committed
[base] Added support for multiple renderers #78
1 parent 28b6c28 commit 3b6e9e5

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

netjsonconfig/backends/base/backend.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,15 @@ def render(self, files=True):
126126
# convert NetJSON config to intermediate data structure
127127
if self.intermediate_data is None:
128128
self.to_intermediate()
129-
# render intermediate data structure into native configuration
130-
renderer = self.renderer(self)
131-
output = renderer.render()
132-
# remove reference to renderer instance (not needed anymore)
133-
del renderer
129+
# support multiple renderers
130+
renderers = getattr(self, 'renderers', [self.renderer])
131+
# convert intermediate data structure to native configuration
132+
output = ''
133+
for renderer_class in renderers:
134+
renderer = renderer_class(self)
135+
output += renderer.render()
136+
# remove reference to renderer instance (not needed anymore)
137+
del renderer
134138
# are we required to include
135139
# additional files?
136140
if files:

0 commit comments

Comments
 (0)