Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 #!/usr/bin/env python
2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 """
8 Fix references to source files of the form [LOCpath]
9 so that they are relative to a given source directory.
11 Substitute the DOT-generated image map into the document.
12 """
14 import os, sys, re
16 (srcdir, ) = sys.argv[1:]
17 srcdir = os.path.realpath(srcdir)
19 f = re.compile(r'\[LOC(.*?)\]')
21 def replacer(m):
22 file = m.group(1)
23 file = os.path.realpath(file)
24 if not file.startswith(srcdir):
25 raise Exception("File %s doesn't start with %s" % (file, srcdir))
27 file = file[len(srcdir) + 1:]
28 return file
30 s = re.compile(r'\[MAP(.*?)\]')
32 def mapreplace(m):
33 file = m.group(1)
34 c = open(file).read()
35 return c
37 for line in sys.stdin:
38 line = f.sub(replacer, line)
39 line = s.sub(mapreplace, line)
41 sys.stdout.write(line)