summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2014-10-11 17:38:13 +0200
committerChristian Pointner <equinox@spreadspace.org>2014-10-11 17:38:13 +0200
commit95346385f0b6e36050c4bc5fa3f00aadc0c5fbcf (patch)
tree51694ae9829072147cc0377d617ffabc66ec7f8a
parentupdated copyright notice (diff)
redone http plugs, added support for sfive
-rwxr-xr-xsrc/flufigut.py21
-rw-r--r--templates/flumotion/default/http-stream.xml27
2 files changed, 36 insertions, 12 deletions
diff --git a/src/flufigut.py b/src/flufigut.py
index f29deb3..83e1220 100755
--- a/src/flufigut.py
+++ b/src/flufigut.py
@@ -403,10 +403,23 @@ if output_format == 'flumotion':
'port': port,
}
}
- if 'rrd-dir' in globals.keys():
- flow['streamer'][name]['rrd_dir'] = globals['rrd-dir'], name
- flow['streamer'][name]['rrd_clients'] = "%s/%s_clients.rrd" % (globals['rrd-dir'], name)
- flow['streamer'][name]['rrd_bytes'] = "%s/%s_bytes.rrd" % (globals['rrd-dir'], name)
+
+ if 'stats' in globals.keys():
+ flow['streamer'][name]['plugs'] = {}
+ if 'rrd' in globals['stats'].keys():
+ flow['streamer'][name]['plugs']['rrd'] = {}
+ flow['streamer'][name]['plugs']['rrd']['clients'] = "%s/%s_clients.rrd" % (globals['stats']['rrd']['directory'], name)
+ flow['streamer'][name]['plugs']['rrd']['bytes'] = "%s/%s_bytes.rrd" % (globals['stats']['rrd']['directory'], name)
+
+ if 'sfive' in globals['stats'].keys():
+ flow['streamer'][name]['plugs']['sfive'] = {}
+ flow['streamer'][name]['plugs']['sfive']['socket'] = globals['stats']['sfive']['socket']
+ flow['streamer'][name]['plugs']['sfive']['duration'] = globals['stats']['sfive']['duration']
+ flow['streamer'][name]['plugs']['sfive']['tags'] = globals['stats']['sfive']['tags']
+ flow['streamer'][name]['plugs']['sfive']['hostname'] = '%s-%s%i' % (stream[cluster]['type'], cluster, idx+1)
+ flow['streamer'][name]['plugs']['sfive']['content-id'] = mux_name
+ flow['streamer'][name]['plugs']['sfive']['format'] = format
+ flow['streamer'][name]['plugs']['sfive']['quality'] = profile
for prop in stream[cluster]:
if prop == 'max-con':
diff --git a/templates/flumotion/default/http-stream.xml b/templates/flumotion/default/http-stream.xml
index 3de894a..f9af92e 100644
--- a/templates/flumotion/default/http-stream.xml
+++ b/templates/flumotion/default/http-stream.xml
@@ -7,18 +7,29 @@
<eater name="default">
<feed alias="default">{{ component.feeder }}</feed>
</eater>
+%% if component.plugs is defined
<plugs>
-%% if component.rrd_dir is defined
+%% for name, value in component.plugs.items()
+%% if name == 'rrd'
<plug socket="flumotion.component.plugs.rrd.ComponentRRDPlug" type="component-rrd">
-%% if component.rrd_clients is defined
- <property name="clients-connected-file">{{ component.rrd_clients }}</property>
-%% endif
-%% if component.rrd_bytes is defined
- <property name="bytes-transferred-file">{{ component.rrd_bytes }}</property>
-%% endif
+ <property name="clients-connected-file">{{ value.clients }}</property>
+ <property name="bytes-transferred-file">{{ value.bytes }}</property>
</plug>
-%% endif
+%% endif
+%% if name == 'sfive'
+ <plug socket="flumotion.component.plugs.sfive.ComponentSFivePlug" type="component-sfive">
+%% for name, value in value.items()
+%% if name != 'tags'
+ <property name="{{ name }}">{{ value }}</property>
+%% else
+ <property name="tags">{{ value|join(', ') }}</property>
+%% endif
+%% endfor
+ </plug>
+%% endif
+%% endfor
</plugs>
+%% endif
%% for name, value in component.properties.items()
%% if name != 'samplerate'
<property name="{{ name }}">{{ value }}</property>