Skip to content

Commit

Permalink
Merge d10e8b4 into d410f57
Browse files Browse the repository at this point in the history
  • Loading branch information
lemikev committed Feb 25, 2021
2 parents d410f57 + d10e8b4 commit dca0220
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 59 deletions.
35 changes: 14 additions & 21 deletions pyang/plugins/sid.py
Original file line number Diff line number Diff line change
Expand Up @@ -590,27 +590,27 @@ def collect_module_items(self, module):
elif self.has_yang_data_extension(substmt):
self.collect_in_substmts(substmt.substmts)

def collect_inner_data_nodes(self, statements, prefix="", prefix_module=None):
def collect_inner_data_nodes(self, statements, prefix=""):
for statement in statements:
if statement.keyword in self.leaf_keywords:
self.merge_item('data', self.get_path(statement, prefix, prefix_module))
self.merge_item('data', self.get_path(statement, prefix))

elif statement.keyword in self.container_keywords:
self.merge_item('data', self.get_path(statement, prefix, prefix_module))
self.collect_inner_data_nodes(statement.i_children, prefix, prefix_module)
self.merge_item('data', self.get_path(statement, prefix))
self.collect_inner_data_nodes(statement.i_children, prefix)

elif statement.keyword == 'action':
self.merge_item('data', self.get_path(statement, prefix, prefix_module))
self.merge_item('data', self.get_path(statement, prefix))
for substmt in statement.i_children:
if substmt.keyword in self.inrpc_keywords:
self.collect_inner_data_nodes(substmt.i_children, prefix, prefix_module)
self.collect_inner_data_nodes(substmt.i_children, prefix)

elif statement.keyword == 'notification':
self.merge_item('data', self.get_path(statement, prefix, prefix_module))
self.collect_inner_data_nodes(statement.i_children, prefix, prefix_module)
self.merge_item('data', self.get_path(statement, prefix))
self.collect_inner_data_nodes(statement.i_children, prefix)

elif statement.keyword in self.choice_keywords:
self.collect_inner_data_nodes(statement.i_children, prefix, prefix_module)
self.collect_inner_data_nodes(statement.i_children, prefix)

def collect_in_substmts(self, substmts):
for statement in substmts:
Expand All @@ -626,13 +626,9 @@ def collect_in_substmts(self, substmts):

elif statement.keyword == 'uses':
prefix = self.get_path(statement.parent)
if prefix == "":
prefix_module = None
else:
prefix_module = statement.parent.i_orig_module
self.collect_inner_data_nodes(statement.i_grouping.i_children, prefix, prefix_module)
self.collect_inner_data_nodes(statement.i_grouping.i_children, prefix)

def get_path(self, statement, prefix="", prefix_module=None):
def get_path(self, statement, prefix=""):
path = ""

while statement.i_module is not None:
Expand All @@ -645,14 +641,11 @@ def get_path(self, statement, prefix="", prefix_module=None):
break
parent = parent.parent

if ((parent.i_orig_module is not None and
parent.i_orig_module == statement.i_orig_module) or
(parent.i_orig_module is None and
prefix_module is not None and
prefix_module == statement.i_orig_module)):
if (prefix != "" or
(parent.i_module is not None and parent.i_module == statement.i_module)):
path = "/" + statement.arg + path
else:
path = "/" + statement.i_orig_module.arg + ":" + statement.arg + path
path = "/" + statement.i_module.arg + ":" + statement.arg + path

statement = statement.parent

