<div class="section" id="how-can-i-access-the-path-and-task-states">
<span id="print-all-states"></span><span id="index-0"></span>
<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ecflow</span>
<span class="c"># Create the client. This will read the default environment variables</span>
<span class="n">ci</span> <span class="o">=</span> <span class="n">ecflow</span><span class="o">.</span><span class="n">Client</span><span class="p">();</span>
<span class="n">ci</span><span class="o">.</span><span class="n">set_host_port</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="s">"4141"</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="c"># Get the node tree suite definition as stored in the server</span>
<span class="c"># The definition is retrieved and stored on the variable 'ci'</span>
<span class="n">ci</span><span class="o">.</span><span class="n">sync_local</span><span class="p">()</span>
<span class="c"># access the definition retrieved from the server</span>
<span class="n">defs</span> <span class="o">=</span> <span class="n">ci</span><span class="o">.</span><span class="n">get_defs</span><span class="p">()</span>
<span class="k">if</span> <span class="n">defs</span> <span class="o">==</span> <span class="bp">None</span> <span class="p">:</span>
<span class="k">print</span> <span class="s">"The server has no defintion "</span>
<span class="nb">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="c"># create a vector to hold all the tasks in the definition</span>
<span class="n">task_vec</span> <span class="o">=</span> <span class="n">ecflow</span><span class="o">.</span><span class="n">TaskVec</span><span class="p">();</span>
<span class="n">defs</span><span class="o">.</span><span class="n">get_all_tasks</span><span class="p">(</span><span class="n">task_vec</span><span class="p">);</span>
<span class="c"># iterate over tasks and print path and state</span>
<span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">task_vec</span><span class="p">:</span>
<span class="k">print</span> <span class="n">task</span><span class="o">.</span><span class="n">get_abs_node_path</span><span class="p">()</span> <span class="o">+</span> <span class="s">" "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">task</span><span class="o">.</span><span class="n">get_state</span><span class="p">())</span>
<span class="k">except</span> <span class="ne">RuntimeError</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span>
<span class="k">print</span> <span class="s">"failed: "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">);</span>
</pre></div>
</div>
</div>
|