From a68817743e0542d87a42b39815f50990d7c440c6 Mon Sep 17 00:00:00 2001 From: Andrey Kislyuk Date: Mon, 15 Apr 2024 11:15:39 -0700 Subject: [PATCH] Revert "Do not interpret characters that cannot be parsed in octal as int (#176)" This reverts commit d4faa16d8d7a0183bd21522b66801094b8b52cc1. --- test/test.py | 1 - yq/loader.py | 24 ++---------------------- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/test/test.py b/test/test.py index fdabc11..45248b5 100755 --- a/test/test.py +++ b/test/test.py @@ -317,7 +317,6 @@ def test_yaml_1_2(self): def test_yaml_1_1_octals(self): self.assertEqual(self.run_yq("on: -012345", ["-y", "."]), "'on': -5349\n") - self.assertEqual(self.run_yq("on: -012349", ["-y", "."]), "'on': -012349\n") @unittest.expectedFailure def test_yaml_1_2_octals(self): diff --git a/yq/loader.py b/yq/loader.py index b20047b..4ff6aa5 100644 --- a/yq/loader.py +++ b/yq/loader.py @@ -87,33 +87,13 @@ }, { "tag": "tag:yaml.org,2002:int", - "regexp": re.compile( - r"""^(?: - # [-+]?0b[0-1_]+ # (base 2) - [-+]?0[0-7]+ # (base 8) - |[-+]?0o[0-7]+ # (base 8) - |[-+]?(0|[1-9][0-9]*) # (base 10) - # |[-+]?0[0-7_]+ # (base 8) - # |[-+]?0o[0-7_]+ # (base 8) - # |[-+]?(0|[1-9][0-9_]*) # (base 10) - # |[-+]?0x[0-9a-fA-F_]+ # (base 16) - # |[-+]?[1-9][0-9_]*(:[0-5]?[0-9])+ # (base 60) - )$""", - re.X - ), + "regexp": re.compile(r"^(?:|0o[0-7]+|[-+]?(?:[0-9]+)|0x[0-9a-fA-F]+)$", re.X), "start_chars": list("-+0123456789"), }, { "tag": "tag:yaml.org,2002:float", "regexp": re.compile( - r"""^(?: - [-+]?([0-9][0-9]*)?\.[0-9.]*([eE][-+][0-9]+)? (base 10) - |[-+]?[0-9][0-9]*(:[0-5]?[0-9])+\.[0-9]* (base 60) - # |[-+]?([0-9][0-9_]*)?\.[0-9.]*([eE][-+][0-9]+)? (base 10) - # |[-+]?[0-9][0-9_]*(:[0-5]?[0-9])+\.[0-9_]* (base 60) - |[-+]?\.(inf|Inf|INF) # (infinity) - |\.(nan|NaN|NAN) # (not a number) - )$""", + r"^(?:[-+]?(?:\.[0-9]+|[0-9]+(\.[0-9]*)?)(?:[eE][-+]?[0-9]+)?|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$", # noqa re.X, ), "start_chars": list("-+0123456789."),