Expand Down
52 changes: 26 additions & 26 deletions test/test_sid/test-20-expected-ieee802-dot1q-psfp@2020-07-07.sid
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-base-time/ieee802-dot1q-types:nanoseconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-base-time/nanoseconds",
"sid": 60003
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-base-time/ieee802-dot1q-types:seconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-base-time/seconds",
"sid": 60004
},
{
Expand All @@ -40,37 +40,37 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/ieee802-dot1q-types:gate-control-entry",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry",
"sid": 60006
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/ieee802-dot1q-types:gate-control-entry/ieee802-dot1q-psfp:gate-state-value",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/gate-state-value",
"sid": 60007
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/ieee802-dot1q-types:gate-control-entry/ieee802-dot1q-psfp:interval-octet-max",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/index",
"sid": 60008
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/ieee802-dot1q-types:gate-control-entry/ieee802-dot1q-psfp:ipv-spec",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/interval-octet-max",
"sid": 60009
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/ieee802-dot1q-types:gate-control-entry/index",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/ipv-spec",
"sid": 60010
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/ieee802-dot1q-types:gate-control-entry/operation-name",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/operation-name",
"sid": 60011
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/ieee802-dot1q-types:gate-control-entry/time-interval-value",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/time-interval-value",
"sid": 60012
},
{
Expand All @@ -85,12 +85,12 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time/ieee802-dot1q-types:denominator",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time/denominator",
"sid": 60015
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time/ieee802-dot1q-types:numerator",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time/numerator",
"sid": 60016
},
{
Expand All @@ -110,12 +110,12 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-time/ieee802-dot1q-types:nanoseconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-time/nanoseconds",
"sid": 60020
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-time/ieee802-dot1q-types:seconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-time/seconds",
"sid": 60021
},
{
Expand All @@ -130,12 +130,12 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:current-time/ieee802-dot1q-types:nanoseconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:current-time/nanoseconds",
"sid": 60024
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:current-time/ieee802-dot1q-types:seconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:current-time/seconds",
"sid": 60025
},
{
Expand Down Expand Up @@ -165,12 +165,12 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-base-time/ieee802-dot1q-types:nanoseconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-base-time/nanoseconds",
"sid": 60031
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-base-time/ieee802-dot1q-types:seconds",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-base-time/seconds",
"sid": 60032
},
{
Expand All @@ -180,37 +180,37 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/ieee802-dot1q-types:gate-control-entry",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry",
"sid": 60034
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/ieee802-dot1q-types:gate-control-entry/ieee802-dot1q-psfp:gate-state-value",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/gate-state-value",
"sid": 60035
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/ieee802-dot1q-types:gate-control-entry/ieee802-dot1q-psfp:interval-octet-max",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/index",
"sid": 60036
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/ieee802-dot1q-types:gate-control-entry/ieee802-dot1q-psfp:ipv-spec",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/interval-octet-max",
"sid": 60037
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/ieee802-dot1q-types:gate-control-entry/index",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/ipv-spec",
"sid": 60038
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/ieee802-dot1q-types:gate-control-entry/operation-name",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/operation-name",
"sid": 60039
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/ieee802-dot1q-types:gate-control-entry/time-interval-value",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/time-interval-value",
"sid": 60040
},
{
Expand All @@ -225,12 +225,12 @@
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time/ieee802-dot1q-types:denominator",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time/denominator",
"sid": 60043
},
{
"namespace": "data",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time/ieee802-dot1q-types:numerator",
"identifier": "/ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time/numerator",
"sid": 60044
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,62 +15,62 @@
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher",
"identifier": "/ietf-constrained-voucher:voucher",
"sid": 2501
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/assertion",
"identifier": "/ietf-constrained-voucher:voucher/assertion",
"sid": 2502
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/created-on",
"identifier": "/ietf-constrained-voucher:voucher/created-on",
"sid": 2503
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/domain-cert-revocation-checks",
"identifier": "/ietf-constrained-voucher:voucher/domain-cert-revocation-checks",
"sid": 2504
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/expires-on",
"identifier": "/ietf-constrained-voucher:voucher/expires-on",
"sid": 2505
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/idevid-issuer",
"identifier": "/ietf-constrained-voucher:voucher/idevid-issuer",
"sid": 2506
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/ietf-constrained-voucher:pinned-domain-subject-public-key-info",
"identifier": "/ietf-constrained-voucher:voucher/last-renewal-date",
"sid": 2507
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/ietf-constrained-voucher:pinned-sha256-of-subject-public-key-info",
"identifier": "/ietf-constrained-voucher:voucher/nonce",
"sid": 2508
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/last-renewal-date",
"identifier": "/ietf-constrained-voucher:voucher/pinned-domain-cert",
"sid": 2509
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/nonce",
"identifier": "/ietf-constrained-voucher:voucher/pinned-domain-subject-public-key-info",
"sid": 2510
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/pinned-domain-cert",
"identifier": "/ietf-constrained-voucher:voucher/pinned-sha256-of-subject-public-key-info",
"sid": 2511
},
{
"namespace": "data",
"identifier": "/ietf-voucher:voucher/serial-number",
"identifier": "/ietf-constrained-voucher:voucher/serial-number",
"sid": 2512
}
]
Expand Down

0 comments on commit dca0220

Please sign in to comment.