jdahlin - in flumotion/trunk: . flumotion/common flumotion/test
flumotion/wizard
flumotion-commit at lists.fluendo.com
flumotion-commit at lists.fluendo.com
Mon Apr 28 17:40:41 CEST 2008
Author: jdahlin
Date: Mon Apr 28 17:40:41 2008
New Revision: 6580
Log:
2008-04-28 Johan Dahlin <johan at flumotion.com>
* flumotion/common/xmlwriter.py:
* flumotion/test/test_wizard_save.py:
* flumotion/wizard/configurationwriter.py:
Update xmlwriter from gobject-introspection copy, it
can line write attributes properly.
Update tests and change callsite slightly.
Modified:
flumotion/trunk/ChangeLog
flumotion/trunk/flumotion/common/xmlwriter.py
flumotion/trunk/flumotion/test/test_wizard_save.py
flumotion/trunk/flumotion/wizard/configurationwriter.py
Modified: flumotion/trunk/ChangeLog
==============================================================================
--- flumotion/trunk/ChangeLog (original)
+++ flumotion/trunk/ChangeLog Mon Apr 28 17:40:41 2008
@@ -1,6 +1,15 @@
2008-04-28 Johan Dahlin <johan at flumotion.com>
* flumotion/common/xmlwriter.py:
+ * flumotion/test/test_wizard_save.py:
+ * flumotion/wizard/configurationwriter.py:
+ Update xmlwriter from gobject-introspection copy, it
+ can line write attributes properly.
+ Update tests and change callsite slightly.
+
+2008-04-28 Johan Dahlin <johan at flumotion.com>
+
+ * flumotion/common/xmlwriter.py:
* flumotion/wizard/configurationwriter.py:
Move xmlwriter out of the wizard.
Modified: flumotion/trunk/flumotion/common/xmlwriter.py
==============================================================================
--- flumotion/trunk/flumotion/common/xmlwriter.py (original)
+++ flumotion/trunk/flumotion/common/xmlwriter.py Mon Apr 28 17:40:41 2008
@@ -30,19 +30,41 @@
self._data = StringIO()
self._tagStack = []
self._indent = 0
+ self._indentChar = ' '
+ self._indentUnit = 2
# Private
- def _collectAttributes(self, attributes):
+ def _calcAttrsLength(self, attributes, indent):
+ if indent == -1:
+ return -1
+ attrLength = 0
+ for attr, value in attributes:
+ attrLength += 1 + len(attr) + len(quoteattr(value))
+ return attrLength + indent
+
+ def _collectAttributes(self, attributes, indent=-1):
+ if not attributes:
+ return ''
+
+ if self._calcAttrsLength(attributes, indent) > 79:
+ indentLen = self._indent + indent
+ else:
+ indentLen = 0
+ first = True
attrValue = ''
- if attributes:
- for attr, value in attributes:
- assert value is not None, attr
- attrValue += ' %s=%s' % (attr, quoteattr(value))
+ for attr, value in attributes:
+ if indentLen and not first:
+ attrValue += '\n%s' % (self._indentChar * indentLen)
+ assert value is not None, attr
+ attrValue += ' %s=%s' % (attr, quoteattr(value))
+ if first:
+ first = False
return attrValue
def _openTag(self, tagName, attributes=None):
- attrs = self._collectAttributes(attributes)
+ attrs = self._collectAttributes(
+ attributes, len(tagName) + 1)
self.writeLine('<%s%s>' % (tagName, attrs))
def _closeTag(self, tagName):
@@ -61,19 +83,24 @@
"""Write a line to the xml.
This method honors the current indentation.
"""
- self._data.write('%s%s\n' % (' ' * self._indent, line))
+ self._data.write('%s%s\n' % (self._indentChar * self._indent, line))
- def writeTagWithData(self, tagName, data, attributes=None):
+ def writeTag(self, tagName, attributes=None, data=None):
"""Writes out and closes a tag. Optionally writes data as a child node.
@param tagName: name of the tag
- @param data: data or None
@param attributes: attributes or None
+ @param data: data or None
"""
- attrs = self._collectAttributes(attributes)
- if data is None:
- self.writeLine('<%s%s/>' % (tagName, attrs))
+ if attributes is None:
+ attributes = []
+ prefix = '<%s' % (tagName,)
+ if data is not None:
+ suffix = '>%s</%s>' % (data, tagName)
else:
- self.writeLine('<%s%s>%s</%s>' % (tagName, attrs, data, tagName))
+ suffix = '/>'
+ attrs = self._collectAttributes(
+ attributes, len(prefix) + len(suffix))
+ self.writeLine(prefix + attrs + suffix)
def pushTag(self, tagName, attributes=None):
"""Push a tag::
@@ -86,13 +113,13 @@
"""
self._openTag(tagName, attributes)
self._tagStack.append(tagName)
- self._indent += 2
+ self._indent += self._indentUnit
def popTag(self):
"""Decreases the indentation and closes the previously opened tag.
@returns: name of the closed tag
"""
- self._indent -= 2
+ self._indent -= self._indentUnit
tagName = self._tagStack.pop()
self._closeTag(tagName)
return tagName
Modified: flumotion/trunk/flumotion/test/test_wizard_save.py
==============================================================================
--- flumotion/trunk/flumotion/test/test_wizard_save.py (original)
+++ flumotion/trunk/flumotion/test/test_wizard_save.py Mon Apr 28 17:40:41 2008
@@ -61,8 +61,11 @@
testsuite.diffStrings(
('<planet>\n'
' <flow name="flow">\n'
- ' <component name="name" type="streamer" '
- 'project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="name"\n'
+ ' type="streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' </component>\n'
' </flow>\n'
'</planet>\n' % dict(version=configure.version)),
@@ -78,8 +81,11 @@
testsuite.diffStrings(
('<planet>\n'
' <atmosphere>\n'
- ' <component name="name" type="streamer" '
- 'project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="name"\n'
+ ' type="streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="foo">bar</property>\n'
' </component>\n'
@@ -100,8 +106,11 @@
testsuite.diffStrings(
('<planet>\n'
' <flow name="flow">\n'
- ' <component name="name" type="streamer" '
- 'project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="name"\n'
+ ' type="streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <plugs>\n'
' <plug type="plug-type">\n'
@@ -129,14 +138,20 @@
testsuite.diffStrings(
('<planet>\n'
' <flow name="flow">\n'
- ' <component name="name" type="first" '
- 'project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="name"\n'
+ ' type="first"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>name</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="name" type="second" '
- 'project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="name"\n'
+ ' type="second"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' </component>\n'
' </flow>\n'
'</planet>\n' % dict(version=configure.version)),
@@ -221,13 +236,19 @@
testsuite.diffStrings(
('<planet>\n'
' <atmosphere>\n'
- ' <component name="http-server-audio-video" type="http-server" '
- 'project="flumotion" worker="server-worker" version="%(version)s">\n'
+ ' <component name="http-server-audio-video"\n'
+ ' type="http-server"\n'
+ ' project="flumotion"\n'
+ ' worker="server-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="mount-point">/mount/</property>\n'
' </component>\n'
- ' <component name="porter-audio-video" type="porter" '
- 'project="flumotion" worker="streamer-worker" version="%(version)s">\n'
+ ' <component name="porter-audio-video"\n'
+ ' type="porter"\n'
+ ' project="flumotion"\n'
+ ' worker="streamer-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="password">password</property>\n'
' <property name="port">8080</property>\n'
@@ -236,8 +257,11 @@
' </component>\n'
' </atmosphere>\n'
' <flow name="flow">\n'
- ' <component name="http-audio-video" type="http-streamer" '
- 'project="flumotion" worker="streamer-worker" version="%(version)s">\n'
+ ' <component name="http-audio-video"\n'
+ ' type="http-streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="streamer-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>muxer-audio-video</feed>\n'
' </eater>\n'
@@ -245,29 +269,44 @@
' <property name="burst-on-connect">False</property>\n'
' <property name="port">8080</property>\n'
' </component>\n'
- ' <component name="producer-audio" type="audio-producer" '
- 'project="flumotion" worker="audio-producer-worker" version="%(version)s">\n'
- ' </component>\n'
- ' <component name="encoder-audio" type="audio-encoder" '
- 'project="flumotion" worker="audio-encoder-worker" version="%(version)s">\n'
+ ' <component name="producer-audio"\n'
+ ' type="audio-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="audio-producer-worker"\n'
+ ' version="%(version)s">\n'
+ ' </component>\n'
+ ' <component name="encoder-audio"\n'
+ ' type="audio-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="audio-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="producer-video" type="video-producer" '
- 'project="flumotion" worker="video-producer-worker" version="%(version)s">\n'
+ ' <component name="producer-video"\n'
+ ' type="video-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="video-producer-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="height">480</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="encoder-video" type="video-encoder" '
- 'project="flumotion" worker="video-encoder-worker" version="%(version)s">\n'
+ ' <component name="encoder-video"\n'
+ ' type="video-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="video-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>overlay-video</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="overlay-video" type="overlay-converter" '
- 'project="flumotion" worker="overlay-worker" version="%(version)s">\n'
+ ' <component name="overlay-video"\n'
+ ' type="overlay-converter"\n'
+ ' project="flumotion"\n'
+ ' worker="overlay-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-video</feed>\n'
' </eater>\n'
@@ -279,8 +318,11 @@
' <property name="text">Fluendo</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="muxer-audio-video" type="default-muxer" '
- 'project="flumotion" worker="muxer-worker" version="%(version)s">\n'
+ ' <component name="muxer-audio-video"\n'
+ ' type="default-muxer"\n'
+ ' project="flumotion"\n'
+ ' worker="muxer-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>encoder-audio</feed>\n'
' <feed>encoder-video</feed>\n'
@@ -308,20 +350,29 @@
testsuite.diffStrings(
('<planet>\n'
' <flow name="flow">\n'
- ' <component name="encoder-audio" type="audio-encoder" '
- 'project="flumotion" worker="audio-encoder-worker" version="%(version)s">\n'
+ ' <component name="encoder-audio"\n'
+ ' type="audio-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="audio-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio-video</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="producer-audio-video" type="both-producer" '
- 'project="flumotion" worker="both-producer-worker" version="%(version)s">\n'
+ ' <component name="producer-audio-video"\n'
+ ' type="both-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="both-producer-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="height">480</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="encoder-video" type="video-encoder" '
- 'project="flumotion" worker="video-encoder-worker" version="%(version)s">\n'
+ ' <component name="encoder-video"\n'
+ ' type="video-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="video-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio-video</feed>\n'
' </eater>\n'
@@ -362,7 +413,11 @@
testsuite.diffStrings(
('<planet>\n'
' <flow name="flow">\n'
- ' <component name="http-audio-video" type="http-streamer" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="http-audio-video"\n'
+ ' type="http-streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>muxer-audio-video</feed>\n'
' </eater>\n'
@@ -370,25 +425,41 @@
' <property name="burst-on-connect">False</property>\n'
' <property name="port">8080</property>\n'
' </component>\n'
- ' <component name="producer-audio" type="audiotest-producer" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="producer-audio"\n'
+ ' type="audiotest-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="rate">44100</property>\n'
' </component>\n'
- ' <component name="encoder-audio" type="vorbis-encoder" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="encoder-audio"\n'
+ ' type="vorbis-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio</feed>\n'
' </eater>\n'
' \n'
' <property name="bitrate">64000</property>\n'
' </component>\n'
- ' <component name="producer-video" type="videotest-producer" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="producer-video"\n'
+ ' type="videotest-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="format">video/x-raw-yuv</property>\n'
' <property name="height">240</property>\n'
' <property name="pattern">0</property>\n'
' <property name="width">320</property>\n'
' </component>\n'
- ' <component name="encoder-video" type="theora-encoder" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="encoder-video"\n'
+ ' type="theora-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>overlay-video</feed>\n'
' </eater>\n'
@@ -398,7 +469,11 @@
' <property name="quality">16</property>\n'
' <property name="sharpness">0</property>\n'
' </component>\n'
- ' <component name="overlay-video" type="overlay-converter" project="flumotion" worker="overlay-worker" version="%(version)s">\n'
+ ' <component name="overlay-video"\n'
+ ' type="overlay-converter"\n'
+ ' project="flumotion"\n'
+ ' worker="overlay-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-video</feed>\n'
' </eater>\n'
@@ -410,7 +485,11 @@
' <property name="width">320</property>\n'
' <property name="xiph-logo">True</property>\n'
' </component>\n'
- ' <component name="muxer-audio-video" type="ogg-muxer" project="flumotion" worker="muxer-worker" version="%(version)s">\n'
+ ' <component name="muxer-audio-video"\n'
+ ' type="ogg-muxer"\n'
+ ' project="flumotion"\n'
+ ' worker="muxer-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>encoder-audio</feed>\n'
' <feed>encoder-video</feed>\n'
@@ -446,7 +525,11 @@
testsuite.diffStrings(
('<planet>\n'
' <flow name="flow">\n'
- ' <component name="http-audio-only" type="http-streamer" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="http-audio-only"\n'
+ ' type="http-streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>muxer-audio-only</feed>\n'
' </eater>\n'
@@ -454,11 +537,19 @@
' <property name="burst-on-connect">False</property>\n'
' <property name="port">8080</property>\n'
' </component>\n'
- ' <component name="producer-audio" type="audiotest-producer" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="producer-audio"\n'
+ ' type="audiotest-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="rate">44100</property>\n'
' </component>\n'
- ' <component name="encoder-audio" type="vorbis-encoder" project="flumotion" worker="worker" version="%(version)s">\n'
+ ' <component name="encoder-audio"\n'
+ ' type="vorbis-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio</feed>\n'
' </eater>\n'
@@ -498,13 +589,19 @@
testsuite.diffStrings(
('<planet>\n'
' <atmosphere>\n'
- ' <component name="http-server-audio-video" type="http-server" '
- 'project="flumotion" worker="server-worker" version="%(version)s">\n'
+ ' <component name="http-server-audio-video"\n'
+ ' type="http-server"\n'
+ ' project="flumotion"\n'
+ ' worker="server-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="mount-point">/mount/</property>\n'
' </component>\n'
- ' <component name="porter-audio-video" type="porter" '
- 'project="flumotion" worker="streamer-worker" version="%(version)s">\n'
+ ' <component name="porter-audio-video"\n'
+ ' type="porter"\n'
+ ' project="flumotion"\n'
+ ' worker="streamer-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="password">password</property>\n'
' <property name="port">8080</property>\n'
@@ -513,8 +610,11 @@
' </component>\n'
' </atmosphere>\n'
' <flow name="flow">\n'
- ' <component name="http-audio-video" type="http-streamer" '
- 'project="flumotion" worker="streamer-worker" version="%(version)s">\n'
+ ' <component name="http-audio-video"\n'
+ ' type="http-streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="streamer-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>muxer-audio-video</feed>\n'
' </eater>\n'
@@ -522,28 +622,39 @@
' <property name="burst-on-connect">False</property>\n'
' <property name="port">8080</property>\n'
' </component>\n'
- ' <component name="encoder-audio" type="audio-encoder" '
- 'project="flumotion" worker="audio-encoder-worker" version="%(version)s">\n'
+ ' <component name="encoder-audio"\n'
+ ' type="audio-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="audio-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio-video:audio</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="producer-audio-video" '
- 'type="firewire-producer" project="flumotion" '
- 'worker="firewire-video-producer-worker" version="%(version)s">\n'
+ ' <component name="producer-audio-video"\n'
+ ' type="firewire-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="firewire-video-producer-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="height">480</property>\n'
' <property name="is-square">False</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="encoder-video" type="video-encoder" '
- 'project="flumotion" worker="video-encoder-worker" version="%(version)s">\n'
+ ' <component name="encoder-video"\n'
+ ' type="video-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="video-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>overlay-video</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="overlay-video" type="overlay-converter" '
- 'project="flumotion" worker="overlay-worker" version="%(version)s">\n'
+ ' <component name="overlay-video"\n'
+ ' type="overlay-converter"\n'
+ ' project="flumotion"\n'
+ ' worker="overlay-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio-video:video</feed>\n'
' </eater>\n'
@@ -555,8 +666,11 @@
' <property name="text">Fluendo</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="muxer-audio-video" type="default-muxer" '
- 'project="flumotion" worker="muxer-worker" version="%(version)s">\n'
+ ' <component name="muxer-audio-video"\n'
+ ' type="default-muxer"\n'
+ ' project="flumotion"\n'
+ ' worker="muxer-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>encoder-audio</feed>\n'
' <feed>encoder-video</feed>\n'
@@ -600,13 +714,19 @@
testsuite.diffStrings(
('<planet>\n'
' <atmosphere>\n'
- ' <component name="http-server-audio-video" type="http-server" '
- 'project="flumotion" worker="server-worker" version="%(version)s">\n'
+ ' <component name="http-server-audio-video"\n'
+ ' type="http-server"\n'
+ ' project="flumotion"\n'
+ ' worker="server-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="mount-point">/mount/</property>\n'
' </component>\n'
- ' <component name="porter-audio-video" type="porter" '
- 'project="flumotion" worker="streamer-worker" version="%(version)s">\n'
+ ' <component name="porter-audio-video"\n'
+ ' type="porter"\n'
+ ' project="flumotion"\n'
+ ' worker="streamer-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="password">password</property>\n'
' <property name="port">8080</property>\n'
@@ -615,8 +735,11 @@
' </component>\n'
' </atmosphere>\n'
' <flow name="flow">\n'
- ' <component name="http-audio-video" type="http-streamer" '
- 'project="flumotion" worker="streamer-worker" version="%(version)s">\n'
+ ' <component name="http-audio-video"\n'
+ ' type="http-streamer"\n'
+ ' project="flumotion"\n'
+ ' worker="streamer-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>muxer-audio-video</feed>\n'
' </eater>\n'
@@ -624,36 +747,49 @@
' <property name="burst-on-connect">False</property>\n'
' <property name="port">8080</property>\n'
' </component>\n'
- ' <component name="producer-audio" '
- 'type="firewire-producer" project="flumotion" '
- 'worker="audio-worker" version="%(version)s">\n'
+ ' <component name="producer-audio"\n'
+ ' type="firewire-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="audio-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="height">480</property>\n'
' <property name="is-square">False</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="encoder-audio" type="audio-encoder" '
- 'project="flumotion" worker="audio-encoder-worker" version="%(version)s">\n'
+ ' <component name="encoder-audio"\n'
+ ' type="audio-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="audio-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-audio:audio</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="producer-video" '
- 'type="firewire-producer" project="flumotion" '
- 'worker="video-worker" version="%(version)s">\n'
+ ' <component name="producer-video"\n'
+ ' type="firewire-producer"\n'
+ ' project="flumotion"\n'
+ ' worker="video-worker"\n'
+ ' version="%(version)s">\n'
' \n'
' <property name="height">480</property>\n'
' <property name="is-square">False</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="encoder-video" type="video-encoder" '
- 'project="flumotion" worker="video-encoder-worker" version="%(version)s">\n'
+ ' <component name="encoder-video"\n'
+ ' type="video-encoder"\n'
+ ' project="flumotion"\n'
+ ' worker="video-encoder-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>overlay-video</feed>\n'
' </eater>\n'
' </component>\n'
- ' <component name="overlay-video" type="overlay-converter" '
- 'project="flumotion" worker="overlay-worker" version="%(version)s">\n'
+ ' <component name="overlay-video"\n'
+ ' type="overlay-converter"\n'
+ ' project="flumotion"\n'
+ ' worker="overlay-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>producer-video:video</feed>\n'
' </eater>\n'
@@ -665,8 +801,11 @@
' <property name="text">Fluendo</property>\n'
' <property name="width">640</property>\n'
' </component>\n'
- ' <component name="muxer-audio-video" type="default-muxer" '
- 'project="flumotion" worker="muxer-worker" version="%(version)s">\n'
+ ' <component name="muxer-audio-video"\n'
+ ' type="default-muxer"\n'
+ ' project="flumotion"\n'
+ ' worker="muxer-worker"\n'
+ ' version="%(version)s">\n'
' <eater name="default">\n'
' <feed>encoder-audio</feed>\n'
' <feed>encoder-video</feed>\n'
Modified: flumotion/trunk/flumotion/wizard/configurationwriter.py
==============================================================================
--- flumotion/trunk/flumotion/wizard/configurationwriter.py (original)
+++ flumotion/trunk/flumotion/wizard/configurationwriter.py Mon Apr 28 17:40:41 2008
@@ -91,7 +91,7 @@
return
self.pushTag('eater', [('name', "default")])
for sourceName in eaters:
- self.writeTagWithData('feed', sourceName)
+ self.writeTag('feed', data=sourceName)
self.popTag()
def _writeProperties(self, properties):
@@ -106,8 +106,7 @@
if isinstance(value, tuple):
assert len(value) == 2
value = '%d/%d' % value
- self.writeTagWithData('property', value,
- attributes=[('name', name)])
+ self.writeTag('property', [('name', name)], value)
def _writeComponentPlugs(self, plugs):
if not plugs:
More information about the flumotion-commit
mailing list