Skip to content

Commit 574c4d6

Browse files
author
SRBuilds
committed
24.10.4 released
1 parent 493bd66 commit 574c4d6

File tree

5 files changed

+30
-20
lines changed

5 files changed

+30
-20
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ python3 setup.py install
8585

8686

8787
The pySROS libraries are available for
88-
[download from GitHub](https://github.com/jgcumming/pysros-examples).
88+
[download from GitHub](https://github.com/nokia/pysros).
8989

9090
The obtained file can be installed using:
9191

docs/source/features/24.10.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
Release 24.10
22
*************
33

4+
24.10.4
5+
#######
6+
7+
* No additional features
8+
9+
.. Reviewed by PLM 20250321
10+
.. Reviewed by TechComms 20250321
11+
12+
413
24.10.3
514
#######
615

docs/source/index.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@ documentation will be updated accordingly.
1818
:header-rows: 0
1919

2020
* - pySROS release: |pySROSProjectVersion|
21-
* - Document Number: 3HE 20087 AAAH TQZZA
21+
* - Document Number: 3HE 20087 AAAI TQZZA
2222

23-
.. Reviewed by PLM 20250121
24-
.. Reviewed by TechComms 20250124
23+
.. Reviewed by PLM 20250321
2524
2625
.. toctree::
2726
:maxdepth: 2

pysros/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Copyright 2021-2024 Nokia
1+
# Copyright 2021-2025 Nokia
22

33
__all__ = ("management", "exceptions", "wrappers", "pprint", )
44

55
__doc__ = """Library for management of Nokia SR OS nodes."""
66

7-
__version__ = "24.10.3"
7+
__version__ = "24.10.4"

pysros/model_builder.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ def resolve_grouping(m: BuildingModel):
631631
uses_children, m.children = m.children, []
632632
for child in grouping.children:
633633
child.deepcopy(m)
634-
self.process_uses_substmts(m, uses_children)
634+
process_uses_substmts(m, uses_children)
635635
m.annihilate()
636636
return False
637637
def resolve_common(m: BuildingModel, module: str):
@@ -643,7 +643,7 @@ def resolve_unresolved_prefix(m: BuildingModel):
643643
uses_children, m.children = m.children, []
644644
for child in grouping.children:
645645
child.deepcopy(m).recursive_walk(resolve_unresolved_prefix)
646-
self.process_uses_substmts(m, uses_children)
646+
process_uses_substmts(m, uses_children, prefix_resolver=resolve_unresolved_prefix)
647647
m.annihilate()
648648
return False
649649
def resolve_data(m: BuildingModel):
@@ -656,24 +656,26 @@ def resolve_augment(m: BuildingModel):
656656
if m.data_def_stm == BuildingModel.StatementType.uses_:
657657
module = augment.prefix
658658
return resolve_common(m, module)
659+
def process_uses_substmts(uses: BuildingModel, substmts: List[BuildingModel], *, prefix_resolver=None):
660+
for m in substmts:
661+
m.recursive_walk(resolve_grouping)
662+
if m.data_def_stm == BuildingModel.StatementType.refine_:
663+
w = ModelWalker(uses, self._sros)
664+
m.target_path.move_walker(w, Wildcard())
665+
self.resolve_deviations_replace(w.current, m)
666+
if m.data_def_stm == BuildingModel.StatementType.augment_:
667+
w = ModelWalker(uses, self._sros)
668+
m.target_path.move_walker(w, Wildcard())
669+
for i in m.children:
670+
new = i.deepcopy(w.current)
671+
if prefix_resolver:
672+
new.recursive_walk(prefix_resolver)
659673
for grouping in self.groupings.values():
660674
grouping.recursive_walk(resolve_grouping)
661675
self.root.recursive_walk(resolve_data)
662676
for augment in self.augments:
663677
augment.recursive_walk(resolve_augment)
664678

665-
def process_uses_substmts(self, uses: BuildingModel, substmts: List[BuildingModel]):
666-
for m in substmts:
667-
if m.data_def_stm == BuildingModel.StatementType.refine_:
668-
w = ModelWalker(uses, self._sros)
669-
m.target_path.move_walker(w, Wildcard())
670-
self.resolve_deviations_replace(w.current, m)
671-
if m.data_def_stm == BuildingModel.StatementType.augment_:
672-
w = ModelWalker(uses, self._sros)
673-
m.target_path.move_walker(w, Wildcard())
674-
for i in m.children:
675-
i.deepcopy(w.current)
676-
677679
def process_augment(self, m: BuildingModel):
678680
if m.data_def_stm == BuildingModel.StatementType.augment_:
679681
w = ModelWalker.path_parse(self.root, self._sros, m.target_path, True)

0 commit comments

Comments
 (0)