From 308840b315aa78e055c24a5c40569f5b1c0c25f4 Mon Sep 17 00:00:00 2001 From: checktheroads Date: Sat, 6 Jun 2020 01:23:51 -0700 Subject: [PATCH] fix juniper AS_PATH parsing problem --- hyperglass/execution/construct.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hyperglass/execution/construct.py b/hyperglass/execution/construct.py index 2368a13..495693e 100644 --- a/hyperglass/execution/construct.py +++ b/hyperglass/execution/construct.py @@ -83,13 +83,19 @@ class Construct: ): query = str(self.query_data.query_target) asns = re.findall(r"\d+", query) + was_modified = False if bool(re.match(r"^\_", query)): # Replace `_65000` with `.* 65000` asns.insert(0, r".*") + was_modified = True if bool(re.match(r".*(\_)$", query)): # Replace `65000_` with `65000 .*` asns.append(r".*") - self.target = " ".join(asns) + was_modified = True + if was_modified: + self.target = " ".join(asns) + else: + self.target = query def json(self, afi): """Return JSON version of validated query for REST devices.