diff options
Diffstat (limited to 'DocBook/SCons/FO.py')
-rw-r--r-- | DocBook/SCons/FO.py | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/DocBook/SCons/FO.py b/DocBook/SCons/FO.py deleted file mode 100644 index c7596d6..0000000 --- a/DocBook/SCons/FO.py +++ /dev/null @@ -1,45 +0,0 @@ -import SCons.Util -import xml.dom.minidom, re - -################################################################################ -# XSL-FO builder -################################################################################ - -def generate(env) : - def generate_actions(source, target, env, for_signature) : - if len(env["FOCFG"]) > 0 : - cmd = "$FO -c $FOCFG $FOFLAGS $SOURCE $TARGET" - else : - cmd = "$FO $FOFLAGS $SOURCE $TARGET" - return SCons.Action.Action(cmd, cmdstr = "$FOCOMSTR") - - def modify_sources(target, source, env) : - if len(env["FOCFG"]) > 0 : - source.append(env["FOCFG"]) - return target, source - - def scan_fo(node, env, path) : - dependencies = set() - try : - document = xml.dom.minidom.parseString(node.get_contents()) - except xml.parsers.expat.ExpatError: - return [] - for include in document.getElementsByTagNameNS("http://www.w3.org/1999/XSL/Format", "external-graphic") : - m = re.match("url\((.*)\)", include.getAttribute("src")) - if m : - dependencies.add(m.group(1)) - return list(dependencies) - - env["FO"] = "fop" - env["FOFLAGS"] = "" - env["FOCFG"] = "" - env["BUILDERS"]["FO"] = SCons.Builder.Builder( - generator = generate_actions, - emitter = modify_sources, - source_scanner = SCons.Scanner.Scanner(function = scan_fo, skeys = [".fo"]), - suffix = ".pdf", - src_suffix = ".fo" - ) - -def exists(env) : - return True |