diff options
| author | Jos Hirth <github@kaioa.com> | 2007-03-02 21:57:40 +0000 |
|---|---|---|
| committer | amphi <amphi@users.sourceforge.net> | 2007-03-02 21:57:40 +0000 |
| commit | bf77b35210a72dd2bc4dc07bb02f75023a8ee542 (patch) | |
| tree | 6c70f94f943f139fecade9f3495739e93e32dcbd | |
| parent | blind fix for endianness, needs testing by someone on a big-endian machine (diff) | |
| download | inkscape-bf77b35210a72dd2bc4dc07bb02f75023a8ee542.tar.gz inkscape-bf77b35210a72dd2bc4dc07bb02f75023a8ee542.zip | |
made it callable by other extensions. the workaround is sorta ugly, but it should do the trick for now.
(bzr r2507)
| -rw-r--r-- | share/extensions/embedimage.py | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/share/extensions/embedimage.py b/share/extensions/embedimage.py index 5277f0fa4..4cab6c0a9 100644 --- a/share/extensions/embedimage.py +++ b/share/extensions/embedimage.py @@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import inkex, os, base64 -class MyEffect(inkex.Effect): +class Embedder(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) self.OptionParser.add_option("-s", "--selectedonly", @@ -28,19 +28,28 @@ class MyEffect(inkex.Effect): help="embed only selected images") def effect(self): - ctx = inkex.xml.xpath.Context.Context(self.document,processorNss=inkex.NSS) - # if slectedonly is enabled and there is a selection only embed selected # images. otherwise embed all images if (self.options.selectedonly): - if (self.options.ids): - for id, node in self.selected.iteritems(): - if node.tagName == 'image': - self.embedImage(node) + self.embedSelected(self.document, self.selected) else: - path = '//image' - for node in inkex.xml.xpath.Evaluate(path,self.document, context=ctx): - self.embedImage(node) + self.embedAll(self.document) + + def embedSelected(self, document, selected): + self.document=document + self.selected=selected + if (self.options.ids): + for id, node in selected.iteritems(): + if node.tagName == 'image': + self.embedImage(node) + + def embedAll(self, document): + self.document=document #not that nice... oh well + ctx = inkex.xml.xpath.Context.Context(self.document,processorNss=inkex.NSS) + path = '//image' + for node in inkex.xml.xpath.Evaluate(path, self.document, context=ctx): + self.embedImage(node) + def embedImage(self, node): xlink = node.attributes.getNamedItemNS(inkex.NSS[u'xlink'],'href') if (xlink.value[:4]!='data'): @@ -91,5 +100,7 @@ class MyEffect(inkex.Effect): inkex.debug("%s is not of type image/png, image/jpeg, image/bmp, image/gif or image/x-icon" % path) else: inkex.debug("Sorry we could not locate %s" % path) -e = MyEffect() -e.affect() + +if __name__ == '__main__': + e = Embedder() + e.affect() |
