diff --git a/jc/parsers/nsd_control.py b/jc/parsers/nsd_control.py index 4faca968..4d8adf0d 100644 --- a/jc/parsers/nsd_control.py +++ b/jc/parsers/nsd_control.py @@ -192,6 +192,18 @@ def parse(data: str, raw: bool = False, quiet: bool = False): zonename.update({'zone': zone}) continue + if line.startswith('pattern:'): + linedata = line.split(': ', maxsplit=1) + catz_pattern = linedata[1] + zstatus.update({'pattern': catz_pattern}) + continue + + if line.startswith('catalog-member-id:'): + linedata = line.split(': ', maxsplit=1) + catz_member_id = linedata[1] + zstatus.update({'catalog-member-id': catz_member_id}) + continue + if line.startswith('state:'): linedata = line.split(': ', maxsplit=1) state = linedata[1] diff --git a/tests/fixtures/generic/nsd_control-zonestatus.json b/tests/fixtures/generic/nsd_control-zonestatus.json index 11008c72..bf3b3243 100644 --- a/tests/fixtures/generic/nsd_control-zonestatus.json +++ b/tests/fixtures/generic/nsd_control-zonestatus.json @@ -1 +1 @@ -[{"zone":"sunet.se","status":{"state":"ok","served-serial":"2023091302 since 2023-09-14T00:50:11","commit-serial":"2023091302 since 2023-09-14T07:04:05","wait":"27023 sec between attempts"}}] +[{"zone":"sunet.se","status":{"state":"ok","served-serial":"2023091302 since 2023-09-14T00:50:11","commit-serial":"2023091302 since 2023-09-14T07:04:05","wait":"27023 sec between attempts"}},{"zone":"catz.sunet.se","status":{"pattern":"example.catalog","catalog-member-id":"4b6f6ce2de5929e4.zones.example.catalog.","state":"ok","served-serial":"1705484863 since 2024-01-17T13:06:02","commit-serial":"1705484863 since 2024-01-17T13:06:02","wait":"21341 sec between attempts"}}] diff --git a/tests/fixtures/generic/nsd_control-zonestatus.out b/tests/fixtures/generic/nsd_control-zonestatus.out index a253dc7e..4b57fcde 100644 --- a/tests/fixtures/generic/nsd_control-zonestatus.out +++ b/tests/fixtures/generic/nsd_control-zonestatus.out @@ -3,3 +3,10 @@ zone: sunet.se served-serial: "2023091302 since 2023-09-14T00:50:11" commit-serial: "2023091302 since 2023-09-14T07:04:05" wait: "27023 sec between attempts" +zone: catz.sunet.se + pattern: example.catalog + catalog-member-id: 4b6f6ce2de5929e4.zones.example.catalog. + state: ok + served-serial: "1705484863 since 2024-01-17T13:06:02" + commit-serial: "1705484863 since 2024-01-17T13:06:02" + wait: "21341 sec between attempts"