X-Git-Url: https://source.tree.se/git?p=treecutter.git;a=blobdiff_plain;f=treecutter%2Fdocbook.py;fp=treecutter%2Fdocbook.py;h=a143487f7c071a2d8ed23805f56797bcac88beaa;hp=fd822ce8fe2cf6058fafa7528c56e0af0e38e0c8;hb=50c8b1ff1feb0a5f445911f9dd1d234f2ea3e54e;hpb=3a2ebee1970f57b213f166fe421db551e812ae83 diff --git a/treecutter/docbook.py b/treecutter/docbook.py index fd822ce..a143487 100644 --- a/treecutter/docbook.py +++ b/treecutter/docbook.py @@ -29,14 +29,28 @@ class Docbook(): return (t, ta) def expand_imageobjects(self): + cwd = os.getcwd() db = ElementMaker(namespace=const.DB_NS, nsmap=const.NSMAP) images = self._doc.xpath(u"//db:imageobject/db:imagedata[@fileref]",namespaces=const.XPATH) - for io in images: - image = Image(io) - link = db.link(image.infostr(),**{const.XLINK+"href": f}) - io = db.imageobject( - db.imagedata(fileref=image.format(800,600), width=str(800), depth=str(600)), - db.caption(db.para(image.caption()))) + for i in images: + os.chdir(self._dirname) + im = i.get('fileref') + img = Image(im) + caption = db.caption() + for p in img.caption().split('\n\n'): + caption.append(db.para(p)) + link = db.para(db.link(img.infostr(), + **{const.XLINK+"href": img.filename()})) + caption.append(link) + mo = db.mediaobject(db.imageobject( + db.imagedata(fileref=img.resize(800,600))),caption) + iop = i.getparent() + mop = iop.getparent() + mopp = mop.getparent() + mopp.insert(mopp.index(mop)+1,mo) + mopp.remove(mop) + os.chdir(cwd) + def parse_xincludes(self): cwd = os.getcwd()