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()
def prepare(self):
self._doc = Docbook(self._file)
(self._title, self._menu) = self._doc.title()
-# self._doc.expand_imageobjects()
+ self._doc.expand_imageobjects()
self._doc.parse_xincludes()
doc = self._doc.collect_links()
img = self._doc.collect_images()