From 838f2c437db5796d316f106b1496d8d29268c5ca Mon Sep 17 00:00:00 2001 From: R David Murray Date: Fri, 17 Oct 2014 20:28:47 -0400 Subject: #18853: Fix resource warning in shlex's __main__ section. Report and original fix by Vajrasky Kok. --- Lib/shlex.py | 20 +++++++++++--------- Misc/NEWS | 2 ++ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Lib/shlex.py b/Lib/shlex.py index 69f3b45..4672553 100644 --- a/Lib/shlex.py +++ b/Lib/shlex.py @@ -290,15 +290,17 @@ def quote(s): return "'" + s.replace("'", "'\"'\"'") + "'" -if __name__ == '__main__': - if len(sys.argv) == 1: - lexer = shlex() - else: - file = sys.argv[1] - lexer = shlex(open(file), file) +def _print_tokens(lexer): while 1: tt = lexer.get_token() - if tt: - print("Token: " + repr(tt)) - else: + if not tt: break + print("Token: " + repr(tt)) + +if __name__ == '__main__': + if len(sys.argv) == 1: + _print_tokens(shlex()) + else: + fn = sys.argv[1] + with open(fn) as f: + _print_tokens(shlex(f, fn)) diff --git a/Misc/NEWS b/Misc/NEWS index 9c50f3e..2738699 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -33,6 +33,8 @@ Core and Builtins Library ------- +- Issue #18853: Fixed ResourceWarning in shlex.__nain__. + - Issue #9351: Defaults set with set_defaults on an argparse subparser are no longer ignored when also set on the parent parser. -- cgit v0.12