summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/examples/elevate2018.yml2
-rwxr-xr-xsrc/flufigut.py13
-rw-r--r--templates/flumotion/default/planet.xml14
3 files changed, 20 insertions, 9 deletions
diff --git a/src/examples/elevate2018.yml b/src/examples/elevate2018.yml
index 1c6ea1d..a38db6f 100644
--- a/src/examples/elevate2018.yml
+++ b/src/examples/elevate2018.yml
@@ -45,7 +45,7 @@ globals:
inputs:
sdi-orig:
type: decklink
- master: true,
+ master: true
properties:
resolution: 1080p25
samplerate: 48000
diff --git a/src/flufigut.py b/src/flufigut.py
index 611764c..272dbee 100755
--- a/src/flufigut.py
+++ b/src/flufigut.py
@@ -29,9 +29,10 @@
import string
import random
+import os
import sys
import yaml
-# from jinja2 import Environment, FileSystemLoader
+import jinja2
# helper functions ############################################
#
@@ -476,6 +477,15 @@ class Planet:
self._generate_records()
return self._unassigned_components
+ def toXML(self, template_dir, output_file):
+ loader = jinja2.FileSystemLoader(os.path.join(template_dir, self._desc.globals['templates']))
+ env = jinja2.Environment(loader=loader, line_statement_prefix='%%')
+ template = env.get_template('planet.xml')
+ planet_xml = template.render(globals=self._desc.globals, atmosphere=self.atmosphere, flow=self.flow)
+
+ with open(output_file, 'wb') as f:
+ f.write(planet_xml.encode("utf8"))
+ f.write(b'\n')
# Main ########################################################
#
@@ -503,6 +513,7 @@ if __name__ == '__main__':
print("- " + c)
sys.exit(1)
+ p.toXML('../templates/flumotion/', 'output/planet.xml')
print("****************************************************")
print("** atmosphere **")
print("**")
diff --git a/templates/flumotion/default/planet.xml b/templates/flumotion/default/planet.xml
index 7a45913..9c4e31a 100644
--- a/templates/flumotion/default/planet.xml
+++ b/templates/flumotion/default/planet.xml
@@ -20,37 +20,37 @@
<flow name="{{ globals.name }}">
<!-- raw-input, resizing and resampling -->
-{% for name, component in flow['input'].items() %}
+{% for name, component in flow['inputs'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
<!-- encoding -->
<!-- audio -->
-{% for name, component in flow['encoder_audio'].items() %}
+{% for name, component in flow['encoders-audio'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
<!-- video -->
-{% for name, component in flow['encoder_video'].items() %}
+{% for name, component in flow['encoders-video'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
<!-- muxing -->
-{% for name, component in flow['muxer'].items() %}
+{% for name, component in flow['muxers'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
<!-- repeater -->
-{% for name, component in flow['repeater'].items() %}
+{% for name, component in flow['repeaters'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
<!-- streaming -->
-{% for name, component in flow['streamer'].items() %}
+{% for name, component in flow['streamers'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
<!-- recording -->
-{% for name, component in flow['recorder'].items() %}
+{% for name, component in flow['recorders'].items() %}
{% include '%s.xml' % component.type %}
{% endfor %}
</flow>