diff --git a/scripts/hotdoc-html-2-pdf b/scripts/hotdoc-html-2-pdf index cc13636482f67e955889e7cb53a46902bf458419..98196e8581877dcf517c37156c725ef4457926f1 100755 --- a/scripts/hotdoc-html-2-pdf +++ b/scripts/hotdoc-html-2-pdf @@ -71,7 +71,7 @@ def update_local_links(elem, prefix): link.attrib['href'] = '%s/%s' % (prefix, href) -def convert_svg_images(elem): +def convert_images(elem, imgdir): imgs = elem.xpath('.//img') for img in imgs: src = img.attrib.get('src') @@ -85,13 +85,14 @@ def convert_svg_images(elem): if not url_components.path: continue # Local url, but doesn't need updating (eg #my-anchor) - if not url_components.path.endswith('.svg'): - continue + src = 'static' + os.path.abspath(src) + converted = src - converted = os.path.abspath(src) + '.pdf' - cmd = ['/usr/bin/rsvg-convert', src, '-f', 'pdf', '-o', converted] + if url_components.path.endswith('.svg'): + converted = imgdir + "/" + os.path.basename(src) + '.pdf' + cmd = ['/usr/bin/rsvg-convert', src, '-f', 'pdf', '-o', converted] - subprocess.check_call(cmd) + subprocess.check_call(cmd) img.attrib['src'] = converted @@ -112,7 +113,9 @@ def transform(args): if args.remote_prefix: update_local_links(body, args.remote_prefix) - convert_svg_images(body) + inpath = os.path.dirname(args.input) + tmpdir_path = tempfile.mkdtemp(prefix=os.path.join(inpath, '')) + convert_images(body, tmpdir_path) output.append('<!DOCTYPE html>') output.append('<html lang="en">')