[gn build] Fix Python DeprecationWarning

Summary:
This fixes two issues:
 - DeprecationWarning: invalid escape sequence \`
 - ResourceWarning: unclosed file

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67753

llvm-svn: 372876
This commit is contained in:
Marco Antognini 2019-09-25 14:15:34 +00:00
parent 194117f04b
commit aefdc1e37a
1 changed files with 10 additions and 4 deletions

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python
"""Emulates the bits of CMake's configure_file() function needed in LLVM. r"""Emulates the bits of CMake's configure_file() function needed in LLVM.
The CMake build uses configure_file() for several things. This emulates that The CMake build uses configure_file() for several things. This emulates that
function for the GN build. In the GN build, this runs at build time instead function for the GN build. In the GN build, this runs at build time instead
@ -62,7 +62,8 @@ def main():
# Matches e.g. '${FOO}' or '@FOO@' and captures FOO in group 1 or 2. # Matches e.g. '${FOO}' or '@FOO@' and captures FOO in group 1 or 2.
var_re = re.compile(r'\$\{([^}]*)\}|@([^@]*)@') var_re = re.compile(r'\$\{([^}]*)\}|@([^@]*)@')
in_lines = open(args.input).readlines() with open(args.input) as f:
in_lines = f.readlines()
out_lines = [] out_lines = []
for in_line in in_lines: for in_line in in_lines:
def repl(m): def repl(m):
@ -102,8 +103,13 @@ def main():
file=sys.stderr) file=sys.stderr)
return 1 return 1
if not os.path.exists(args.output) or open(args.output).read() != output: def read(filename):
open(args.output, 'w').write(output) with open(args.output) as f:
return f.read()
if not os.path.exists(args.output) or read(args.output) != output:
with open(args.output, 'w') as f:
f.write(output)
os.chmod(args.output, os.stat(args.input).st_mode & 0o777) os.chmod(args.output, os.stat(args.input).st_mode & 0o777)