From: Ross Burton Date: Wed, 14 Dec 2016 19:53:46 +0000 (+0000) Subject: BBHandler: use with instead of open/close X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=50633012a64a3b5f0662145e29ff426374fb7683;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git BBHandler: use with instead of open/close This is more pythonic and can handle unclosed file warnings better than the previous code structure. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- diff --git a/lib/bb/parse/parse_py/BBHandler.py b/lib/bb/parse/parse_py/BBHandler.py index f2a215105b9..fe918a41f34 100644 --- a/lib/bb/parse/parse_py/BBHandler.py +++ b/lib/bb/parse/parse_py/BBHandler.py @@ -87,17 +87,17 @@ def get_statements(filename, absolute_filename, base_name): try: return cached_statements[absolute_filename] except KeyError: - file = open(absolute_filename, 'r') - statements = ast.StatementGroup() - - lineno = 0 - while True: - lineno = lineno + 1 - s = file.readline() - if not s: break - s = s.rstrip() - feeder(lineno, s, filename, base_name, statements) - file.close() + with open(absolute_filename, 'r') as f: + statements = ast.StatementGroup() + + lineno = 0 + while True: + lineno = lineno + 1 + s = f.readline() + if not s: break + s = s.rstrip() + feeder(lineno, s, filename, base_name, statements) + if __inpython__: # add a blank line to close out any python definition feeder(lineno, "", filename, base_name, statements, eof=True)