|
536 | 536 | <span class=normal>487</span> |
537 | 537 | <span class=normal>488</span> |
538 | 538 | <span class=normal>489</span> |
539 | | -<span class=normal>490</span> |
540 | | -<span class=normal>491</span> |
541 | | -<span class=normal>492</span></pre></div></td><td class=code><div><pre><span></span><code><span class=k>class</span><span class=w> </span><span class=nc>SplitCmd</span><span class=p>(</span><span class=n>CommandPlusDocs</span><span class=p>):</span> |
| 539 | +<span class=normal>490</span></pre></div></td><td class=code><div><pre><span></span><code><span class=k>class</span><span class=w> </span><span class=nc>SplitCmd</span><span class=p>(</span><span class=n>CommandPlusDocs</span><span class=p>):</span> |
542 | 540 | <span class=w> </span><span class=sd>"""Split subcomponents on a trestle model."""</span> |
543 | 541 |
|
544 | 542 | <span class=n>name</span> <span class=o>=</span> <span class=s1>'split'</span> |
|
803 | 801 | <span class=n>sub_model_items</span><span class=p>[</span><span class=n>prefix</span><span class=p>]</span> <span class=o>=</span> <span class=n>sub_model_item</span> |
804 | 802 |
|
805 | 803 | <span class=c1># process list sub model items</span> |
806 | | - <span class=n>count</span> <span class=o>=</span> <span class=mi>0</span> |
807 | | - <span class=k>for</span> <span class=n>key</span><span class=p>,</span> <span class=n>sub_model_item</span> <span class=ow>in</span> <span class=n>sub_model_items</span><span class=o>.</span><span class=n>items</span><span class=p>():</span> |
808 | | - <span class=n>count</span> <span class=o>+=</span> <span class=mi>1</span> |
| 804 | + <span class=k>for</span> <span class=n>count</span><span class=p>,</span> <span class=p>(</span><span class=n>key</span><span class=p>,</span> <span class=n>sub_model_item</span><span class=p>)</span> <span class=ow>in</span> <span class=nb>enumerate</span><span class=p>(</span><span class=n>sub_model_items</span><span class=o>.</span><span class=n>items</span><span class=p>(),</span> <span class=n>start</span><span class=o>=</span><span class=mi>1</span><span class=p>):</span> |
809 | 805 | <span class=c1># recursively split the sub-model if there are more element paths to traverse</span> |
810 | 806 | <span class=c1># e.g. split component.control-implementations.*</span> |
811 | 807 | <span class=n>require_recursive_split</span> <span class=o>=</span> <span class=p>(</span> |
|
962 | 958 | <span class=k>else</span><span class=p>:</span> |
963 | 959 | <span class=n>tracker_map</span><span class=p>[</span><span class=n>root_path</span><span class=p>]</span> <span class=o>=</span> <span class=n>AliasTracker</span><span class=p>(</span><span class=n>aliases</span><span class=o>=</span><span class=p>[</span><span class=n>alias</span><span class=p>])</span> |
964 | 960 | <span class=k>return</span> <span class=n>tracker_map</span> |
965 | | -</code></pre></div></td></tr></table></div> </details> <div class="doc doc-children"> <h5 id=trestle.core.commands.split.SplitCmd-attributes>Attributes<a href=#trestle.core.commands.split.SplitCmd-attributes class=headerlink title="Permanent link">¤</a></h5> <div class="doc doc-object doc-attribute"> <h6 id=trestle.core.commands.split.SplitCmd.name class="doc doc-heading"> <code class="highlight language-python"><span class=n>name</span> <span class=o>=</span> <span class=s1>'split'</span></code> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#trestle.core.commands.split.SplitCmd.name class=headerlink title="Permanent link">¤</a></h6> <div class="doc doc-contents "> </div> </div> <h5 id=trestle.core.commands.split.SplitCmd-functions>Functions<a href=#trestle.core.commands.split.SplitCmd-functions class=headerlink title="Permanent link">¤</a></h5> <div class="doc doc-object doc-function"> <h6 id=trestle.core.commands.split.SplitCmd.find_aliases_to_strip class="doc doc-heading"> <code class="highlight language-python"><span class=n>find_aliases_to_strip</span><span class=p>(</span><span class=n>element_paths</span><span class=p>)</span></code> <span class="doc doc-labels"> <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> </span> <a href=#trestle.core.commands.split.SplitCmd.find_aliases_to_strip class=headerlink title="Permanent link">¤</a></h6> <div class="doc doc-contents "> <p>Find list of aliases that need to be stripped as each element written out.</p> <details class=mkdocstrings-source> <summary>Source code in <code>trestle/core/commands/split.py</code></summary> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal>475</span> |
| 961 | +</code></pre></div></td></tr></table></div> </details> <div class="doc doc-children"> <h5 id=trestle.core.commands.split.SplitCmd-attributes>Attributes<a href=#trestle.core.commands.split.SplitCmd-attributes class=headerlink title="Permanent link">¤</a></h5> <div class="doc doc-object doc-attribute"> <h6 id=trestle.core.commands.split.SplitCmd.name class="doc doc-heading"> <code class="highlight language-python"><span class=n>name</span> <span class=o>=</span> <span class=s1>'split'</span></code> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#trestle.core.commands.split.SplitCmd.name class=headerlink title="Permanent link">¤</a></h6> <div class="doc doc-contents "> </div> </div> <h5 id=trestle.core.commands.split.SplitCmd-functions>Functions<a href=#trestle.core.commands.split.SplitCmd-functions class=headerlink title="Permanent link">¤</a></h5> <div class="doc doc-object doc-function"> <h6 id=trestle.core.commands.split.SplitCmd.find_aliases_to_strip class="doc doc-heading"> <code class="highlight language-python"><span class=n>find_aliases_to_strip</span><span class=p>(</span><span class=n>element_paths</span><span class=p>)</span></code> <span class="doc doc-labels"> <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> </span> <a href=#trestle.core.commands.split.SplitCmd.find_aliases_to_strip class=headerlink title="Permanent link">¤</a></h6> <div class="doc doc-contents "> <p>Find list of aliases that need to be stripped as each element written out.</p> <details class=mkdocstrings-source> <summary>Source code in <code>trestle/core/commands/split.py</code></summary> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal>473</span> |
| 962 | +<span class=normal>474</span> |
| 963 | +<span class=normal>475</span> |
966 | 964 | <span class=normal>476</span> |
967 | 965 | <span class=normal>477</span> |
968 | 966 | <span class=normal>478</span> |
|
977 | 975 | <span class=normal>487</span> |
978 | 976 | <span class=normal>488</span> |
979 | 977 | <span class=normal>489</span> |
980 | | -<span class=normal>490</span> |
981 | | -<span class=normal>491</span> |
982 | | -<span class=normal>492</span></pre></div></td><td class=code><div><pre><span></span><code><span class=nd>@classmethod</span> |
| 978 | +<span class=normal>490</span></pre></div></td><td class=code><div><pre><span></span><code><span class=nd>@classmethod</span> |
983 | 979 | <span class=k>def</span><span class=w> </span><span class=nf>find_aliases_to_strip</span><span class=p>(</span><span class=bp>cls</span><span class=p>,</span> <span class=n>element_paths</span><span class=p>:</span> <span class=n>List</span><span class=p>[</span><span class=n>ElementPath</span><span class=p>])</span> <span class=o>-></span> <span class=n>Dict</span><span class=p>[</span><span class=nb>str</span><span class=p>,</span> <span class=n>AliasTracker</span><span class=p>]:</span> |
984 | 980 | <span class=w> </span><span class=sd>"""Find list of aliases that need to be stripped as each element written out."""</span> |
985 | 981 | <span class=c1># A given path may be present in several split actions</span> |
|
1215 | 1211 | <span class=n>actions</span><span class=o>.</span><span class=n>append</span><span class=p>(</span><span class=n>CreatePathAction</span><span class=p>(</span><span class=n>sub_model_file</span><span class=p>))</span> |
1216 | 1212 | <span class=n>actions</span><span class=o>.</span><span class=n>append</span><span class=p>(</span><span class=n>WriteFileAction</span><span class=p>(</span><span class=n>sub_model_file</span><span class=p>,</span> <span class=n>Element</span><span class=p>(</span><span class=n>sub_model_item</span><span class=p>,</span> <span class=n>model_type</span><span class=p>),</span> <span class=n>content_type</span><span class=p>))</span> |
1217 | 1213 | <span class=k>return</span> <span class=n>actions</span> |
1218 | | -</code></pre></div></td></tr></table></div> </details> </div> </div> <div class="doc doc-object doc-function"> <h6 id=trestle.core.commands.split.SplitCmd.split_model class="doc doc-heading"> <code class="highlight language-python"><span class=n>split_model</span><span class=p>(</span><span class=n>model_obj</span><span class=p>,</span> <span class=n>element_paths</span><span class=p>,</span> <span class=n>base_dir</span><span class=p>,</span> <span class=n>content_type</span><span class=p>,</span> <span class=n>root_file_name</span><span class=p>,</span> <span class=n>aliases_to_strip</span><span class=p>)</span></code> <span class="doc doc-labels"> <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> </span> <a href=#trestle.core.commands.split.SplitCmd.split_model class=headerlink title="Permanent link">¤</a></h6> <div class="doc doc-contents "> <p>Split the model at the provided element paths.</p> <p>It returns a plan for the operation</p> <details class=mkdocstrings-source> <summary>Source code in <code>trestle/core/commands/split.py</code></summary> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal>413</span> |
| 1214 | +</code></pre></div></td></tr></table></div> </details> </div> </div> <div class="doc doc-object doc-function"> <h6 id=trestle.core.commands.split.SplitCmd.split_model class="doc doc-heading"> <code class="highlight language-python"><span class=n>split_model</span><span class=p>(</span><span class=n>model_obj</span><span class=p>,</span> <span class=n>element_paths</span><span class=p>,</span> <span class=n>base_dir</span><span class=p>,</span> <span class=n>content_type</span><span class=p>,</span> <span class=n>root_file_name</span><span class=p>,</span> <span class=n>aliases_to_strip</span><span class=p>)</span></code> <span class="doc doc-labels"> <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> </span> <a href=#trestle.core.commands.split.SplitCmd.split_model class=headerlink title="Permanent link">¤</a></h6> <div class="doc doc-contents "> <p>Split the model at the provided element paths.</p> <p>It returns a plan for the operation</p> <details class=mkdocstrings-source> <summary>Source code in <code>trestle/core/commands/split.py</code></summary> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal>411</span> |
| 1215 | +<span class=normal>412</span> |
| 1216 | +<span class=normal>413</span> |
1219 | 1217 | <span class=normal>414</span> |
1220 | 1218 | <span class=normal>415</span> |
1221 | 1219 | <span class=normal>416</span> |
|
1273 | 1271 | <span class=normal>468</span> |
1274 | 1272 | <span class=normal>469</span> |
1275 | 1273 | <span class=normal>470</span> |
1276 | | -<span class=normal>471</span> |
1277 | | -<span class=normal>472</span> |
1278 | | -<span class=normal>473</span></pre></div></td><td class=code><div><pre><span></span><code><span class=nd>@classmethod</span> |
| 1274 | +<span class=normal>471</span></pre></div></td><td class=code><div><pre><span></span><code><span class=nd>@classmethod</span> |
1279 | 1275 | <span class=k>def</span><span class=w> </span><span class=nf>split_model</span><span class=p>(</span> |
1280 | 1276 | <span class=bp>cls</span><span class=p>,</span> |
1281 | 1277 | <span class=n>model_obj</span><span class=p>:</span> <span class=n>OscalBaseModel</span><span class=p>,</span> |
|
1528 | 1524 | <span class=normal>406</span> |
1529 | 1525 | <span class=normal>407</span> |
1530 | 1526 | <span class=normal>408</span> |
1531 | | -<span class=normal>409</span> |
1532 | | -<span class=normal>410</span> |
1533 | | -<span class=normal>411</span></pre></div></td><td class=code><div><pre><span></span><code><span class=nd>@classmethod</span> |
| 1527 | +<span class=normal>409</span></pre></div></td><td class=code><div><pre><span></span><code><span class=nd>@classmethod</span> |
1534 | 1528 | <span class=k>def</span><span class=w> </span><span class=nf>split_model_at_path_chain</span><span class=p>(</span> |
1535 | 1529 | <span class=bp>cls</span><span class=p>,</span> |
1536 | 1530 | <span class=n>model_obj</span><span class=p>:</span> <span class=n>OscalBaseModel</span><span class=p>,</span> |
|
1647 | 1641 | <span class=n>sub_model_items</span><span class=p>[</span><span class=n>prefix</span><span class=p>]</span> <span class=o>=</span> <span class=n>sub_model_item</span> |
1648 | 1642 |
|
1649 | 1643 | <span class=c1># process list sub model items</span> |
1650 | | - <span class=n>count</span> <span class=o>=</span> <span class=mi>0</span> |
1651 | | - <span class=k>for</span> <span class=n>key</span><span class=p>,</span> <span class=n>sub_model_item</span> <span class=ow>in</span> <span class=n>sub_model_items</span><span class=o>.</span><span class=n>items</span><span class=p>():</span> |
1652 | | - <span class=n>count</span> <span class=o>+=</span> <span class=mi>1</span> |
| 1644 | + <span class=k>for</span> <span class=n>count</span><span class=p>,</span> <span class=p>(</span><span class=n>key</span><span class=p>,</span> <span class=n>sub_model_item</span><span class=p>)</span> <span class=ow>in</span> <span class=nb>enumerate</span><span class=p>(</span><span class=n>sub_model_items</span><span class=o>.</span><span class=n>items</span><span class=p>(),</span> <span class=n>start</span><span class=o>=</span><span class=mi>1</span><span class=p>):</span> |
1653 | 1645 | <span class=c1># recursively split the sub-model if there are more element paths to traverse</span> |
1654 | 1646 | <span class=c1># e.g. split component.control-implementations.*</span> |
1655 | 1647 | <span class=n>require_recursive_split</span> <span class=o>=</span> <span class=p>(</span> |
|
0 commit comments