Skip to content

Commit 7ec965e

Browse files
committed
Add legalese handling to conversion script
1 parent 4e6c56e commit 7ec965e

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

convert.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@
1010
Class = collections.namedtuple('Class', ['name', 'purpose'])
1111

1212

13+
FILE_HEADER = """
14+
// Copyright 2001-2017,
15+
// Daniel Kroening (Computer Science Department, University of Oxford
16+
// and Diffblue Ltd),
17+
// Edmund Clarke (Computer Science Department, Carnegie Mellon University),
18+
// DiffBlue Ltd.
19+
""".strip()
20+
21+
1322
def warn(message):
1423
""" Print a labelled message to stderr. """
1524
sys.stderr.write('Warning: %s\n' % message)
@@ -85,7 +94,9 @@ def format_module(self, header):
8594
return None
8695

8796
subbed = self.whitespace_re.sub(' ', header.module)
88-
return self.indented_wrapper.fill(r'\file %s' % subbed)
97+
# The file directive must be followed by a newline in order to refer to
98+
# the current file
99+
return self.indented_wrapper.fill('\\file\n%s' % subbed)
89100

90101
def is_block_valid(self, block):
91102
return has_field(block, 'Module')
@@ -219,13 +230,18 @@ def convert_file(file):
219230

220231
block_re = re.compile(
221232
r'^/\*+\\$(.*?)^\\\*+/$\s*', re.MULTILINE | re.DOTALL)
222-
sys.stdout.write(block_re.sub(
233+
new_contents = block_re.sub(
223234
lambda match: replace_block(
224235
match.group(1),
225236
file,
226237
header_formatter,
227238
class_formatter,
228-
function_formatter), contents))
239+
function_formatter), contents)
240+
241+
if not re.search(FILE_HEADER, new_contents):
242+
new_contents = FILE_HEADER + '\n\n' + new_contents
243+
244+
sys.stdout.write(new_contents)
229245

230246

231247
def main():

0 commit comments

Comments
 (0)