Skip to content
This repository was archived by the owner on Nov 15, 2024. It is now read-only.

Commit 55cc43d

Browse files
authored
Merge pull request #19 from netdevops/subcommand
refactor subcommand parser
2 parents 04b589f + 23f4f0a commit 55cc43d

104 files changed

Lines changed: 397 additions & 335 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: c298f96343980084363d65dfca8fb8dc
3+
config: a809f93c93cd5ff1b68c423b135ac86e
44
tags: d77d1c0d9ca2f4c8421862c7c5a0d620
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: c298f96343980084363d65dfca8fb8dc
3+
config: a809f93c93cd5ff1b68c423b135ac86e
44
tags: d77d1c0d9ca2f4c8421862c7c5a0d620

docs/_mkdocs/_build/dirhtml/_modules/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>Overview: module code &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>Overview: module code &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../">netnir 0.0.15</a>
102+
<a href="../">netnir 0.0.16</a>
103103

104104
</nav>
105105

docs/_mkdocs/_build/dirhtml/_modules/netnir/cli/index.html

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>netnir.cli &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>netnir.cli &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../../../">netnir 0.0.15</a>
102+
<a href="../../../">netnir 0.0.16</a>
103103

104104
</nav>
105105

@@ -169,29 +169,15 @@ <h1>Source code for netnir.cli</h1><div class="highlight"><pre>
169169
<span class="sd"> A class object used to setup the netnir cli, consume the available commands from plugins,</span>
170170
<span class="sd"> display the available commands, and execute the available commands based on user input.</span>
171171
<span class="sd"> &quot;&quot;&quot;</span>
172+
<span class="kn">from</span> <span class="nn">netnir.helpers</span> <span class="kn">import</span> <span class="n">plugins_import</span>
173+
172174
<span class="bp">self</span><span class="o">.</span><span class="n">plugins</span> <span class="o">=</span> <span class="n">NETNIR_CONFIG</span><span class="p">[</span><span class="s2">&quot;plugins&quot;</span><span class="p">]</span>
173-
<span class="bp">self</span><span class="o">.</span><span class="n">loaded_plugins</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
174175
<span class="bp">self</span><span class="o">.</span><span class="n">parser</span> <span class="o">=</span> <span class="n">MyParser</span><span class="p">(</span><span class="n">prog</span><span class="o">=</span><span class="s2">&quot;netnir&quot;</span><span class="p">)</span>
175176
<span class="bp">self</span><span class="o">.</span><span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span>
176177
<span class="s2">&quot;--version&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;store_true&quot;</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;display version&quot;</span>
177178
<span class="p">)</span>
178-
179179
<span class="n">subparsers</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parser</span><span class="o">.</span><span class="n">add_subparsers</span><span class="p">(</span><span class="n">title</span><span class="o">=</span><span class="s2">&quot;netnir commands&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;command&quot;</span><span class="p">)</span>
180-
181-
<span class="k">for</span> <span class="n">task_key</span><span class="p">,</span> <span class="n">task</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
182-
<span class="n">plugin</span> <span class="o">=</span> <span class="n">task</span><span class="p">[</span><span class="s2">&quot;class&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
183-
<span class="n">app</span> <span class="o">=</span> <span class="n">task</span><span class="p">[</span><span class="s2">&quot;class&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
184-
<span class="n">cmdparser</span> <span class="o">=</span> <span class="n">subparsers</span><span class="o">.</span><span class="n">add_parser</span><span class="p">(</span>
185-
<span class="n">task_key</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="n">task</span><span class="p">[</span><span class="s2">&quot;description&quot;</span><span class="p">],</span> <span class="n">description</span><span class="o">=</span><span class="n">task</span><span class="p">[</span><span class="s2">&quot;description&quot;</span><span class="p">],</span>
186-
<span class="p">)</span>
187-
188-
<span class="k">try</span><span class="p">:</span>
189-
<span class="n">plugin</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="nb">__import__</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">plugin</span><span class="p">),</span> <span class="n">fromlist</span><span class="o">=</span><span class="p">[</span><span class="n">app</span><span class="p">]),</span> <span class="n">app</span><span class="p">)</span>
190-
<span class="bp">self</span><span class="o">.</span><span class="n">loaded_plugins</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">task_key</span><span class="p">:</span> <span class="n">plugin</span><span class="p">})</span>
191-
<span class="k">except</span> <span class="ne">ModuleNotFoundError</span><span class="p">:</span>
192-
<span class="k">raise</span>
193-
194-
<span class="n">plugin</span><span class="o">.</span><span class="n">parser</span><span class="p">(</span><span class="n">cmdparser</span><span class="p">)</span>
180+
<span class="bp">self</span><span class="o">.</span><span class="n">loaded_plugins</span> <span class="o">=</span> <span class="n">plugins_import</span><span class="p">(</span><span class="n">tasks</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">,</span> <span class="n">subparsers</span><span class="o">=</span><span class="n">subparsers</span><span class="p">)</span>
195181

196182
<span class="bp">self</span><span class="o">.</span><span class="n">args</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">()</span>
197183

docs/_mkdocs/_build/dirhtml/_modules/netnir/core/credentials/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>netnir.core.credentials &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>netnir.core.credentials &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../../../../">netnir 0.0.15</a>
102+
<a href="../../../../">netnir 0.0.16</a>
103103

104104
</nav>
105105

docs/_mkdocs/_build/dirhtml/_modules/netnir/core/inventory/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>netnir.core.inventory &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>netnir.core.inventory &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../../../../">netnir 0.0.15</a>
102+
<a href="../../../../">netnir 0.0.16</a>
103103

104104
</nav>
105105

docs/_mkdocs/_build/dirhtml/_modules/netnir/core/networking/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>netnir.core.networking &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>netnir.core.networking &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../../../../">netnir 0.0.15</a>
102+
<a href="../../../../">netnir 0.0.16</a>
103103

104104
</nav>
105105

docs/_mkdocs/_build/dirhtml/_modules/netnir/core/output/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>netnir.core.output &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>netnir.core.output &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../../../../">netnir 0.0.15</a>
102+
<a href="../../../../">netnir 0.0.16</a>
103103

104104
</nav>
105105

docs/_mkdocs/_build/dirhtml/_modules/netnir/core/tasks/config_plan/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>netnir.core.tasks.config_plan &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>netnir.core.tasks.config_plan &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../../../../../">netnir 0.0.15</a>
102+
<a href="../../../../../">netnir 0.0.16</a>
103103

104104
</nav>
105105

docs/_mkdocs/_build/dirhtml/_modules/netnir/core/tasks/fetch/config/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0">
99

10-
<title>netnir.core.tasks.fetch.config &mdash; netnir 0.0.15 0.0.15 documentation</title>
10+
<title>netnir.core.tasks.fetch.config &mdash; netnir 0.0.16 0.0.16 documentation</title>
1111

1212

1313

@@ -49,7 +49,7 @@
4949

5050

5151

52-
<a href="../../../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.15
52+
<a href="../../../../../../" class="icon icon-home" alt="Documentation Home"> netnir 0.0.16
5353

5454

5555

@@ -99,7 +99,7 @@
9999
<nav class="wy-nav-top" aria-label="top navigation">
100100

101101
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
102-
<a href="../../../../../../">netnir 0.0.15</a>
102+
<a href="../../../../../../">netnir 0.0.16</a>
103103

104104
</nav>
105105

0 commit comments

Comments
 (0)