From d28f5675b41d8d4193f1727db705aff8623a03ad Mon Sep 17 00:00:00 2001 From: Saugat Pachhai Date: Tue, 16 Feb 2021 21:06:47 +0545 Subject: [PATCH] remove support for double braces (#5476) --- dvc/parsing/interpolate.py | 12 ++++++------ tests/unit/test_interpolate.py | 13 ++----------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/dvc/parsing/interpolate.py b/dvc/parsing/interpolate.py index 79253832f..6bb92c81a 100644 --- a/dvc/parsing/interpolate.py +++ b/dvc/parsing/interpolate.py @@ -22,11 +22,10 @@ RBRACK = "]" PERIOD = "." KEYCRE = re.compile( r""" - (?.*?) # match every char inside + } # end with { """, re.VERBOSE, ) @@ -137,6 +136,7 @@ def parse_expr(s: str): result = get_parser().parseString(s, parseAll=True) except ParseException as exc: format_and_raise_parse_error(exc) + raise AssertionError("unreachable") joined = result.asList() assert len(joined) == 1 @@ -144,7 +144,7 @@ def parse_expr(s: str): def get_expression(match: "Match", skip_checks: bool = False): - _, _, inner = match.groups() + inner = match["inner"] return inner if skip_checks else parse_expr(inner) diff --git a/tests/unit/test_interpolate.py b/tests/unit/test_interpolate.py index e92d972d9..9e1f6d07c 100644 --- a/tests/unit/test_interpolate.py +++ b/tests/unit/test_interpolate.py @@ -6,13 +6,7 @@ from dvc.parsing.context import Context, recurse_not_a_node @pytest.mark.parametrize( - "template, var", - [ - ("${value}", "value"), - ("${{item}}", "item"), - ("${ item }", "item"), - ("${{ value }}", "value"), - ], + "template, var", [("${value}", "value"), ("${ item }", "item")], ) @pytest.mark.parametrize( "data", [True, 12, pi, None, False, 0, "0", "123", "Foobar", "", inf, 3e4] @@ -26,10 +20,7 @@ def test_resolve_primitive_values(data, template, var): "template, expected", [ (r"\${value}", "${value}"), - (r"\${{value}}", "${{value}}"), (r"\${ value }", "${ value }"), - (r"\${{ value }}", "${{ value }}"), - (r"\${{ value }} days", "${{ value }} days"), (r"\${ value } days", "${ value } days"), (r"Month of \${value}", "Month of ${value}"), (r"May the \${value} be with you", "May the ${value} be with you"), @@ -39,7 +30,7 @@ def test_resolve_primitive_values(data, template, var): ), ], ) -def test_escape(template, expected, mocker): +def test_escape(template, expected): context = Context({"value": "value"}) assert context.resolve(template) == expected