Skip to content

Commit d9caed0

Browse files
committed
Convert tool to Python 3 syntax
1 parent d8f602c commit d9caed0

1 file changed

Lines changed: 33 additions & 28 deletions

File tree

tools/check_inclusions.py

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
#!/usr/bin/python
1+
#!/usr/bin/python3
22

33
import sys, re
44

55
if len(sys.argv) != 2:
6-
print 'Usage: %s <file>' % sys.argv[0]
6+
print(f"Usage: {sys.argv[0]} <file>")
77
sys.exit()
88

99
filename = sys.argv[1]
10-
print 'Checking %s' % filename
10+
print(f"Checking {filename}")
1111

12-
regex = re.compile('^#include.*<(.*)>')
12+
regex = re.compile("^#include.*<(.*)>")
1313
ql_headers = []
1414
boost_headers = []
1515
std_headers = []
@@ -18,54 +18,59 @@
1818
for n, line in enumerate(source):
1919
match = regex.search(line)
2020
if match:
21-
header, = match.groups()
22-
line_num = n+1
23-
if header.startswith('ql/'):
24-
ql_headers.append((header,line_num))
25-
if header.startswith('ql/experimental') and 'internal' not in line:
26-
experimental_headers.append((header,line_num))
27-
elif header.startswith('boost/'):
28-
boost_headers.append((header,line_num))
21+
(header,) = match.groups()
22+
line_num = n + 1
23+
if header.startswith("ql/"):
24+
ql_headers.append((header, line_num))
25+
if header.startswith("ql/experimental") and "internal" not in line:
26+
experimental_headers.append((header, line_num))
27+
elif header.startswith("boost/"):
28+
boost_headers.append((header, line_num))
2929
else:
30-
std_headers.append((header,line_num))
30+
std_headers.append((header, line_num))
3131
source.close()
3232

3333
# At least one QuantLib header muct be included (which, hopefully,
3434
# ultimately leads to including ql/qldefines.hpp)
3535
if not ql_headers:
36-
print "./%s:1: error: no QuantLib header included" % filename
36+
print(f"./{filename}:1: error: no QuantLib header included")
3737
sys.exit(1)
3838

39-
if 'ql/experimental' not in filename:
39+
if "ql/experimental" not in filename:
4040
# files in core library can't include stuff in experimental
4141
if experimental_headers:
42-
for f,n in experimental_headers:
43-
print "./%s:%d: error: experimental header '%s' included" % (filename, n, f)
42+
for f, n in experimental_headers:
43+
print(f"./{filename}:{n}: error: experimental header '{f}' included")
4444
sys.exit(1)
4545

46-
for f,n in ql_headers:
47-
if f.endswith('/all.hpp'):
48-
print "./%s:%d: error: generated header '%s' included" % (filename, n, f)
46+
for f, n in ql_headers:
47+
if f.endswith("/all.hpp"):
48+
print(f"./{filename}:{n}: error: generated header '{f}' included")
4949
sys.exit(1)
5050

5151
# All Boost headers must be included after QuantLib ones
52-
last_ql_header = max([ n for _,n in ql_headers])
52+
last_ql_header = max([n for _, n in ql_headers])
5353

54-
for _,n in boost_headers:
54+
for _, n in boost_headers:
5555
if n < last_ql_header:
56-
print "./%s:%d: error: Boost header included before last QuantLib header" % (filename, n)
56+
print(
57+
f"./{filename}:{n}: error: Boost header included before last QuantLib header"
58+
)
5759
sys.exit(1)
5860

5961

6062
# All standard headers must be included after QuantLib and Boost ones
6163
if boost_headers:
62-
last_boost_header = max([ n for _,n in boost_headers])
64+
last_boost_header = max([n for _, n in boost_headers])
6365

64-
for _,n in std_headers:
66+
for _, n in std_headers:
6567
if n < last_ql_header:
66-
print "./%s:%d: error: standard header included before last QuantLib header" % (filename, n)
68+
print(
69+
f"./{filename}:{n}: error: standard header included before last QuantLib header"
70+
)
6771
sys.exit(1)
6872
if boost_headers and n < last_boost_header:
69-
print "./%s:%d: error: standard header included before last Boost header" % (filename, n)
73+
print(
74+
f"./{filename}:{n}: error: standard header included before last Boost header"
75+
)
7076
sys.exit(1)
71-

0 commit comments

Comments
 (0)