Commit 4cf81491 authored by Mark Canterbury's avatar Mark Canterbury
Browse files

Correcting arc rendering

parent 3e2bcf81
Loading
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
# OID list
| Spec | Module name | Version | OID relative to {itu-t(0) identified-organization(4) etsi(0)} |
| ---- | ----------- | ------- | -------- |
|[TS 102 232-1](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1)|[HI1NotificationOperations](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1/HI1NotificationOperations.asn?ref_type=heads)|7|securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1)|
|[TS 102 232-1](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1)|[HI2Operations](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1/HI2Operations.asn?ref_type=heads)|18|securityDomain(2) lawfulIntercept(2) hi2(1)|
|[TS 102 232-1](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1)|[LI-PS-PDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1/LI-PS-PDU.asn?ref_type=heads)|40|securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1)|
|[TS 102 232-2](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-2)|[EmailPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-2/EmailPDU.asn?ref_type=heads)|20|securityDomain(2) lawfulIntercept(2) li-ps(5) email(2)|
|[TS 102 232-3](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-3)|[IPAccessPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-3/IPAccessPDU.asn?ref_type=heads)|20|securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3)|
|[TS 102 232-4](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-4)|[L2AccessPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-4/L2AccessPDU.asn?ref_type=heads)|10|securityDomain(2) lawfulIntercept(2) l2Access(4)|
|[TS 102 232-5](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-5)|[IPMultimediaPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-5/IPMultimediaPDU.asn?ref_type=heads)|17|securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5)|
|[TS 102 232-6](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-6)|[PstnIsdnPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-6/PstnIsdnPDU.asn?ref_type=heads)|6|securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6)|
|[TS 102 657](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102657)|[RDMessage](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102657/RDMessage.asn?ref_type=heads)|33|securityDomain(2) retainedData(3) rdHeader(0)|
|[TS 103 462](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103462)|[ILHIPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103462/ILHIPDU.asn?ref_type=heads)|2|securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0)|
|[TS 103 280](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103280)|[Common-Parameters](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103280/TS_103_280.asn1?ref_type=heads)|261|common-parameters(3280)|
|[TS 102 232-1](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1)|[HI1NotificationOperations](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1/HI1NotificationOperations.asn?ref_type=heads)|7|securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)|
|[TS 102 232-1](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1)|[HI2Operations](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1/HI2Operations.asn?ref_type=heads)|18|securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)|
|[TS 102 232-1](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1)|[LI-PS-PDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-1/LI-PS-PDU.asn?ref_type=heads)|40|securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version40(40)|
|[TS 102 232-2](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-2)|[EmailPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-2/EmailPDU.asn?ref_type=heads)|20|securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version20(20)|
|[TS 102 232-3](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-3)|[IPAccessPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-3/IPAccessPDU.asn?ref_type=heads)|20|securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version20(20)|
|[TS 102 232-4](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-4)|[L2AccessPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-4/L2AccessPDU.asn?ref_type=heads)|10|securityDomain(2) lawfulIntercept(2) l2Access(4) version10(10)|
|[TS 102 232-5](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-5)|[IPMultimediaPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-5/IPMultimediaPDU.asn?ref_type=heads)|17|securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version17(17)|
|[TS 102 232-6](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-6)|[PstnIsdnPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102232-6/PstnIsdnPDU.asn?ref_type=heads)|6|securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6) version6(6)|
|[TS 102 657](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102657)|[RDMessage](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/102657/RDMessage.asn?ref_type=heads)|33|securityDomain(2) retainedData(3) rdHeader(0) version33(33)|
|[TS 103 462](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103462)|[ILHIPDU](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103462/ILHIPDU.asn?ref_type=heads)|2|securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0) version2(2)|
|[TS 103 280](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103280)|[Common-Parameters](https://forge.etsi.org/rep/li/schemas-definitions/-/blob/main/103280/TS_103_280.asn1?ref_type=heads)|261|common-parameters(3280) version261(261)|
# OID hierarchy
```mermaid
graph TD;
  .0["itu-t (0)"]
  0["itu-t (0)"]
0.4["identified-organization (4)"]
  .0-->0.4
  0-->0.4
0.4.0["etsi (0)"]
  0.4-->0.4.0
0.4.0.2["securityDomain (2)"]
+7 −7
Original line number Diff line number Diff line
@@ -17,13 +17,13 @@ class OIDArc:
        return f"<OIDArc {self.as_numerical()}>"

    def as_numerical(self):
        return ".".join(str(p.value) for p in self.parents()) + "." + str(self.value)
        return ".".join(str(p.value) for p in self.hierarchy())

    def as_canonical(self):
        return " ".join([f"{p.label}({p.value})" for p in self.parents()]) + f"{self.label}({self.value})"
        return " ".join([f"{p.label}({p.value})" for p in self.hierarchy()])
    
    def as_relative(self, starting_depth: int):
        parents = self.parents()[starting_depth:]
        parents = self.hierarchy()[starting_depth:]
        return " ".join([f"{p.label}({p.value})" for p in parents])
    
    def get_child_by_value(self, index):
@@ -32,8 +32,8 @@ class OIDArc:
                return c
        return None
        
    def parents(self) -> list:
        r = []
    def hierarchy(self) -> list:
        r = [self]
        p = self.parent
        while p is not None:
            r.append(p)
@@ -44,7 +44,7 @@ class OIDArc:
    def root(self):
        if self.parent is None:
            return self
        return self.parents()[0]
        return self.hierarchy()[0]
    
    def merge(self, other):
        if self.root().value != other.root().value:
@@ -115,7 +115,7 @@ def draw_tree(d : OIDArc):
        draw_tree(child)

markdown_string += "# OID hierarchy\n"
markdown_string += '```mermaid\ngraph TD;\n  .0["itu-t (0)"]\n'
markdown_string += '```mermaid\ngraph TD;\n  0["itu-t (0)"]\n'
draw_tree(oid_tree)
markdown_string += "```"