From: Ɓukasz Langa Date: Wed, 8 May 2019 21:33:39 +0000 (+0200) Subject: Use to handle legacy async/await handling in assert_equivalent X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/6bb90f22ed734a264e50aba0c74f989d90792e74 Use to handle legacy async/await handling in assert_equivalent --- diff --git a/black.py b/black.py index 9494c4c..2084e15 100644 --- a/black.py +++ b/black.py @@ -3382,10 +3382,15 @@ class Report: def parse_ast(src: str) -> Union[ast3.AST, ast27.AST]: - try: - return ast3.parse(src) - except SyntaxError: - return ast27.parse(src) + for feature_version in (7, 6): + try: + print(f"-- 3.{feature_version}") + return ast3.parse(src, feature_version=feature_version) + except SyntaxError: + continue + + print(f"-- 2.7") + return ast27.parse(src) def assert_equivalent(src: str, dst: str) -> None: @@ -3438,11 +3443,9 @@ def assert_equivalent(src: str, dst: str) -> None: try: src_ast = parse_ast(src) except Exception as exc: - major, minor = sys.version_info[:2] raise AssertionError( - f"cannot use --safe with this file; failed to parse source file " - f"with Python {major}.{minor}'s builtin AST. Re-run with --fast " - f"or stop using deprecated Python 2 syntax. AST error message: {exc}" + f"cannot use --safe with this file; failed to parse source file. " + f"AST error message: {exc}" ) try: