Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
HTML
<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="c">#!/usr/bin/env python2.7</span>
<span class="kn">import</span> <span class="nn">ecflow</span>

<span class="k">try</span><span class="p">:</span>
    <span class="c"># Create the client</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="s">&quot;localhost&quot;</span><span class="p">,</span> <span class="s">&quot;4143&quot;</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 &#39;ci&#39;</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">&quot;The server has no definition&quot;</span>
        <span class="nb">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
    
    <span class="c"># get the tasks, *alternatively* could use defs.get_all_nodes()  </span>
    <span class="c"># to include suites, families and tasks.</span>
    <span class="n">task_vec</span> <span class="o">=</span> <span class="n">defs</span><span class="o">.</span><span class="n">get_all_tasks</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">&quot; &quot;</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">&quot;Failed: &quot;</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>