|
7 | 7 |
|
8 | 8 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
9 | 9 |
|
10 | | - <title>netnir.cli — netnir 0.0.15 0.0.15 documentation</title> |
| 10 | + <title>netnir.cli — netnir 0.0.16 0.0.16 documentation</title> |
11 | 11 |
|
12 | 12 |
|
13 | 13 |
|
|
49 | 49 |
|
50 | 50 |
|
51 | 51 |
|
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 |
53 | 53 |
|
54 | 54 |
|
55 | 55 |
|
|
99 | 99 | <nav class="wy-nav-top" aria-label="top navigation"> |
100 | 100 |
|
101 | 101 | <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> |
103 | 103 |
|
104 | 104 | </nav> |
105 | 105 |
|
@@ -169,29 +169,15 @@ <h1>Source code for netnir.cli</h1><div class="highlight"><pre> |
169 | 169 | <span class="sd"> A class object used to setup the netnir cli, consume the available commands from plugins,</span> |
170 | 170 | <span class="sd"> display the available commands, and execute the available commands based on user input.</span> |
171 | 171 | <span class="sd"> """</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 | + |
172 | 174 | <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">"plugins"</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> |
174 | 175 | <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">"netnir"</span><span class="p">)</span> |
175 | 176 | <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> |
176 | 177 | <span class="s2">"--version"</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">"store_true"</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">"display version"</span> |
177 | 178 | <span class="p">)</span> |
178 | | - |
179 | 179 | <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">"netnir commands"</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">"command"</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">"class"</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"."</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">"class"</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"."</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">"description"</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">"description"</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">"."</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> |
195 | 181 |
|
196 | 182 | <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> |
197 | 183 |
|
|
0 commit comments