From 8efd1feb808e6172722009884bd59fa70b974d40 Mon Sep 17 00:00:00 2001 From: Jonathan Lundy Date: Sat, 13 Jun 2020 10:40:01 -0600 Subject: [PATCH] add schema bootstrap --- data/.rpsl | 9 +++++++++ data/person/{XU0-DN42 => XUU-DN42} | 2 +- data/schema/INET6NUM-SCHEMA | 3 +++ data/schema/INETNUM-SCHEMA | 2 ++ data/schema/NAMESPACE-SCHEMA | 9 +++++++++ data/schema/SCHEMA-SCHEMA | 1 + data/schema/key | 0 utils/registry/dom/filedom.py | 4 ++-- utils/registry/scan-registry.py | 1 + 9 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 data/.rpsl rename data/person/{XU0-DN42 => XUU-DN42} (89%) create mode 100644 data/schema/NAMESPACE-SCHEMA create mode 100644 data/schema/key diff --git a/data/.rpsl b/data/.rpsl new file mode 100644 index 000000000..880e30d75 --- /dev/null +++ b/data/.rpsl @@ -0,0 +1,9 @@ +namespace: dn42 +schema: schema +owner: mntner +default-owner: DN42-MNT +network-owner: inet6num inet6num +network-owner: inet6num route +network-owner: inet6num inetnum +network-owner: inetnum inetnum +network-owner: inetnum route diff --git a/data/person/XU0-DN42 b/data/person/XUU-DN42 similarity index 89% rename from data/person/XU0-DN42 rename to data/person/XUU-DN42 index 66d23d929..2ba3e2228 100644 --- a/data/person/XU0-DN42 +++ b/data/person/XUU-DN42 @@ -3,6 +3,6 @@ remarks: test contact: xmpp:xuu@xmpp.dn42 contact: mail:xuu@dn42.us pgp-fingerprint: 20AE2F310A74EA7CEC3AE69F8B3B0604F164E04F -nic-hdl: XU0-DN42 +nic-hdl: XUU-DN42 mnt-by: XUU-MNT source: DN42 diff --git a/data/schema/INET6NUM-SCHEMA b/data/schema/INET6NUM-SCHEMA index 3df5d8843..94a4c3ad4 100644 --- a/data/schema/INET6NUM-SCHEMA +++ b/data/schema/INET6NUM-SCHEMA @@ -18,5 +18,8 @@ key: mnt-routes optional multiple lookup=dn42.mntner key: org optional single lookup=dn42.organisation key: remarks optional multiple key: source required single lookup=dn42.registry +network-owner: inet6num +network-owner: inetnum +network-owner: route6 mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/INETNUM-SCHEMA b/data/schema/INETNUM-SCHEMA index 537f604b0..3ca21ef93 100644 --- a/data/schema/INETNUM-SCHEMA +++ b/data/schema/INETNUM-SCHEMA @@ -18,5 +18,7 @@ key: mnt-routes optional multiple lookup=dn42.mntner key: org optional single lookup=dn42.organisation key: remarks optional multiple key: source required single lookup=dn42.registry +network-owner: inetnum +network-owner: route mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/NAMESPACE-SCHEMA b/data/schema/NAMESPACE-SCHEMA new file mode 100644 index 000000000..20a7f8a95 --- /dev/null +++ b/data/schema/NAMESPACE-SCHEMA @@ -0,0 +1,9 @@ +schema: NAMESPACE-SCHEMA +ref: dn42.schema +key: namespace required single primary schema > [name] +key: ns-schema required single > [schema] +key: ns-owner required single > [schema] +key: default-owner optional single lookup=dn42.mntner > [mntner] +key: network-owner optional multiple > [parent-schema] [child-schema] +mnt-by: DN42-MNT +source: DN42 diff --git a/data/schema/SCHEMA-SCHEMA b/data/schema/SCHEMA-SCHEMA index 72a4e9b09..c7da53d82 100644 --- a/data/schema/SCHEMA-SCHEMA +++ b/data/schema/SCHEMA-SCHEMA @@ -9,6 +9,7 @@ key: key required multiple > [key-name] key: mnt-by required multiple lookup=dn42.mntner > [mntner] key: remarks optional multiple > [text]... key: source required single lookup=dn42.registry +key: network-owner optional multiple > [child-schema] mnt-by: DN42-MNT source: DN42 remarks: # option descriptions diff --git a/data/schema/key b/data/schema/key new file mode 100644 index 000000000..e69de29bb diff --git a/utils/registry/dom/filedom.py b/utils/registry/dom/filedom.py index 05d365591..f54a19e99 100644 --- a/utils/registry/dom/filedom.py +++ b/utils/registry/dom/filedom.py @@ -148,8 +148,8 @@ class FileDOM: @property def schema(self) -> str: """return the schema name for file""" - if len(self.dom) < 0: - return "none" + if len(self.dom) < 1: + return None return self.dom[0].key diff --git a/utils/registry/scan-registry.py b/utils/registry/scan-registry.py index 9d9e4dd02..8bb55d2f1 100755 --- a/utils/registry/scan-registry.py +++ b/utils/registry/scan-registry.py @@ -62,6 +62,7 @@ def run(path: str = "."): s = schemas.get(dom.rel) if s is None: print(f"{dom.src} schema not found for {dom.rel}") + continue status = s.check_file(dom, lookups) status.print()