index d246fe0b4813a7c8bf94023a63b6f72255a7cc9d..938d63e0ba7288b1239b728d520a6e1484de6e25 100644 (file)
-#!/usr/bin/env python \r
-'''\r
-Copyright (C) 2006 Jos Hirth, kaioa.com\r
-\r
-This program is free software; you can redistribute it and/or modify\r
-it under the terms of the GNU General Public License as published by\r
-the Free Software Foundation; either version 2 of the License, or\r
-(at your option) any later version.\r
-\r
-This program is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
-GNU General Public License for more details.\r
-\r
-You should have received a copy of the GNU General Public License\r
-along with this program; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-'''\r
-'''\r
-Example filltext sentences generated over at http://lipsum.com/\r
-'''\r
-\r
-import inkex\r
-import random\r
-\r
-foo=[\r
-'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ',\r
-'Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. ',\r
-'Phasellus at purus sed purus cursus iaculis. ',\r
-'Suspendisse fermentum. ',\r
-'Pellentesque et arcu. ',\r
-'Maecenas viverra. ',\r
-'In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. ',\r
-'Sed non ipsum. ',\r
-'Nullam venenatis gravida orci. ',\r
-'Curabitur nunc ante, ullamcorper vel, auctor a, aliquam at, tortor. ',\r
-'Etiam sodales orci nec ligula. ',\r
-'Sed at turpis vitae velit euismod aliquet. ',\r
-'Fusce venenatis ligula in pede. ',\r
-'Pellentesque viverra dolor non nunc. ',\r
-'Donec interdum vestibulum libero. ',\r
-'Morbi volutpat. ',\r
-'Phasellus hendrerit. ',\r
-'Quisque dictum quam vel neque. ',\r
-'Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. ',\r
-'Nam pharetra. ',\r
-'Nam rhoncus, lectus vel hendrerit congue, nisl lorem feugiat ante, in fermentum erat nulla tristique arcu. ',\r
-'Mauris et dolor. ',\r
-'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec gravida, ante vel ornare lacinia, orci enim porta est, eget sollicitudin lectus lectus eget lacus. ',\r
-'Praesent a lacus vitae turpis consequat semper. ',\r
-'In commodo, dolor quis fermentum ullamcorper, urna massa volutpat massa, vitae mattis purus arcu nec nulla. ',\r
-'In hac habitasse platea dictumst. ',\r
-'Praesent scelerisque. ',\r
-'Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna. ',\r
-'Vestibulum non arcu a ante feugiat vestibulum. ',\r
-'Nam laoreet dui sed magna. ',\r
-'Proin diam augue, semper vitae, varius et, viverra id, felis. ',\r
-'Pellentesque sit amet dui vel justo gravida auctor. ',\r
-'Aenean scelerisque metus eget sem. ',\r
-'Maecenas rhoncus rhoncus ipsum. ',\r
-'Donec nonummy lacinia leo. ',\r
-'Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. ',\r
-'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. ',\r
-'Mauris tempus diam. ',\r
-'Maecenas justo. ',\r
-'Sed a lorem ut est tincidunt consectetuer. ',\r
-'Ut eu metus id lectus vestibulum ultrices. ',\r
-'Suspendisse lectus. ',\r
-'Vivamus posuere, ante eu tempor dictum, felis nibh facilisis sem, eu auctor metus nulla non lorem. ',\r
-'Suspendisse potenti. ',\r
-'Integer fringilla. ',\r
-'Morbi urna. ',\r
-'Morbi pulvinar nulla sit amet nisl. ',\r
-'Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. ',\r
-'Morbi a mauris. ',\r
-'Pellentesque suscipit accumsan massa. ',\r
-'Quisque arcu ante, cursus in, ornare quis, viverra ut, justo. ',\r
-'Quisque facilisis, urna sit amet pulvinar mollis, purus arcu adipiscing velit, non condimentum diam purus eu massa. ',\r
-'Suspendisse potenti. ',\r
-'Phasellus nisi metus, tempus sit amet, ultrices ac, porta nec, felis. ',\r
-'Aliquam metus. ',\r
-'Nam a nunc. ',\r
-'Vivamus feugiat. ',\r
-'Nunc metus. ',\r
-'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus eu orci. ',\r
-'Sed elementum, felis quis porttitor sollicitudin, augue nulla sodales sapien, sit amet posuere quam purus at lacus. ',\r
-'Curabitur tincidunt tellus nec purus. ',\r
-'Nam consectetuer mollis dolor. ',\r
-'Sed quis elit. ',\r
-'Aenean luctus vulputate turpis. ',\r
-'Proin lectus orci, venenatis pharetra, egestas id, tincidunt vel, eros. ',\r
-'Nulla facilisi. ',\r
-'Aliquam vel nibh. ',\r
-'Vivamus nisi elit, nonummy id, facilisis non, blandit ac, dolor. ',\r
-'Etiam cursus purus interdum libero. ',\r
-'Nam id neque. ',\r
-'Etiam pede nunc, vestibulum vel, rutrum et, tincidunt eu, enim. ',\r
-'Aenean id purus. ',\r
-'Aenean ultrices turpis. ',\r
-'Mauris et pede. ',\r
-'Suspendisse potenti. ',\r
-'Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. ',\r
-'Maecenas convallis dui. ',\r
-'In leo ante, venenatis eu, volutpat ut, imperdiet auctor, enim. ',\r
-'Mauris ac massa vestibulum nisl facilisis viverra. ',\r
-'Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. ',\r
-'Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. ',\r
-'Praesent semper, neque vel condimentum hendrerit, lectus elit pretium ligula, nec consequat nisl velit at dui. ',\r
-'Proin dolor sapien, adipiscing id, sagittis eu, molestie viverra, mauris. ',\r
-'Aenean ligula. ',\r
-'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti. ',\r
-'Etiam pharetra lacus sed velit imperdiet bibendum. ',\r
-'Nunc in turpis ac lacus eleifend sagittis. ',\r
-'Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. ',\r
-'In tempus urna. ',\r
-'Quisque vehicula porttitor odio. ',\r
-'Aliquam sed erat. ',\r
-'Vestibulum viverra varius enim. ',\r
-'Donec ut purus. ',\r
-'Pellentesque convallis dolor vel libero. ',\r
-'Integer tempus malesuada pede. ',\r
-'Integer porta. ',\r
-'Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. ',\r
-'Nulla blandit justo a metus. ',\r
-'Curabitur accumsan felis in erat. ',\r
-'Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. ',\r
-'Nulla sagittis condimentum ligula. ',\r
-'Aliquam imperdiet lobortis metus. ',\r
-'Suspendisse molestie sem. ',\r
-'Ut venenatis. ',\r
-'Pellentesque condimentum felis a sem. ',\r
-'Fusce nonummy commodo dui. ',\r
-'Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. ',\r
-'Etiam fermentum. ',\r
-'Phasellus auctor enim eget sem. ',\r
-'Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. ',\r
-'Sed fringilla. ',\r
-'Nam malesuada sapien eu nibh. ',\r
-'Pellentesque ac turpis. ',\r
-'Nulla sed lacus. ',\r
-'Mauris sed nulla quis nisi interdum tempor. ',\r
-'Quisque pretium rutrum ligula. ',\r
-'Mauris tempor ultrices justo. ',\r
-'In hac habitasse platea dictumst. ',\r
-'Donec sit amet enim. ',\r
-'Suspendisse venenatis. ',\r
-'Nam nisl quam, posuere non, volutpat sed, semper vitae, magna. ',\r
-'Donec ut urna. ',\r
-'Integer risus velit, facilisis eget, viverra et, venenatis id, leo. ',\r
-'Cras facilisis felis sit amet lorem. ',\r
-'Nam molestie nisl at metus. ',\r
-'Suspendisse viverra placerat tortor. ',\r
-'Phasellus lacinia iaculis mi. ',\r
-'Sed dolor. ',\r
-'Quisque malesuada nulla sed pede volutpat pulvinar. ',\r
-'Cras gravida. ',\r
-'Mauris tincidunt aliquam ante. ',\r
-'Fusce consectetuer tellus ut nisl. ',\r
-'Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. ',\r
-'Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. ',\r
-'Praesent aliquet, neque pretium congue mattis, ipsum augue dignissim ante, ac pretium nisl lectus at magna. ',\r
-'Vivamus quis mi. ',\r
-'Nam sed nisl nec elit suscipit ullamcorper. ',\r
-'Donec tempus quam quis neque. ',\r
-'Donec rutrum venenatis dui. ',\r
-'Praesent a eros. ',\r
-'Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. ',\r
-'Etiam non neque ac mi vestibulum placerat. ',\r
-'Donec at diam a tellus dignissim vestibulum. ',\r
-'Integer accumsan. ',\r
-'Cras ac enim vel dui vestibulum suscipit. ',\r
-'Pellentesque tempor. ',\r
-'Praesent lacus. '\r
-]\r
-\r
-class MyEffect(inkex.Effect):\r
- def __init__(self):\r
- inkex.Effect.__init__(self)\r
- self.OptionParser.add_option("-n", "--numberofparagraphs",\r
- action="store", type="int", \r
- dest="num", default=5,\r
- help="Number of paragraphs to generate")\r
- self.OptionParser.add_option("-c", "--sentencecount",\r
- action="store", type="int", \r
- dest="sentencecount", default=16,\r
- help="Number of Sentences")\r
- self.OptionParser.add_option("-f", "--fluctuation",\r
- action="store", type="int", \r
- dest="fluctuation", default=4,\r
- help="+/-")\r
+#!/usr/bin/env python
+'''
+Copyright (C) 2006 Jos Hirth, kaioa.com
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+'''
+'''
+Example filltext sentences generated over at http://lipsum.com/
+'''
+
+import inkex
+import random
+
+foo=[
+'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ',
+'Duis sem velit, ultrices et, fermentum auctor, rhoncus ut, ligula. ',
+'Phasellus at purus sed purus cursus iaculis. ',
+'Suspendisse fermentum. ',
+'Pellentesque et arcu. ',
+'Maecenas viverra. ',
+'In consectetuer, lorem eu lobortis egestas, velit odio imperdiet eros, sit amet sagittis nunc mi ac neque. ',
+'Sed non ipsum. ',
+'Nullam venenatis gravida orci. ',
+'Curabitur nunc ante, ullamcorper vel, auctor a, aliquam at, tortor. ',
+'Etiam sodales orci nec ligula. ',
+'Sed at turpis vitae velit euismod aliquet. ',
+'Fusce venenatis ligula in pede. ',
+'Pellentesque viverra dolor non nunc. ',
+'Donec interdum vestibulum libero. ',
+'Morbi volutpat. ',
+'Phasellus hendrerit. ',
+'Quisque dictum quam vel neque. ',
+'Quisque aliquam, nulla ac scelerisque convallis, nisi ligula sagittis risus, at nonummy arcu urna pulvinar nibh. ',
+'Nam pharetra. ',
+'Nam rhoncus, lectus vel hendrerit congue, nisl lorem feugiat ante, in fermentum erat nulla tristique arcu. ',
+'Mauris et dolor. ',
+'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec gravida, ante vel ornare lacinia, orci enim porta est, eget sollicitudin lectus lectus eget lacus. ',
+'Praesent a lacus vitae turpis consequat semper. ',
+'In commodo, dolor quis fermentum ullamcorper, urna massa volutpat massa, vitae mattis purus arcu nec nulla. ',
+'In hac habitasse platea dictumst. ',
+'Praesent scelerisque. ',
+'Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna. ',
+'Vestibulum non arcu a ante feugiat vestibulum. ',
+'Nam laoreet dui sed magna. ',
+'Proin diam augue, semper vitae, varius et, viverra id, felis. ',
+'Pellentesque sit amet dui vel justo gravida auctor. ',
+'Aenean scelerisque metus eget sem. ',
+'Maecenas rhoncus rhoncus ipsum. ',
+'Donec nonummy lacinia leo. ',
+'Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. ',
+'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. ',
+'Mauris tempus diam. ',
+'Maecenas justo. ',
+'Sed a lorem ut est tincidunt consectetuer. ',
+'Ut eu metus id lectus vestibulum ultrices. ',
+'Suspendisse lectus. ',
+'Vivamus posuere, ante eu tempor dictum, felis nibh facilisis sem, eu auctor metus nulla non lorem. ',
+'Suspendisse potenti. ',
+'Integer fringilla. ',
+'Morbi urna. ',
+'Morbi pulvinar nulla sit amet nisl. ',
+'Mauris urna sem, suscipit vitae, dignissim id, ultrices sed, nunc. ',
+'Morbi a mauris. ',
+'Pellentesque suscipit accumsan massa. ',
+'Quisque arcu ante, cursus in, ornare quis, viverra ut, justo. ',
+'Quisque facilisis, urna sit amet pulvinar mollis, purus arcu adipiscing velit, non condimentum diam purus eu massa. ',
+'Suspendisse potenti. ',
+'Phasellus nisi metus, tempus sit amet, ultrices ac, porta nec, felis. ',
+'Aliquam metus. ',
+'Nam a nunc. ',
+'Vivamus feugiat. ',
+'Nunc metus. ',
+'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus eu orci. ',
+'Sed elementum, felis quis porttitor sollicitudin, augue nulla sodales sapien, sit amet posuere quam purus at lacus. ',
+'Curabitur tincidunt tellus nec purus. ',
+'Nam consectetuer mollis dolor. ',
+'Sed quis elit. ',
+'Aenean luctus vulputate turpis. ',
+'Proin lectus orci, venenatis pharetra, egestas id, tincidunt vel, eros. ',
+'Nulla facilisi. ',
+'Aliquam vel nibh. ',
+'Vivamus nisi elit, nonummy id, facilisis non, blandit ac, dolor. ',
+'Etiam cursus purus interdum libero. ',
+'Nam id neque. ',
+'Etiam pede nunc, vestibulum vel, rutrum et, tincidunt eu, enim. ',
+'Aenean id purus. ',
+'Aenean ultrices turpis. ',
+'Mauris et pede. ',
+'Suspendisse potenti. ',
+'Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. ',
+'Maecenas convallis dui. ',
+'In leo ante, venenatis eu, volutpat ut, imperdiet auctor, enim. ',
+'Mauris ac massa vestibulum nisl facilisis viverra. ',
+'Phasellus magna sem, vulputate eget, ornare sed, dignissim sit amet, pede. ',
+'Aenean justo ipsum, luctus ut, volutpat laoreet, vehicula in, libero. ',
+'Praesent semper, neque vel condimentum hendrerit, lectus elit pretium ligula, nec consequat nisl velit at dui. ',
+'Proin dolor sapien, adipiscing id, sagittis eu, molestie viverra, mauris. ',
+'Aenean ligula. ',
+'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti. ',
+'Etiam pharetra lacus sed velit imperdiet bibendum. ',
+'Nunc in turpis ac lacus eleifend sagittis. ',
+'Nam massa turpis, nonummy et, consectetuer id, placerat ac, ante. ',
+'In tempus urna. ',
+'Quisque vehicula porttitor odio. ',
+'Aliquam sed erat. ',
+'Vestibulum viverra varius enim. ',
+'Donec ut purus. ',
+'Pellentesque convallis dolor vel libero. ',
+'Integer tempus malesuada pede. ',
+'Integer porta. ',
+'Donec diam eros, tristique sit amet, pretium vel, pellentesque ut, neque. ',
+'Nulla blandit justo a metus. ',
+'Curabitur accumsan felis in erat. ',
+'Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. ',
+'Nulla sagittis condimentum ligula. ',
+'Aliquam imperdiet lobortis metus. ',
+'Suspendisse molestie sem. ',
+'Ut venenatis. ',
+'Pellentesque condimentum felis a sem. ',
+'Fusce nonummy commodo dui. ',
+'Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. ',
+'Etiam fermentum. ',
+'Phasellus auctor enim eget sem. ',
+'Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. ',
+'Sed fringilla. ',
+'Nam malesuada sapien eu nibh. ',
+'Pellentesque ac turpis. ',
+'Nulla sed lacus. ',
+'Mauris sed nulla quis nisi interdum tempor. ',
+'Quisque pretium rutrum ligula. ',
+'Mauris tempor ultrices justo. ',
+'In hac habitasse platea dictumst. ',
+'Donec sit amet enim. ',
+'Suspendisse venenatis. ',
+'Nam nisl quam, posuere non, volutpat sed, semper vitae, magna. ',
+'Donec ut urna. ',
+'Integer risus velit, facilisis eget, viverra et, venenatis id, leo. ',
+'Cras facilisis felis sit amet lorem. ',
+'Nam molestie nisl at metus. ',
+'Suspendisse viverra placerat tortor. ',
+'Phasellus lacinia iaculis mi. ',
+'Sed dolor. ',
+'Quisque malesuada nulla sed pede volutpat pulvinar. ',
+'Cras gravida. ',
+'Mauris tincidunt aliquam ante. ',
+'Fusce consectetuer tellus ut nisl. ',
+'Curabitur risus urna, placerat et, luctus pulvinar, auctor vel, orci. ',
+'Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. ',
+'Praesent aliquet, neque pretium congue mattis, ipsum augue dignissim ante, ac pretium nisl lectus at magna. ',
+'Vivamus quis mi. ',
+'Nam sed nisl nec elit suscipit ullamcorper. ',
+'Donec tempus quam quis neque. ',
+'Donec rutrum venenatis dui. ',
+'Praesent a eros. ',
+'Aliquam justo lectus, iaculis a, auctor sed, congue in, nisl. ',
+'Etiam non neque ac mi vestibulum placerat. ',
+'Donec at diam a tellus dignissim vestibulum. ',
+'Integer accumsan. ',
+'Cras ac enim vel dui vestibulum suscipit. ',
+'Pellentesque tempor. ',
+'Praesent lacus. '
+]
+
+class MyEffect(inkex.Effect):
+ def __init__(self):
+ inkex.Effect.__init__(self)
+ self.OptionParser.add_option("--title")
+ self.OptionParser.add_option("-n", "--numberofparagraphs",
+ action="store", type="int",
+ dest="num", default=5,
+ help="Number of paragraphs to generate")
+ self.OptionParser.add_option("-c", "--sentencecount",
+ action="store", type="int",
+ dest="sentencecount", default=16,
+ help="Number of Sentences")
+ self.OptionParser.add_option("-f", "--fluctuation",
+ action="store", type="int",
+ dest="fluctuation", default=4,
+ help="+/-")
self.first_sentence = 1
- def makePara(self):\r
- _min=max(1,self.options.sentencecount-self.options.fluctuation)\r
- _max=max(2,self.options.sentencecount+self.options.fluctuation)\r
- scount=random.randint(_min,_max)\r
- text=''\r
- for i in range(scount):\r
+ def makePara(self):
+ _min=max(1,self.options.sentencecount-self.options.fluctuation)
+ _max=max(2,self.options.sentencecount+self.options.fluctuation)
+ scount=random.randint(_min,_max)
+ text=''
+ for i in range(scount):
if self.first_sentence == 1:
text+=foo[0]
self.first_sentence = 0
else:
- text+=foo[random.randint(0,len(foo)-1)]\r
- return text\r
- \r
- def addText(self, node):\r
- for i in range(self.options.num):\r
- para=self.document.createElement('flowPara')\r
- text=self.document.createTextNode(self.makePara())\r
- para.appendChild(text)\r
- node.appendChild(para)\r
- node.appendChild(self.document.createElement('flowPara'))\r
- \r
- def effect(self):\r
- found=0\r
- for id, node in self.selected.iteritems():\r
- if node.tagName == 'flowRoot':\r
- found+=1\r
- if found==1:\r
- self.addText(node)\r
- if found==0:\r
- #inkex.debug('No "flowRoot" elements selected. Unable to add text.')\r
- svg=self.document.getElementsByTagName('svg')[0]\r
- g=self.document.createElement('g')\r
- g.setAttribute('inkscape:label','fill text')\r
- g.setAttribute('inkscape:groupmode','layer')\r
- flowRoot=self.document.createElement('flowRoot')\r
- flowRoot.setAttribute('xml:space','preserve')\r
- flowRegion=self.document.createElement('flowRegion')\r
- rect=self.document.createElement('rect')\r
- rect.setAttribute('x','0')\r
- rect.setAttribute('y','0')\r
- rect.setAttribute('width',svg.getAttribute('width'))\r
- rect.setAttribute('height',svg.getAttribute('height'))\r
- svg.appendChild(g)\r
- g.appendChild(flowRoot)\r
- flowRoot.appendChild(flowRegion)\r
- flowRegion.appendChild(rect)\r
- self.addText(flowRoot)\r
-\r
-e = MyEffect()\r
-e.affect()\r
+ text+=foo[random.randint(0,len(foo)-1)]
+ return text
+
+ def addText(self, node):
+ for i in range(self.options.num):
+ para=inkex.etree.SubElement(node,inkex.addNS('flowPara','svg'))
+ para.text = self.makePara()
+ inkex.etree.SubElement(node,inkex.addNS('flowPara','svg'))
+
+ def effect(self):
+ found=0
+ for id, node in self.selected.iteritems():
+ if node.tag == inkex.addNS('flowRoot','svg'):
+ found+=1
+ if found==1:
+ self.addText(node)
+ if found==0:
+ #inkex.debug('No "flowRoot" elements selected. Unable to add text.')
+ svg=self.document.getroot()
+ gattribs = {inkex.addNS('label','inkscape'):'lorem ipsum',inkex.addNS('groupmode','inkscape'):'layer'}
+ g=inkex.etree.SubElement(svg,inkex.addNS('g','svg'),gattribs)
+ flowRoot=inkex.etree.SubElement(g,inkex.addNS('flowRoot','svg'),{inkex.addNS('space','xml'):'preserve'})
+ flowRegion=inkex.etree.SubElement(flowRoot,inkex.addNS('flowRegion','svg'))
+ rattribs = {'x':'0','y':'0','width':svg.get('width'),'height':svg.get('height')}
+ rect=inkex.etree.SubElement(flowRegion,inkex.addNS('rect','svg'),rattribs)
+ self.addText(flowRoot)
+
+e = MyEffect()
+e.affect()