mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-15 14:50:25 +01:00
Documentation updated
This commit is contained in:
parent
4a0abcd812
commit
1985ba35d8
1 changed files with 410 additions and 412 deletions
|
@ -391,356 +391,355 @@
|
|||
</span><span id="L-307"><a href="#L-307"><span class="linenos">307</span></a> <span class="n">cfg_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">item</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">subitem</span>
|
||||
</span><span id="L-308"><a href="#L-308"><span class="linenos">308</span></a> <span class="n">file_data</span> <span class="o">=</span> <span class="n">_read_o_file</span><span class="p">(</span><span class="n">cfg_path</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">im</span><span class="p">)</span>
|
||||
</span><span id="L-309"><a href="#L-309"><span class="linenos">309</span></a> <span class="n">rep_data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">file_data</span><span class="p">)</span>
|
||||
</span><span id="L-310"><a href="#L-310"><span class="linenos">310</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">rep_data</span><span class="p">)</span>
|
||||
</span><span id="L-311"><a href="#L-311"><span class="linenos">311</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-312"><a href="#L-312"><span class="linenos">312</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="L-313"><a href="#L-313"><span class="linenos">313</span></a> <span class="k">for</span> <span class="n">cfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">):</span>
|
||||
</span><span id="L-314"><a href="#L-314"><span class="linenos">314</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">][</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">cfg</span><span class="p">][</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="L-315"><a href="#L-315"><span class="linenos">315</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-316"><a href="#L-316"><span class="linenos">316</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-317"><a href="#L-317"><span class="linenos">317</span></a> <span class="n">specs</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="L-318"><a href="#L-318"><span class="linenos">318</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-319"><a href="#L-319"><span class="linenos">319</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-320"><a href="#L-320"><span class="linenos">320</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="L-321"><a href="#L-321"><span class="linenos">321</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="L-322"><a href="#L-322"><span class="linenos">322</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="L-323"><a href="#L-323"><span class="linenos">323</span></a> <span class="k">if</span> <span class="s2">"files"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
</span><span id="L-324"><a href="#L-324"><span class="linenos">324</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)):</span>
|
||||
</span><span id="L-325"><a href="#L-325"><span class="linenos">325</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)</span>
|
||||
</span><span id="L-326"><a href="#L-326"><span class="linenos">326</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-327"><a href="#L-327"><span class="linenos">327</span></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"In append mode, files has to be of type list[str]!"</span><span class="p">)</span>
|
||||
</span><span id="L-328"><a href="#L-328"><span class="linenos">328</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-329"><a href="#L-329"><span class="linenos">329</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">ls</span>
|
||||
</span><span id="L-330"><a href="#L-330"><span class="linenos">330</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">name_ls</span><span class="p">:</span>
|
||||
</span><span id="L-331"><a href="#L-331"><span class="linenos">331</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.'</span> <span class="o">+</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-332"><a href="#L-332"><span class="linenos">332</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-333"><a href="#L-333"><span class="linenos">333</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">sort_names</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span>
|
||||
</span><span id="L-334"><a href="#L-334"><span class="linenos">334</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'spec'</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s1">'pattern'</span><span class="p">]</span>
|
||||
</span><span id="L-335"><a href="#L-335"><span class="linenos">335</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-336"><a href="#L-336"><span class="linenos">336</span></a> <span class="k">for</span> <span class="n">rep</span><span class="p">,</span> <span class="n">file</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">name_ls</span><span class="p">):</span>
|
||||
</span><span id="L-337"><a href="#L-337"><span class="linenos">337</span></a> <span class="n">rep_idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-338"><a href="#L-338"><span class="linenos">338</span></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span>
|
||||
</span><span id="L-339"><a href="#L-339"><span class="linenos">339</span></a> <span class="n">T</span><span class="p">,</span> <span class="n">rep_idl</span><span class="p">,</span> <span class="n">rep_data</span> <span class="o">=</span> <span class="n">_read_append_rep</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'b2b'</span><span class="p">],</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'single'</span><span class="p">])</span>
|
||||
</span><span id="L-340"><a href="#L-340"><span class="linenos">340</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-341"><a href="#L-341"><span class="linenos">341</span></a> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span>
|
||||
</span><span id="L-342"><a href="#L-342"><span class="linenos">342</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="L-343"><a href="#L-343"><span class="linenos">343</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="L-344"><a href="#L-344"><span class="linenos">344</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="L-346"><a href="#L-346"><span class="linenos">346</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="n">name_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
|
||||
</span><span id="L-348"><a href="#L-348"><span class="linenos">348</span></a> <span class="n">idl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_idl</span><span class="p">)</span>
|
||||
</span><span id="L-349"><a href="#L-349"><span class="linenos">349</span></a>
|
||||
</span><span id="L-350"><a href="#L-350"><span class="linenos">350</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
</span><span id="L-351"><a href="#L-351"><span class="linenos">351</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-352"><a href="#L-352"><span class="linenos">352</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Checking for missing configs..."</span><span class="p">)</span>
|
||||
</span><span id="L-353"><a href="#L-353"><span class="linenos">353</span></a> <span class="n">che</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span>
|
||||
</span><span id="L-354"><a href="#L-354"><span class="linenos">354</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">che</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="L-355"><a href="#L-355"><span class="linenos">355</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"check_configs has to be the same length as replica!"</span><span class="p">)</span>
|
||||
</span><span id="L-356"><a href="#L-356"><span class="linenos">356</span></a> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="L-357"><a href="#L-357"><span class="linenos">357</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-358"><a href="#L-358"><span class="linenos">358</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"checking "</span> <span class="o">+</span> <span class="n">new_names</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="L-359"><a href="#L-359"><span class="linenos">359</span></a> <span class="n">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">[</span><span class="n">r</span><span class="p">],</span> <span class="n">che</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="L-360"><a href="#L-360"><span class="linenos">360</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-361"><a href="#L-361"><span class="linenos">361</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Done"</span><span class="p">)</span>
|
||||
</span><span id="L-362"><a href="#L-362"><span class="linenos">362</span></a>
|
||||
</span><span id="L-363"><a href="#L-363"><span class="linenos">363</span></a> <span class="n">result_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-364"><a href="#L-364"><span class="linenos">364</span></a> <span class="k">if</span> <span class="n">keyed_out</span><span class="p">:</span>
|
||||
</span><span id="L-365"><a href="#L-365"><span class="linenos">365</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-366"><a href="#L-366"><span class="linenos">366</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-367"><a href="#L-367"><span class="linenos">367</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-368"><a href="#L-368"><span class="linenos">368</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="L-369"><a href="#L-369"><span class="linenos">369</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="L-370"><a href="#L-370"><span class="linenos">370</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-371"><a href="#L-371"><span class="linenos">371</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">name_list</span><span class="p">:</span>
|
||||
</span><span id="L-372"><a href="#L-372"><span class="linenos">372</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-373"><a href="#L-373"><span class="linenos">373</span></a> <span class="k">for</span> <span class="n">quarks</span> <span class="ow">in</span> <span class="n">quarks_list</span><span class="p">:</span>
|
||||
</span><span id="L-374"><a href="#L-374"><span class="linenos">374</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-375"><a href="#L-375"><span class="linenos">375</span></a> <span class="k">for</span> <span class="n">off</span> <span class="ow">in</span> <span class="n">noffset_list</span><span class="p">:</span>
|
||||
</span><span id="L-376"><a href="#L-376"><span class="linenos">376</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-377"><a href="#L-377"><span class="linenos">377</span></a> <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="n">wf_list</span><span class="p">:</span>
|
||||
</span><span id="L-378"><a href="#L-378"><span class="linenos">378</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-379"><a href="#L-379"><span class="linenos">379</span></a> <span class="k">for</span> <span class="n">w2</span> <span class="ow">in</span> <span class="n">wf2_list</span><span class="p">:</span>
|
||||
</span><span id="L-380"><a href="#L-380"><span class="linenos">380</span></a> <span class="n">key</span> <span class="o">=</span> <span class="n">_specs2key</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quarks</span><span class="p">,</span> <span class="n">off</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">w2</span><span class="p">)</span>
|
||||
</span><span id="L-381"><a href="#L-381"><span class="linenos">381</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-382"><a href="#L-382"><span class="linenos">382</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-383"><a href="#L-383"><span class="linenos">383</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="L-384"><a href="#L-384"><span class="linenos">384</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="nb">str</span><span class="p">(</span><span class="n">off</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w2</span><span class="p">)]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="L-385"><a href="#L-385"><span class="linenos">385</span></a> <span class="k">return</span> <span class="n">result_dict</span>
|
||||
</span><span id="L-310"><a href="#L-310"><span class="linenos">310</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-311"><a href="#L-311"><span class="linenos">311</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="L-312"><a href="#L-312"><span class="linenos">312</span></a> <span class="k">for</span> <span class="n">cfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">):</span>
|
||||
</span><span id="L-313"><a href="#L-313"><span class="linenos">313</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">][</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">cfg</span><span class="p">][</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="L-314"><a href="#L-314"><span class="linenos">314</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-315"><a href="#L-315"><span class="linenos">315</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-316"><a href="#L-316"><span class="linenos">316</span></a> <span class="n">specs</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="L-317"><a href="#L-317"><span class="linenos">317</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-318"><a href="#L-318"><span class="linenos">318</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-319"><a href="#L-319"><span class="linenos">319</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="L-320"><a href="#L-320"><span class="linenos">320</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="L-321"><a href="#L-321"><span class="linenos">321</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="L-322"><a href="#L-322"><span class="linenos">322</span></a> <span class="k">if</span> <span class="s2">"files"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
</span><span id="L-323"><a href="#L-323"><span class="linenos">323</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)):</span>
|
||||
</span><span id="L-324"><a href="#L-324"><span class="linenos">324</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)</span>
|
||||
</span><span id="L-325"><a href="#L-325"><span class="linenos">325</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-326"><a href="#L-326"><span class="linenos">326</span></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"In append mode, files has to be of type list[str]!"</span><span class="p">)</span>
|
||||
</span><span id="L-327"><a href="#L-327"><span class="linenos">327</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-328"><a href="#L-328"><span class="linenos">328</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">ls</span>
|
||||
</span><span id="L-329"><a href="#L-329"><span class="linenos">329</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">name_ls</span><span class="p">:</span>
|
||||
</span><span id="L-330"><a href="#L-330"><span class="linenos">330</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.'</span> <span class="o">+</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-331"><a href="#L-331"><span class="linenos">331</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-332"><a href="#L-332"><span class="linenos">332</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">sort_names</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span>
|
||||
</span><span id="L-333"><a href="#L-333"><span class="linenos">333</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'spec'</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s1">'pattern'</span><span class="p">]</span>
|
||||
</span><span id="L-334"><a href="#L-334"><span class="linenos">334</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-335"><a href="#L-335"><span class="linenos">335</span></a> <span class="k">for</span> <span class="n">rep</span><span class="p">,</span> <span class="n">file</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">name_ls</span><span class="p">):</span>
|
||||
</span><span id="L-336"><a href="#L-336"><span class="linenos">336</span></a> <span class="n">rep_idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-337"><a href="#L-337"><span class="linenos">337</span></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span>
|
||||
</span><span id="L-338"><a href="#L-338"><span class="linenos">338</span></a> <span class="n">T</span><span class="p">,</span> <span class="n">rep_idl</span><span class="p">,</span> <span class="n">rep_data</span> <span class="o">=</span> <span class="n">_read_append_rep</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'b2b'</span><span class="p">],</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'single'</span><span class="p">])</span>
|
||||
</span><span id="L-339"><a href="#L-339"><span class="linenos">339</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-340"><a href="#L-340"><span class="linenos">340</span></a> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span>
|
||||
</span><span id="L-341"><a href="#L-341"><span class="linenos">341</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="L-342"><a href="#L-342"><span class="linenos">342</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="L-343"><a href="#L-343"><span class="linenos">343</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="L-344"><a href="#L-344"><span class="linenos">344</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="L-346"><a href="#L-346"><span class="linenos">346</span></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="n">name_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
|
||||
</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a> <span class="n">idl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_idl</span><span class="p">)</span>
|
||||
</span><span id="L-348"><a href="#L-348"><span class="linenos">348</span></a>
|
||||
</span><span id="L-349"><a href="#L-349"><span class="linenos">349</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
</span><span id="L-350"><a href="#L-350"><span class="linenos">350</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-351"><a href="#L-351"><span class="linenos">351</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Checking for missing configs..."</span><span class="p">)</span>
|
||||
</span><span id="L-352"><a href="#L-352"><span class="linenos">352</span></a> <span class="n">che</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span>
|
||||
</span><span id="L-353"><a href="#L-353"><span class="linenos">353</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">che</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="L-354"><a href="#L-354"><span class="linenos">354</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"check_configs has to be the same length as replica!"</span><span class="p">)</span>
|
||||
</span><span id="L-355"><a href="#L-355"><span class="linenos">355</span></a> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="L-356"><a href="#L-356"><span class="linenos">356</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-357"><a href="#L-357"><span class="linenos">357</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"checking "</span> <span class="o">+</span> <span class="n">new_names</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="L-358"><a href="#L-358"><span class="linenos">358</span></a> <span class="n">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">[</span><span class="n">r</span><span class="p">],</span> <span class="n">che</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="L-359"><a href="#L-359"><span class="linenos">359</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-360"><a href="#L-360"><span class="linenos">360</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Done"</span><span class="p">)</span>
|
||||
</span><span id="L-361"><a href="#L-361"><span class="linenos">361</span></a>
|
||||
</span><span id="L-362"><a href="#L-362"><span class="linenos">362</span></a> <span class="n">result_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-363"><a href="#L-363"><span class="linenos">363</span></a> <span class="k">if</span> <span class="n">keyed_out</span><span class="p">:</span>
|
||||
</span><span id="L-364"><a href="#L-364"><span class="linenos">364</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-365"><a href="#L-365"><span class="linenos">365</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-366"><a href="#L-366"><span class="linenos">366</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-367"><a href="#L-367"><span class="linenos">367</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="L-368"><a href="#L-368"><span class="linenos">368</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="L-369"><a href="#L-369"><span class="linenos">369</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-370"><a href="#L-370"><span class="linenos">370</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">name_list</span><span class="p">:</span>
|
||||
</span><span id="L-371"><a href="#L-371"><span class="linenos">371</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-372"><a href="#L-372"><span class="linenos">372</span></a> <span class="k">for</span> <span class="n">quarks</span> <span class="ow">in</span> <span class="n">quarks_list</span><span class="p">:</span>
|
||||
</span><span id="L-373"><a href="#L-373"><span class="linenos">373</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-374"><a href="#L-374"><span class="linenos">374</span></a> <span class="k">for</span> <span class="n">off</span> <span class="ow">in</span> <span class="n">noffset_list</span><span class="p">:</span>
|
||||
</span><span id="L-375"><a href="#L-375"><span class="linenos">375</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-376"><a href="#L-376"><span class="linenos">376</span></a> <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="n">wf_list</span><span class="p">:</span>
|
||||
</span><span id="L-377"><a href="#L-377"><span class="linenos">377</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-378"><a href="#L-378"><span class="linenos">378</span></a> <span class="k">for</span> <span class="n">w2</span> <span class="ow">in</span> <span class="n">wf2_list</span><span class="p">:</span>
|
||||
</span><span id="L-379"><a href="#L-379"><span class="linenos">379</span></a> <span class="n">key</span> <span class="o">=</span> <span class="n">_specs2key</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quarks</span><span class="p">,</span> <span class="n">off</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">w2</span><span class="p">)</span>
|
||||
</span><span id="L-380"><a href="#L-380"><span class="linenos">380</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-381"><a href="#L-381"><span class="linenos">381</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-382"><a href="#L-382"><span class="linenos">382</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="L-383"><a href="#L-383"><span class="linenos">383</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="nb">str</span><span class="p">(</span><span class="n">off</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w2</span><span class="p">)]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="L-384"><a href="#L-384"><span class="linenos">384</span></a> <span class="k">return</span> <span class="n">result_dict</span>
|
||||
</span><span id="L-385"><a href="#L-385"><span class="linenos">385</span></a>
|
||||
</span><span id="L-386"><a href="#L-386"><span class="linenos">386</span></a>
|
||||
</span><span id="L-387"><a href="#L-387"><span class="linenos">387</span></a>
|
||||
</span><span id="L-388"><a href="#L-388"><span class="linenos">388</span></a><span class="k">def</span> <span class="nf">_lists2key</span><span class="p">(</span><span class="o">*</span><span class="n">lists</span><span class="p">):</span>
|
||||
</span><span id="L-389"><a href="#L-389"><span class="linenos">389</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-390"><a href="#L-390"><span class="linenos">390</span></a> <span class="k">for</span> <span class="n">tup</span> <span class="ow">in</span> <span class="n">itertools</span><span class="o">.</span><span class="n">product</span><span class="p">(</span><span class="o">*</span><span class="n">lists</span><span class="p">):</span>
|
||||
</span><span id="L-391"><a href="#L-391"><span class="linenos">391</span></a> <span class="n">keys</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">tup</span><span class="p">))</span>
|
||||
</span><span id="L-392"><a href="#L-392"><span class="linenos">392</span></a> <span class="k">return</span> <span class="n">keys</span>
|
||||
</span><span id="L-387"><a href="#L-387"><span class="linenos">387</span></a><span class="k">def</span> <span class="nf">_lists2key</span><span class="p">(</span><span class="o">*</span><span class="n">lists</span><span class="p">):</span>
|
||||
</span><span id="L-388"><a href="#L-388"><span class="linenos">388</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-389"><a href="#L-389"><span class="linenos">389</span></a> <span class="k">for</span> <span class="n">tup</span> <span class="ow">in</span> <span class="n">itertools</span><span class="o">.</span><span class="n">product</span><span class="p">(</span><span class="o">*</span><span class="n">lists</span><span class="p">):</span>
|
||||
</span><span id="L-390"><a href="#L-390"><span class="linenos">390</span></a> <span class="n">keys</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">tup</span><span class="p">))</span>
|
||||
</span><span id="L-391"><a href="#L-391"><span class="linenos">391</span></a> <span class="k">return</span> <span class="n">keys</span>
|
||||
</span><span id="L-392"><a href="#L-392"><span class="linenos">392</span></a>
|
||||
</span><span id="L-393"><a href="#L-393"><span class="linenos">393</span></a>
|
||||
</span><span id="L-394"><a href="#L-394"><span class="linenos">394</span></a>
|
||||
</span><span id="L-395"><a href="#L-395"><span class="linenos">395</span></a><span class="k">def</span> <span class="nf">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">):</span>
|
||||
</span><span id="L-396"><a href="#L-396"><span class="linenos">396</span></a> <span class="k">return</span> <span class="n">key</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)</span>
|
||||
</span><span id="L-394"><a href="#L-394"><span class="linenos">394</span></a><span class="k">def</span> <span class="nf">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">):</span>
|
||||
</span><span id="L-395"><a href="#L-395"><span class="linenos">395</span></a> <span class="k">return</span> <span class="n">key</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)</span>
|
||||
</span><span id="L-396"><a href="#L-396"><span class="linenos">396</span></a>
|
||||
</span><span id="L-397"><a href="#L-397"><span class="linenos">397</span></a>
|
||||
</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a>
|
||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a><span class="k">def</span> <span class="nf">_specs2key</span><span class="p">(</span><span class="o">*</span><span class="n">specs</span><span class="p">):</span>
|
||||
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a> <span class="k">return</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">specs</span><span class="p">)</span>
|
||||
</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a><span class="k">def</span> <span class="nf">_specs2key</span><span class="p">(</span><span class="o">*</span><span class="n">specs</span><span class="p">):</span>
|
||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a> <span class="k">return</span> <span class="n">sep</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">specs</span><span class="p">)</span>
|
||||
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a>
|
||||
</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a>
|
||||
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a>
|
||||
</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a><span class="k">def</span> <span class="nf">_read_o_file</span><span class="p">(</span><span class="n">cfg_path</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">im</span><span class="p">):</span>
|
||||
</span><span id="L-404"><a href="#L-404"><span class="linenos">404</span></a> <span class="n">return_vals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-405"><a href="#L-405"><span class="linenos">405</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-406"><a href="#L-406"><span class="linenos">406</span></a> <span class="n">file</span> <span class="o">=</span> <span class="n">cfg_path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span>
|
||||
</span><span id="L-407"><a href="#L-407"><span class="linenos">407</span></a> <span class="n">specs</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a> <span class="k">if</span> <span class="n">specs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="n">name</span><span class="p">:</span>
|
||||
</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||
</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a> <span class="n">lines</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
|
||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]</span>
|
||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"spec"</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s2">"start"</span><span class="p">]</span>
|
||||
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">[</span><span class="n">start_read</span><span class="p">:</span><span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span><span class="p">]:</span>
|
||||
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="n">floats</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span>
|
||||
</span><span id="L-420"><a href="#L-420"><span class="linenos">420</span></a> <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"0.0"</span><span class="p">:</span>
|
||||
</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="n">im</span> <span class="o">-</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"single"</span><span class="p">]])</span>
|
||||
</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="n">im</span> <span class="o">-</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"single"</span><span class="p">]])</span>
|
||||
</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="L-425"><a href="#L-425"><span class="linenos">425</span></a> <span class="k">return</span> <span class="n">return_vals</span>
|
||||
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a><span class="k">def</span> <span class="nf">_read_o_file</span><span class="p">(</span><span class="n">cfg_path</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">im</span><span class="p">):</span>
|
||||
</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a> <span class="n">return_vals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-404"><a href="#L-404"><span class="linenos">404</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-405"><a href="#L-405"><span class="linenos">405</span></a> <span class="n">file</span> <span class="o">=</span> <span class="n">cfg_path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span>
|
||||
</span><span id="L-406"><a href="#L-406"><span class="linenos">406</span></a> <span class="n">specs</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="L-407"><a href="#L-407"><span class="linenos">407</span></a> <span class="k">if</span> <span class="n">specs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="n">name</span><span class="p">:</span>
|
||||
</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||
</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a> <span class="n">lines</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
|
||||
</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]</span>
|
||||
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"spec"</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s2">"start"</span><span class="p">]</span>
|
||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">[</span><span class="n">start_read</span><span class="p">:</span><span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span><span class="p">]:</span>
|
||||
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a> <span class="n">floats</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span>
|
||||
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"0.0"</span><span class="p">:</span>
|
||||
</span><span id="L-420"><a href="#L-420"><span class="linenos">420</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="n">im</span> <span class="o">-</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"single"</span><span class="p">]])</span>
|
||||
</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="n">im</span> <span class="o">-</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"single"</span><span class="p">]])</span>
|
||||
</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a> <span class="k">return</span> <span class="n">return_vals</span>
|
||||
</span><span id="L-425"><a href="#L-425"><span class="linenos">425</span></a>
|
||||
</span><span id="L-426"><a href="#L-426"><span class="linenos">426</span></a>
|
||||
</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a>
|
||||
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a><span class="k">def</span> <span class="nf">_extract_corr_type</span><span class="p">(</span><span class="n">corr_type</span><span class="p">):</span>
|
||||
</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a> <span class="k">if</span> <span class="n">corr_type</span> <span class="o">==</span> <span class="s1">'bb'</span><span class="p">:</span>
|
||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a> <span class="n">b2b</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a> <span class="n">single</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a> <span class="k">elif</span> <span class="n">corr_type</span> <span class="o">==</span> <span class="s1">'bib'</span><span class="p">:</span>
|
||||
</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a> <span class="n">b2b</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a> <span class="n">single</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-436"><a href="#L-436"><span class="linenos">436</span></a> <span class="n">b2b</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
</span><span id="L-437"><a href="#L-437"><span class="linenos">437</span></a> <span class="n">single</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
</span><span id="L-438"><a href="#L-438"><span class="linenos">438</span></a> <span class="k">return</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">single</span>
|
||||
</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a><span class="k">def</span> <span class="nf">_extract_corr_type</span><span class="p">(</span><span class="n">corr_type</span><span class="p">):</span>
|
||||
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a> <span class="k">if</span> <span class="n">corr_type</span> <span class="o">==</span> <span class="s1">'bb'</span><span class="p">:</span>
|
||||
</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a> <span class="n">b2b</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a> <span class="n">single</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a> <span class="k">elif</span> <span class="n">corr_type</span> <span class="o">==</span> <span class="s1">'bib'</span><span class="p">:</span>
|
||||
</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a> <span class="n">b2b</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a> <span class="n">single</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a> <span class="n">b2b</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
</span><span id="L-436"><a href="#L-436"><span class="linenos">436</span></a> <span class="n">single</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
</span><span id="L-437"><a href="#L-437"><span class="linenos">437</span></a> <span class="k">return</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">single</span>
|
||||
</span><span id="L-438"><a href="#L-438"><span class="linenos">438</span></a>
|
||||
</span><span id="L-439"><a href="#L-439"><span class="linenos">439</span></a>
|
||||
</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a>
|
||||
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a><span class="k">def</span> <span class="nf">_find_files</span><span class="p">(</span><span class="n">rep_path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">compact</span><span class="p">,</span> <span class="n">files</span><span class="o">=</span><span class="p">[]):</span>
|
||||
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">files</span> <span class="o">==</span> <span class="p">[]:</span>
|
||||
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="n">files</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
||||
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">rep_path</span><span class="p">):</span>
|
||||
</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a> <span class="k">if</span> <span class="n">compact</span><span class="p">:</span>
|
||||
</span><span id="L-448"><a href="#L-448"><span class="linenos">448</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
||||
</span><span id="L-449"><a href="#L-449"><span class="linenos">449</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-450"><a href="#L-450"><span class="linenos">450</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">dirnames</span><span class="p">)</span>
|
||||
</span><span id="L-451"><a href="#L-451"><span class="linenos">451</span></a> <span class="k">break</span>
|
||||
</span><span id="L-452"><a href="#L-452"><span class="linenos">452</span></a> <span class="k">if</span> <span class="n">compact</span><span class="p">:</span>
|
||||
</span><span id="L-453"><a href="#L-453"><span class="linenos">453</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">sub_ls</span><span class="p">:</span>
|
||||
</span><span id="L-454"><a href="#L-454"><span class="linenos">454</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*'</span><span class="p">):</span>
|
||||
</span><span id="L-455"><a href="#L-455"><span class="linenos">455</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">sub_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-456"><a href="#L-456"><span class="linenos">456</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
||||
</span><span id="L-457"><a href="#L-457"><span class="linenos">457</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-458"><a href="#L-458"><span class="linenos">458</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">sub_ls</span><span class="p">:</span>
|
||||
</span><span id="L-459"><a href="#L-459"><span class="linenos">459</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="s1">'cfg*'</span><span class="p">):</span>
|
||||
</span><span id="L-460"><a href="#L-460"><span class="linenos">460</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">sub_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">3</span><span class="p">:]))</span>
|
||||
</span><span id="L-462"><a href="#L-462"><span class="linenos">462</span></a> <span class="n">files</span> <span class="o">=</span> <span class="n">sub_ls</span>
|
||||
</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a> <span class="k">raise</span> <span class="ne">FileNotFoundError</span><span class="p">(</span><span class="s2">"Did not find files in"</span><span class="p">,</span> <span class="n">rep_path</span><span class="p">,</span> <span class="s2">"with prefix"</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="s2">"and the given structure."</span><span class="p">)</span>
|
||||
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a> <span class="k">return</span> <span class="n">files</span>
|
||||
</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a><span class="k">def</span> <span class="nf">_find_files</span><span class="p">(</span><span class="n">rep_path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">compact</span><span class="p">,</span> <span class="n">files</span><span class="o">=</span><span class="p">[]):</span>
|
||||
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">files</span> <span class="o">==</span> <span class="p">[]:</span>
|
||||
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="n">files</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
||||
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">rep_path</span><span class="p">):</span>
|
||||
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="k">if</span> <span class="n">compact</span><span class="p">:</span>
|
||||
</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
||||
</span><span id="L-448"><a href="#L-448"><span class="linenos">448</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-449"><a href="#L-449"><span class="linenos">449</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">dirnames</span><span class="p">)</span>
|
||||
</span><span id="L-450"><a href="#L-450"><span class="linenos">450</span></a> <span class="k">break</span>
|
||||
</span><span id="L-451"><a href="#L-451"><span class="linenos">451</span></a> <span class="k">if</span> <span class="n">compact</span><span class="p">:</span>
|
||||
</span><span id="L-452"><a href="#L-452"><span class="linenos">452</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">sub_ls</span><span class="p">:</span>
|
||||
</span><span id="L-453"><a href="#L-453"><span class="linenos">453</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*'</span><span class="p">):</span>
|
||||
</span><span id="L-454"><a href="#L-454"><span class="linenos">454</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">sub_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-455"><a href="#L-455"><span class="linenos">455</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
||||
</span><span id="L-456"><a href="#L-456"><span class="linenos">456</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-457"><a href="#L-457"><span class="linenos">457</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">sub_ls</span><span class="p">:</span>
|
||||
</span><span id="L-458"><a href="#L-458"><span class="linenos">458</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="s1">'cfg*'</span><span class="p">):</span>
|
||||
</span><span id="L-459"><a href="#L-459"><span class="linenos">459</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">sub_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-460"><a href="#L-460"><span class="linenos">460</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">3</span><span class="p">:]))</span>
|
||||
</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a> <span class="n">files</span> <span class="o">=</span> <span class="n">sub_ls</span>
|
||||
</span><span id="L-462"><a href="#L-462"><span class="linenos">462</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a> <span class="k">raise</span> <span class="ne">FileNotFoundError</span><span class="p">(</span><span class="s2">"Did not find files in"</span><span class="p">,</span> <span class="n">rep_path</span><span class="p">,</span> <span class="s2">"with prefix"</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="s2">"and the given structure."</span><span class="p">)</span>
|
||||
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a> <span class="k">return</span> <span class="n">files</span>
|
||||
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a>
|
||||
</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a>
|
||||
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a>
|
||||
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</span></a><span class="k">def</span> <span class="nf">_make_pattern</span><span class="p">(</span><span class="n">version</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">noffset</span><span class="p">,</span> <span class="n">wf</span><span class="p">,</span> <span class="n">wf2</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">quarks</span><span class="p">):</span>
|
||||
</span><span id="L-469"><a href="#L-469"><span class="linenos">469</span></a> <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"0.0"</span><span class="p">:</span>
|
||||
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="s2">"# "</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s2">" : offset "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">noffset</span><span class="p">)</span> <span class="o">+</span> <span class="s2">", wf "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf</span><span class="p">)</span>
|
||||
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a> <span class="k">if</span> <span class="n">b2b</span><span class="p">:</span>
|
||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a> <span class="n">pattern</span> <span class="o">+=</span> <span class="s2">", wf_2 "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf2</span><span class="p">)</span>
|
||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a> <span class="n">qs</span> <span class="o">=</span> <span class="n">quarks</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">" "</span><span class="p">)</span>
|
||||
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a> <span class="n">pattern</span> <span class="o">+=</span> <span class="s2">" : "</span> <span class="o">+</span> <span class="n">qs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s2">" - "</span> <span class="o">+</span> <span class="n">qs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="s1">'name '</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">quarks '</span> <span class="o">+</span> <span class="n">quarks</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">offset '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">noffset</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">wf '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf</span><span class="p">)</span>
|
||||
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a> <span class="k">if</span> <span class="n">b2b</span><span class="p">:</span>
|
||||
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a> <span class="n">pattern</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">wf_2 '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf2</span><span class="p">)</span>
|
||||
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a> <span class="k">return</span> <span class="n">pattern</span>
|
||||
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a><span class="k">def</span> <span class="nf">_make_pattern</span><span class="p">(</span><span class="n">version</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">noffset</span><span class="p">,</span> <span class="n">wf</span><span class="p">,</span> <span class="n">wf2</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">quarks</span><span class="p">):</span>
|
||||
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</span></a> <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"0.0"</span><span class="p">:</span>
|
||||
</span><span id="L-469"><a href="#L-469"><span class="linenos">469</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="s2">"# "</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s2">" : offset "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">noffset</span><span class="p">)</span> <span class="o">+</span> <span class="s2">", wf "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf</span><span class="p">)</span>
|
||||
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a> <span class="k">if</span> <span class="n">b2b</span><span class="p">:</span>
|
||||
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a> <span class="n">pattern</span> <span class="o">+=</span> <span class="s2">", wf_2 "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf2</span><span class="p">)</span>
|
||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a> <span class="n">qs</span> <span class="o">=</span> <span class="n">quarks</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">" "</span><span class="p">)</span>
|
||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a> <span class="n">pattern</span> <span class="o">+=</span> <span class="s2">" : "</span> <span class="o">+</span> <span class="n">qs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s2">" - "</span> <span class="o">+</span> <span class="n">qs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="s1">'name '</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">quarks '</span> <span class="o">+</span> <span class="n">quarks</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">offset '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">noffset</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">wf '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf</span><span class="p">)</span>
|
||||
</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a> <span class="k">if</span> <span class="n">b2b</span><span class="p">:</span>
|
||||
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a> <span class="n">pattern</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">wf_2 '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">wf2</span><span class="p">)</span>
|
||||
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a> <span class="k">return</span> <span class="n">pattern</span>
|
||||
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a>
|
||||
</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a>
|
||||
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a>
|
||||
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a><span class="k">def</span> <span class="nf">_find_correlator</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a> <span class="n">T</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a>
|
||||
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">)</span> <span class="k">as</span> <span class="n">my_file</span><span class="p">:</span>
|
||||
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a>
|
||||
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a> <span class="n">content</span> <span class="o">=</span> <span class="n">my_file</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
|
||||
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a> <span class="n">match</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">content</span><span class="p">)</span>
|
||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a> <span class="k">if</span> <span class="n">match</span><span class="p">:</span>
|
||||
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a> <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"0.0"</span><span class="p">:</span>
|
||||
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">content</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">())</span> <span class="o">+</span> <span class="mi">1</span>
|
||||
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">content</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="n">start_read</span><span class="p">)</span>
|
||||
</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">content</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">())</span> <span class="o">+</span> <span class="mi">5</span> <span class="o">+</span> <span class="n">b2b</span>
|
||||
</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a> <span class="n">end_match</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\n\s*\n'</span><span class="p">,</span> <span class="n">content</span><span class="p">[</span><span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">():])</span>
|
||||
</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">content</span><span class="p">[</span><span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">():]</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">end_match</span><span class="o">.</span><span class="n">start</span><span class="p">())</span> <span class="o">-</span> <span class="mi">4</span> <span class="o">-</span> <span class="n">b2b</span>
|
||||
</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">T</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Correlator with pattern</span><span class="se">\n</span><span class="s2">"</span> <span class="o">+</span> <span class="n">pattern</span> <span class="o">+</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">is empty!"</span><span class="p">)</span>
|
||||
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">T</span><span class="p">,</span> <span class="s1">'entries, starting to read in line'</span><span class="p">,</span> <span class="n">start_read</span><span class="p">)</span>
|
||||
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a>
|
||||
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Correlator with pattern</span><span class="se">\n</span><span class="s1">'</span> <span class="o">+</span> <span class="n">pattern</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">not found.'</span><span class="p">)</span>
|
||||
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a>
|
||||
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a> <span class="k">return</span> <span class="n">start_read</span><span class="p">,</span> <span class="n">T</span>
|
||||
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a><span class="k">def</span> <span class="nf">_find_correlator</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a> <span class="n">T</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a>
|
||||
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">)</span> <span class="k">as</span> <span class="n">my_file</span><span class="p">:</span>
|
||||
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a>
|
||||
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a> <span class="n">content</span> <span class="o">=</span> <span class="n">my_file</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
|
||||
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a> <span class="n">match</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">content</span><span class="p">)</span>
|
||||
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a> <span class="k">if</span> <span class="n">match</span><span class="p">:</span>
|
||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a> <span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="s2">"0.0"</span><span class="p">:</span>
|
||||
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">content</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">())</span> <span class="o">+</span> <span class="mi">1</span>
|
||||
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">content</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="n">start_read</span><span class="p">)</span>
|
||||
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">content</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">())</span> <span class="o">+</span> <span class="mi">5</span> <span class="o">+</span> <span class="n">b2b</span>
|
||||
</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a> <span class="n">end_match</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\n\s*\n'</span><span class="p">,</span> <span class="n">content</span><span class="p">[</span><span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">():])</span>
|
||||
</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">content</span><span class="p">[</span><span class="n">match</span><span class="o">.</span><span class="n">start</span><span class="p">():]</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">end_match</span><span class="o">.</span><span class="n">start</span><span class="p">())</span> <span class="o">-</span> <span class="mi">4</span> <span class="o">-</span> <span class="n">b2b</span>
|
||||
</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">T</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Correlator with pattern</span><span class="se">\n</span><span class="s2">"</span> <span class="o">+</span> <span class="n">pattern</span> <span class="o">+</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">is empty!"</span><span class="p">)</span>
|
||||
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">T</span><span class="p">,</span> <span class="s1">'entries, starting to read in line'</span><span class="p">,</span> <span class="n">start_read</span><span class="p">)</span>
|
||||
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a>
|
||||
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Correlator with pattern</span><span class="se">\n</span><span class="s1">'</span> <span class="o">+</span> <span class="n">pattern</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">not found.'</span><span class="p">)</span>
|
||||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a>
|
||||
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a> <span class="k">return</span> <span class="n">start_read</span><span class="p">,</span> <span class="n">T</span>
|
||||
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a>
|
||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a>
|
||||
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a>
|
||||
</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a><span class="k">def</span> <span class="nf">_read_compact_file</span><span class="p">(</span><span class="n">rep_path</span><span class="p">,</span> <span class="n">cfg_file</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">im</span><span class="p">):</span>
|
||||
</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a> <span class="n">return_vals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">rep_path</span> <span class="o">+</span> <span class="n">cfg_file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||
</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a> <span class="n">lines</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
|
||||
</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="L-517"><a href="#L-517"><span class="linenos">517</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="L-519"><a href="#L-519"><span class="linenos">519</span></a>
|
||||
</span><span id="L-520"><a href="#L-520"><span class="linenos">520</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]</span>
|
||||
</span><span id="L-521"><a href="#L-521"><span class="linenos">521</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"spec"</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s2">"start"</span><span class="p">]</span>
|
||||
</span><span id="L-522"><a href="#L-522"><span class="linenos">522</span></a> <span class="c1"># check, if the correlator is in fact</span>
|
||||
</span><span id="L-523"><a href="#L-523"><span class="linenos">523</span></a> <span class="c1"># printed completely</span>
|
||||
</span><span id="L-524"><a href="#L-524"><span class="linenos">524</span></a> <span class="k">if</span> <span class="p">(</span><span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">></span> <span class="nb">len</span><span class="p">(</span><span class="n">lines</span><span class="p">)):</span>
|
||||
</span><span id="L-525"><a href="#L-525"><span class="linenos">525</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"EOF before end of correlator data! Maybe "</span> <span class="o">+</span> <span class="n">rep_path</span> <span class="o">+</span> <span class="n">cfg_file</span> <span class="o">+</span> <span class="s2">" is corrupted?"</span><span class="p">)</span>
|
||||
</span><span id="L-526"><a href="#L-526"><span class="linenos">526</span></a> <span class="n">corr_lines</span> <span class="o">=</span> <span class="n">lines</span><span class="p">[</span><span class="n">start_read</span> <span class="o">-</span> <span class="mi">6</span><span class="p">:</span> <span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span><span class="p">]</span>
|
||||
</span><span id="L-527"><a href="#L-527"><span class="linenos">527</span></a> <span class="n">t_vals</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-528"><a href="#L-528"><span class="linenos">528</span></a>
|
||||
</span><span id="L-529"><a href="#L-529"><span class="linenos">529</span></a> <span class="k">if</span> <span class="n">corr_lines</span><span class="p">[</span><span class="mi">1</span> <span class="o">-</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"b2b"</span><span class="p">]]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">'name '</span> <span class="o">+</span> <span class="n">name</span><span class="p">:</span>
|
||||
</span><span id="L-530"><a href="#L-530"><span class="linenos">530</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Wrong format in file'</span><span class="p">,</span> <span class="n">cfg_file</span><span class="p">)</span>
|
||||
</span><span id="L-531"><a href="#L-531"><span class="linenos">531</span></a>
|
||||
</span><span id="L-532"><a href="#L-532"><span class="linenos">532</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="n">T</span> <span class="o">+</span> <span class="mi">6</span><span class="p">):</span>
|
||||
</span><span id="L-533"><a href="#L-533"><span class="linenos">533</span></a> <span class="n">floats</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="n">corr_lines</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span>
|
||||
</span><span id="L-534"><a href="#L-534"><span class="linenos">534</span></a> <span class="n">t_vals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">:][</span><span class="n">im</span><span class="p">])</span>
|
||||
</span><span id="L-535"><a href="#L-535"><span class="linenos">535</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">t_vals</span>
|
||||
</span><span id="L-536"><a href="#L-536"><span class="linenos">536</span></a> <span class="k">return</span> <span class="n">return_vals</span>
|
||||
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a><span class="k">def</span> <span class="nf">_read_compact_file</span><span class="p">(</span><span class="n">rep_path</span><span class="p">,</span> <span class="n">cfg_file</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">im</span><span class="p">):</span>
|
||||
</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a> <span class="n">return_vals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">rep_path</span> <span class="o">+</span> <span class="n">cfg_file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||
</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a> <span class="n">lines</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
|
||||
</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="L-517"><a href="#L-517"><span class="linenos">517</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">keys</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a>
|
||||
</span><span id="L-519"><a href="#L-519"><span class="linenos">519</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]</span>
|
||||
</span><span id="L-520"><a href="#L-520"><span class="linenos">520</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"spec"</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s2">"start"</span><span class="p">]</span>
|
||||
</span><span id="L-521"><a href="#L-521"><span class="linenos">521</span></a> <span class="c1"># check, if the correlator is in fact</span>
|
||||
</span><span id="L-522"><a href="#L-522"><span class="linenos">522</span></a> <span class="c1"># printed completely</span>
|
||||
</span><span id="L-523"><a href="#L-523"><span class="linenos">523</span></a> <span class="k">if</span> <span class="p">(</span><span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">></span> <span class="nb">len</span><span class="p">(</span><span class="n">lines</span><span class="p">)):</span>
|
||||
</span><span id="L-524"><a href="#L-524"><span class="linenos">524</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"EOF before end of correlator data! Maybe "</span> <span class="o">+</span> <span class="n">rep_path</span> <span class="o">+</span> <span class="n">cfg_file</span> <span class="o">+</span> <span class="s2">" is corrupted?"</span><span class="p">)</span>
|
||||
</span><span id="L-525"><a href="#L-525"><span class="linenos">525</span></a> <span class="n">corr_lines</span> <span class="o">=</span> <span class="n">lines</span><span class="p">[</span><span class="n">start_read</span> <span class="o">-</span> <span class="mi">6</span><span class="p">:</span> <span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span><span class="p">]</span>
|
||||
</span><span id="L-526"><a href="#L-526"><span class="linenos">526</span></a> <span class="n">t_vals</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-527"><a href="#L-527"><span class="linenos">527</span></a>
|
||||
</span><span id="L-528"><a href="#L-528"><span class="linenos">528</span></a> <span class="k">if</span> <span class="n">corr_lines</span><span class="p">[</span><span class="mi">1</span> <span class="o">-</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"b2b"</span><span class="p">]]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">'name '</span> <span class="o">+</span> <span class="n">name</span><span class="p">:</span>
|
||||
</span><span id="L-529"><a href="#L-529"><span class="linenos">529</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Wrong format in file'</span><span class="p">,</span> <span class="n">cfg_file</span><span class="p">)</span>
|
||||
</span><span id="L-530"><a href="#L-530"><span class="linenos">530</span></a>
|
||||
</span><span id="L-531"><a href="#L-531"><span class="linenos">531</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="n">T</span> <span class="o">+</span> <span class="mi">6</span><span class="p">):</span>
|
||||
</span><span id="L-532"><a href="#L-532"><span class="linenos">532</span></a> <span class="n">floats</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="n">corr_lines</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span>
|
||||
</span><span id="L-533"><a href="#L-533"><span class="linenos">533</span></a> <span class="n">t_vals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">:][</span><span class="n">im</span><span class="p">])</span>
|
||||
</span><span id="L-534"><a href="#L-534"><span class="linenos">534</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">t_vals</span>
|
||||
</span><span id="L-535"><a href="#L-535"><span class="linenos">535</span></a> <span class="k">return</span> <span class="n">return_vals</span>
|
||||
</span><span id="L-536"><a href="#L-536"><span class="linenos">536</span></a>
|
||||
</span><span id="L-537"><a href="#L-537"><span class="linenos">537</span></a>
|
||||
</span><span id="L-538"><a href="#L-538"><span class="linenos">538</span></a>
|
||||
</span><span id="L-539"><a href="#L-539"><span class="linenos">539</span></a><span class="k">def</span> <span class="nf">_read_compact_rep</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">rep</span><span class="p">,</span> <span class="n">sub_ls</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">im</span><span class="p">):</span>
|
||||
</span><span id="L-540"><a href="#L-540"><span class="linenos">540</span></a> <span class="n">rep_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">rep</span> <span class="o">+</span> <span class="s1">'/'</span>
|
||||
</span><span id="L-541"><a href="#L-541"><span class="linenos">541</span></a> <span class="n">no_cfg</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sub_ls</span><span class="p">)</span>
|
||||
</span><span id="L-542"><a href="#L-542"><span class="linenos">542</span></a>
|
||||
</span><span id="L-543"><a href="#L-543"><span class="linenos">543</span></a> <span class="n">return_vals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-544"><a href="#L-544"><span class="linenos">544</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-545"><a href="#L-545"><span class="linenos">545</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-546"><a href="#L-546"><span class="linenos">546</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-547"><a href="#L-547"><span class="linenos">547</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-548"><a href="#L-548"><span class="linenos">548</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">))</span>
|
||||
</span><span id="L-549"><a href="#L-549"><span class="linenos">549</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="L-550"><a href="#L-550"><span class="linenos">550</span></a>
|
||||
</span><span id="L-551"><a href="#L-551"><span class="linenos">551</span></a> <span class="k">for</span> <span class="n">cfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">):</span>
|
||||
</span><span id="L-552"><a href="#L-552"><span class="linenos">552</span></a> <span class="n">cfg_file</span> <span class="o">=</span> <span class="n">sub_ls</span><span class="p">[</span><span class="n">cfg</span><span class="p">]</span>
|
||||
</span><span id="L-553"><a href="#L-553"><span class="linenos">553</span></a> <span class="n">cfg_data</span> <span class="o">=</span> <span class="n">_read_compact_file</span><span class="p">(</span><span class="n">rep_path</span><span class="p">,</span> <span class="n">cfg_file</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">im</span><span class="p">)</span>
|
||||
</span><span id="L-554"><a href="#L-554"><span class="linenos">554</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-555"><a href="#L-555"><span class="linenos">555</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-556"><a href="#L-556"><span class="linenos">556</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-557"><a href="#L-557"><span class="linenos">557</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">][</span><span class="n">cfg</span><span class="p">]</span> <span class="o">=</span> <span class="n">cfg_data</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">]</span>
|
||||
</span><span id="L-558"><a href="#L-558"><span class="linenos">558</span></a> <span class="k">return</span> <span class="n">return_vals</span>
|
||||
</span><span id="L-538"><a href="#L-538"><span class="linenos">538</span></a><span class="k">def</span> <span class="nf">_read_compact_rep</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">rep</span><span class="p">,</span> <span class="n">sub_ls</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">im</span><span class="p">):</span>
|
||||
</span><span id="L-539"><a href="#L-539"><span class="linenos">539</span></a> <span class="n">rep_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">rep</span> <span class="o">+</span> <span class="s1">'/'</span>
|
||||
</span><span id="L-540"><a href="#L-540"><span class="linenos">540</span></a> <span class="n">no_cfg</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">sub_ls</span><span class="p">)</span>
|
||||
</span><span id="L-541"><a href="#L-541"><span class="linenos">541</span></a>
|
||||
</span><span id="L-542"><a href="#L-542"><span class="linenos">542</span></a> <span class="n">return_vals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-543"><a href="#L-543"><span class="linenos">543</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-544"><a href="#L-544"><span class="linenos">544</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-545"><a href="#L-545"><span class="linenos">545</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-546"><a href="#L-546"><span class="linenos">546</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-547"><a href="#L-547"><span class="linenos">547</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">))</span>
|
||||
</span><span id="L-548"><a href="#L-548"><span class="linenos">548</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="L-549"><a href="#L-549"><span class="linenos">549</span></a>
|
||||
</span><span id="L-550"><a href="#L-550"><span class="linenos">550</span></a> <span class="k">for</span> <span class="n">cfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">):</span>
|
||||
</span><span id="L-551"><a href="#L-551"><span class="linenos">551</span></a> <span class="n">cfg_file</span> <span class="o">=</span> <span class="n">sub_ls</span><span class="p">[</span><span class="n">cfg</span><span class="p">]</span>
|
||||
</span><span id="L-552"><a href="#L-552"><span class="linenos">552</span></a> <span class="n">cfg_data</span> <span class="o">=</span> <span class="n">_read_compact_file</span><span class="p">(</span><span class="n">rep_path</span><span class="p">,</span> <span class="n">cfg_file</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">im</span><span class="p">)</span>
|
||||
</span><span id="L-553"><a href="#L-553"><span class="linenos">553</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="L-554"><a href="#L-554"><span class="linenos">554</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-555"><a href="#L-555"><span class="linenos">555</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="L-556"><a href="#L-556"><span class="linenos">556</span></a> <span class="n">return_vals</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">][</span><span class="n">cfg</span><span class="p">]</span> <span class="o">=</span> <span class="n">cfg_data</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">]</span>
|
||||
</span><span id="L-557"><a href="#L-557"><span class="linenos">557</span></a> <span class="k">return</span> <span class="n">return_vals</span>
|
||||
</span><span id="L-558"><a href="#L-558"><span class="linenos">558</span></a>
|
||||
</span><span id="L-559"><a href="#L-559"><span class="linenos">559</span></a>
|
||||
</span><span id="L-560"><a href="#L-560"><span class="linenos">560</span></a>
|
||||
</span><span id="L-561"><a href="#L-561"><span class="linenos">561</span></a><span class="k">def</span> <span class="nf">_read_chunk</span><span class="p">(</span><span class="n">chunk</span><span class="p">,</span> <span class="n">gauge_line</span><span class="p">,</span> <span class="n">cfg_sep</span><span class="p">,</span> <span class="n">start_read</span><span class="p">,</span> <span class="n">T</span><span class="p">,</span> <span class="n">corr_line</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">single</span><span class="p">):</span>
|
||||
</span><span id="L-562"><a href="#L-562"><span class="linenos">562</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-563"><a href="#L-563"><span class="linenos">563</span></a> <span class="n">idl</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">chunk</span><span class="p">[</span><span class="n">gauge_line</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">cfg_sep</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||
</span><span id="L-564"><a href="#L-564"><span class="linenos">564</span></a> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
</span><span id="L-565"><a href="#L-565"><span class="linenos">565</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Couldn't parse idl from directory, problem with chunk around line "</span><span class="p">,</span> <span class="n">gauge_line</span><span class="p">)</span>
|
||||
</span><span id="L-566"><a href="#L-566"><span class="linenos">566</span></a>
|
||||
</span><span id="L-567"><a href="#L-567"><span class="linenos">567</span></a> <span class="n">found_pat</span> <span class="o">=</span> <span class="s2">""</span>
|
||||
</span><span id="L-568"><a href="#L-568"><span class="linenos">568</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-569"><a href="#L-569"><span class="linenos">569</span></a> <span class="k">for</span> <span class="n">li</span> <span class="ow">in</span> <span class="n">chunk</span><span class="p">[</span><span class="n">corr_line</span> <span class="o">+</span> <span class="mi">1</span><span class="p">:</span><span class="n">corr_line</span> <span class="o">+</span> <span class="mi">6</span> <span class="o">+</span> <span class="n">b2b</span><span class="p">]:</span>
|
||||
</span><span id="L-570"><a href="#L-570"><span class="linenos">570</span></a> <span class="n">found_pat</span> <span class="o">+=</span> <span class="n">li</span>
|
||||
</span><span id="L-571"><a href="#L-571"><span class="linenos">571</span></a> <span class="k">if</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">found_pat</span><span class="p">):</span>
|
||||
</span><span id="L-572"><a href="#L-572"><span class="linenos">572</span></a> <span class="k">for</span> <span class="n">t</span><span class="p">,</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">chunk</span><span class="p">[</span><span class="n">start_read</span><span class="p">:</span><span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span><span class="p">]):</span>
|
||||
</span><span id="L-573"><a href="#L-573"><span class="linenos">573</span></a> <span class="n">floats</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span>
|
||||
</span><span id="L-574"><a href="#L-574"><span class="linenos">574</span></a> <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="n">im</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">-</span> <span class="n">single</span><span class="p">])</span>
|
||||
</span><span id="L-575"><a href="#L-575"><span class="linenos">575</span></a> <span class="k">return</span> <span class="n">idl</span><span class="p">,</span> <span class="n">data</span>
|
||||
</span><span id="L-560"><a href="#L-560"><span class="linenos">560</span></a><span class="k">def</span> <span class="nf">_read_chunk</span><span class="p">(</span><span class="n">chunk</span><span class="p">,</span> <span class="n">gauge_line</span><span class="p">,</span> <span class="n">cfg_sep</span><span class="p">,</span> <span class="n">start_read</span><span class="p">,</span> <span class="n">T</span><span class="p">,</span> <span class="n">corr_line</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">single</span><span class="p">):</span>
|
||||
</span><span id="L-561"><a href="#L-561"><span class="linenos">561</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-562"><a href="#L-562"><span class="linenos">562</span></a> <span class="n">idl</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">chunk</span><span class="p">[</span><span class="n">gauge_line</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">cfg_sep</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||
</span><span id="L-563"><a href="#L-563"><span class="linenos">563</span></a> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
</span><span id="L-564"><a href="#L-564"><span class="linenos">564</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Couldn't parse idl from directory, problem with chunk around line "</span><span class="p">,</span> <span class="n">gauge_line</span><span class="p">)</span>
|
||||
</span><span id="L-565"><a href="#L-565"><span class="linenos">565</span></a>
|
||||
</span><span id="L-566"><a href="#L-566"><span class="linenos">566</span></a> <span class="n">found_pat</span> <span class="o">=</span> <span class="s2">""</span>
|
||||
</span><span id="L-567"><a href="#L-567"><span class="linenos">567</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-568"><a href="#L-568"><span class="linenos">568</span></a> <span class="k">for</span> <span class="n">li</span> <span class="ow">in</span> <span class="n">chunk</span><span class="p">[</span><span class="n">corr_line</span> <span class="o">+</span> <span class="mi">1</span><span class="p">:</span><span class="n">corr_line</span> <span class="o">+</span> <span class="mi">6</span> <span class="o">+</span> <span class="n">b2b</span><span class="p">]:</span>
|
||||
</span><span id="L-569"><a href="#L-569"><span class="linenos">569</span></a> <span class="n">found_pat</span> <span class="o">+=</span> <span class="n">li</span>
|
||||
</span><span id="L-570"><a href="#L-570"><span class="linenos">570</span></a> <span class="k">if</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">found_pat</span><span class="p">):</span>
|
||||
</span><span id="L-571"><a href="#L-571"><span class="linenos">571</span></a> <span class="k">for</span> <span class="n">t</span><span class="p">,</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">chunk</span><span class="p">[</span><span class="n">start_read</span><span class="p">:</span><span class="n">start_read</span> <span class="o">+</span> <span class="n">T</span><span class="p">]):</span>
|
||||
</span><span id="L-572"><a href="#L-572"><span class="linenos">572</span></a> <span class="n">floats</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span>
|
||||
</span><span id="L-573"><a href="#L-573"><span class="linenos">573</span></a> <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">floats</span><span class="p">[</span><span class="n">im</span> <span class="o">+</span> <span class="mi">1</span> <span class="o">-</span> <span class="n">single</span><span class="p">])</span>
|
||||
</span><span id="L-574"><a href="#L-574"><span class="linenos">574</span></a> <span class="k">return</span> <span class="n">idl</span><span class="p">,</span> <span class="n">data</span>
|
||||
</span><span id="L-575"><a href="#L-575"><span class="linenos">575</span></a>
|
||||
</span><span id="L-576"><a href="#L-576"><span class="linenos">576</span></a>
|
||||
</span><span id="L-577"><a href="#L-577"><span class="linenos">577</span></a>
|
||||
</span><span id="L-578"><a href="#L-578"><span class="linenos">578</span></a><span class="k">def</span> <span class="nf">_read_append_rep</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">single</span><span class="p">):</span>
|
||||
</span><span id="L-579"><a href="#L-579"><span class="linenos">579</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||
</span><span id="L-580"><a href="#L-580"><span class="linenos">580</span></a> <span class="n">content</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
|
||||
</span><span id="L-581"><a href="#L-581"><span class="linenos">581</span></a> <span class="n">data_starts</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-582"><a href="#L-582"><span class="linenos">582</span></a> <span class="k">for</span> <span class="n">linenumber</span><span class="p">,</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">content</span><span class="p">):</span>
|
||||
</span><span id="L-583"><a href="#L-583"><span class="linenos">583</span></a> <span class="k">if</span> <span class="s2">"[run]"</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span>
|
||||
</span><span id="L-584"><a href="#L-584"><span class="linenos">584</span></a> <span class="n">data_starts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">linenumber</span><span class="p">)</span>
|
||||
</span><span id="L-585"><a href="#L-585"><span class="linenos">585</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">([</span><span class="n">data_starts</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">data_starts</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">data_starts</span><span class="p">))]))</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="L-586"><a href="#L-586"><span class="linenos">586</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Irregularities in file structure found, not all runs have the same output length"</span><span class="p">)</span>
|
||||
</span><span id="L-587"><a href="#L-587"><span class="linenos">587</span></a> <span class="n">chunk</span> <span class="o">=</span> <span class="n">content</span><span class="p">[:</span><span class="n">data_starts</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span>
|
||||
</span><span id="L-588"><a href="#L-588"><span class="linenos">588</span></a> <span class="k">for</span> <span class="n">linenumber</span><span class="p">,</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">chunk</span><span class="p">):</span>
|
||||
</span><span id="L-589"><a href="#L-589"><span class="linenos">589</span></a> <span class="k">if</span> <span class="n">line</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"gauge_name"</span><span class="p">):</span>
|
||||
</span><span id="L-590"><a href="#L-590"><span class="linenos">590</span></a> <span class="n">gauge_line</span> <span class="o">=</span> <span class="n">linenumber</span>
|
||||
</span><span id="L-591"><a href="#L-591"><span class="linenos">591</span></a> <span class="k">elif</span> <span class="n">line</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"[correlator]"</span><span class="p">):</span>
|
||||
</span><span id="L-592"><a href="#L-592"><span class="linenos">592</span></a> <span class="n">corr_line</span> <span class="o">=</span> <span class="n">linenumber</span>
|
||||
</span><span id="L-593"><a href="#L-593"><span class="linenos">593</span></a> <span class="n">found_pat</span> <span class="o">=</span> <span class="s2">""</span>
|
||||
</span><span id="L-594"><a href="#L-594"><span class="linenos">594</span></a> <span class="k">for</span> <span class="n">li</span> <span class="ow">in</span> <span class="n">chunk</span><span class="p">[</span><span class="n">corr_line</span> <span class="o">+</span> <span class="mi">1</span><span class="p">:</span> <span class="n">corr_line</span> <span class="o">+</span> <span class="mi">6</span> <span class="o">+</span> <span class="n">b2b</span><span class="p">]:</span>
|
||||
</span><span id="L-595"><a href="#L-595"><span class="linenos">595</span></a> <span class="n">found_pat</span> <span class="o">+=</span> <span class="n">li</span>
|
||||
</span><span id="L-596"><a href="#L-596"><span class="linenos">596</span></a> <span class="k">if</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">found_pat</span><span class="p">):</span>
|
||||
</span><span id="L-597"><a href="#L-597"><span class="linenos">597</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">corr_line</span> <span class="o">+</span> <span class="mi">7</span> <span class="o">+</span> <span class="n">b2b</span>
|
||||
</span><span id="L-598"><a href="#L-598"><span class="linenos">598</span></a> <span class="k">break</span>
|
||||
</span><span id="L-599"><a href="#L-599"><span class="linenos">599</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-600"><a href="#L-600"><span class="linenos">600</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Did not find pattern</span><span class="se">\n</span><span class="s2">"</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">in</span><span class="se">\n</span><span class="s2">"</span><span class="p">,</span> <span class="n">filename</span><span class="p">)</span>
|
||||
</span><span id="L-601"><a href="#L-601"><span class="linenos">601</span></a> <span class="n">endline</span> <span class="o">=</span> <span class="n">corr_line</span> <span class="o">+</span> <span class="mi">6</span> <span class="o">+</span> <span class="n">b2b</span>
|
||||
</span><span id="L-602"><a href="#L-602"><span class="linenos">602</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="n">chunk</span><span class="p">[</span><span class="n">endline</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">:</span>
|
||||
</span><span id="L-603"><a href="#L-603"><span class="linenos">603</span></a> <span class="n">endline</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="L-604"><a href="#L-604"><span class="linenos">604</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">endline</span> <span class="o">-</span> <span class="n">start_read</span>
|
||||
</span><span id="L-605"><a href="#L-605"><span class="linenos">605</span></a>
|
||||
</span><span id="L-606"><a href="#L-606"><span class="linenos">606</span></a> <span class="c1"># all other chunks should follow the same structure</span>
|
||||
</span><span id="L-607"><a href="#L-607"><span class="linenos">607</span></a> <span class="n">rep_idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-608"><a href="#L-608"><span class="linenos">608</span></a> <span class="n">rep_data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-609"><a href="#L-609"><span class="linenos">609</span></a>
|
||||
</span><span id="L-610"><a href="#L-610"><span class="linenos">610</span></a> <span class="k">for</span> <span class="n">cnfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">data_starts</span><span class="p">)):</span>
|
||||
</span><span id="L-611"><a href="#L-611"><span class="linenos">611</span></a> <span class="n">start</span> <span class="o">=</span> <span class="n">data_starts</span><span class="p">[</span><span class="n">cnfg</span><span class="p">]</span>
|
||||
</span><span id="L-612"><a href="#L-612"><span class="linenos">612</span></a> <span class="n">stop</span> <span class="o">=</span> <span class="n">start</span> <span class="o">+</span> <span class="n">data_starts</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-613"><a href="#L-613"><span class="linenos">613</span></a> <span class="n">chunk</span> <span class="o">=</span> <span class="n">content</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">stop</span><span class="p">]</span>
|
||||
</span><span id="L-614"><a href="#L-614"><span class="linenos">614</span></a> <span class="n">idl</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="n">_read_chunk</span><span class="p">(</span><span class="n">chunk</span><span class="p">,</span> <span class="n">gauge_line</span><span class="p">,</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">start_read</span><span class="p">,</span> <span class="n">T</span><span class="p">,</span> <span class="n">corr_line</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">single</span><span class="p">)</span>
|
||||
</span><span id="L-615"><a href="#L-615"><span class="linenos">615</span></a> <span class="n">rep_idl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">idl</span><span class="p">)</span>
|
||||
</span><span id="L-616"><a href="#L-616"><span class="linenos">616</span></a> <span class="n">rep_data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
</span><span id="L-617"><a href="#L-617"><span class="linenos">617</span></a>
|
||||
</span><span id="L-618"><a href="#L-618"><span class="linenos">618</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-619"><a href="#L-619"><span class="linenos">619</span></a>
|
||||
</span><span id="L-620"><a href="#L-620"><span class="linenos">620</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">T</span><span class="p">):</span>
|
||||
</span><span id="L-621"><a href="#L-621"><span class="linenos">621</span></a> <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="L-622"><a href="#L-622"><span class="linenos">622</span></a> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">rep_data</span><span class="p">)):</span>
|
||||
</span><span id="L-623"><a href="#L-623"><span class="linenos">623</span></a> <span class="n">data</span><span class="p">[</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">c</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="L-624"><a href="#L-624"><span class="linenos">624</span></a> <span class="k">return</span> <span class="n">T</span><span class="p">,</span> <span class="n">rep_idl</span><span class="p">,</span> <span class="n">data</span>
|
||||
</span><span id="L-577"><a href="#L-577"><span class="linenos">577</span></a><span class="k">def</span> <span class="nf">_read_append_rep</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">single</span><span class="p">):</span>
|
||||
</span><span id="L-578"><a href="#L-578"><span class="linenos">578</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||
</span><span id="L-579"><a href="#L-579"><span class="linenos">579</span></a> <span class="n">content</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
|
||||
</span><span id="L-580"><a href="#L-580"><span class="linenos">580</span></a> <span class="n">data_starts</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-581"><a href="#L-581"><span class="linenos">581</span></a> <span class="k">for</span> <span class="n">linenumber</span><span class="p">,</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">content</span><span class="p">):</span>
|
||||
</span><span id="L-582"><a href="#L-582"><span class="linenos">582</span></a> <span class="k">if</span> <span class="s2">"[run]"</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span>
|
||||
</span><span id="L-583"><a href="#L-583"><span class="linenos">583</span></a> <span class="n">data_starts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">linenumber</span><span class="p">)</span>
|
||||
</span><span id="L-584"><a href="#L-584"><span class="linenos">584</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">([</span><span class="n">data_starts</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">data_starts</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">data_starts</span><span class="p">))]))</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="L-585"><a href="#L-585"><span class="linenos">585</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Irregularities in file structure found, not all runs have the same output length"</span><span class="p">)</span>
|
||||
</span><span id="L-586"><a href="#L-586"><span class="linenos">586</span></a> <span class="n">chunk</span> <span class="o">=</span> <span class="n">content</span><span class="p">[:</span><span class="n">data_starts</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span>
|
||||
</span><span id="L-587"><a href="#L-587"><span class="linenos">587</span></a> <span class="k">for</span> <span class="n">linenumber</span><span class="p">,</span> <span class="n">line</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">chunk</span><span class="p">):</span>
|
||||
</span><span id="L-588"><a href="#L-588"><span class="linenos">588</span></a> <span class="k">if</span> <span class="n">line</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"gauge_name"</span><span class="p">):</span>
|
||||
</span><span id="L-589"><a href="#L-589"><span class="linenos">589</span></a> <span class="n">gauge_line</span> <span class="o">=</span> <span class="n">linenumber</span>
|
||||
</span><span id="L-590"><a href="#L-590"><span class="linenos">590</span></a> <span class="k">elif</span> <span class="n">line</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"[correlator]"</span><span class="p">):</span>
|
||||
</span><span id="L-591"><a href="#L-591"><span class="linenos">591</span></a> <span class="n">corr_line</span> <span class="o">=</span> <span class="n">linenumber</span>
|
||||
</span><span id="L-592"><a href="#L-592"><span class="linenos">592</span></a> <span class="n">found_pat</span> <span class="o">=</span> <span class="s2">""</span>
|
||||
</span><span id="L-593"><a href="#L-593"><span class="linenos">593</span></a> <span class="k">for</span> <span class="n">li</span> <span class="ow">in</span> <span class="n">chunk</span><span class="p">[</span><span class="n">corr_line</span> <span class="o">+</span> <span class="mi">1</span><span class="p">:</span> <span class="n">corr_line</span> <span class="o">+</span> <span class="mi">6</span> <span class="o">+</span> <span class="n">b2b</span><span class="p">]:</span>
|
||||
</span><span id="L-594"><a href="#L-594"><span class="linenos">594</span></a> <span class="n">found_pat</span> <span class="o">+=</span> <span class="n">li</span>
|
||||
</span><span id="L-595"><a href="#L-595"><span class="linenos">595</span></a> <span class="k">if</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">found_pat</span><span class="p">):</span>
|
||||
</span><span id="L-596"><a href="#L-596"><span class="linenos">596</span></a> <span class="n">start_read</span> <span class="o">=</span> <span class="n">corr_line</span> <span class="o">+</span> <span class="mi">7</span> <span class="o">+</span> <span class="n">b2b</span>
|
||||
</span><span id="L-597"><a href="#L-597"><span class="linenos">597</span></a> <span class="k">break</span>
|
||||
</span><span id="L-598"><a href="#L-598"><span class="linenos">598</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-599"><a href="#L-599"><span class="linenos">599</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Did not find pattern</span><span class="se">\n</span><span class="s2">"</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">in</span><span class="se">\n</span><span class="s2">"</span><span class="p">,</span> <span class="n">filename</span><span class="p">)</span>
|
||||
</span><span id="L-600"><a href="#L-600"><span class="linenos">600</span></a> <span class="n">endline</span> <span class="o">=</span> <span class="n">corr_line</span> <span class="o">+</span> <span class="mi">6</span> <span class="o">+</span> <span class="n">b2b</span>
|
||||
</span><span id="L-601"><a href="#L-601"><span class="linenos">601</span></a> <span class="k">while</span> <span class="ow">not</span> <span class="n">chunk</span><span class="p">[</span><span class="n">endline</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">:</span>
|
||||
</span><span id="L-602"><a href="#L-602"><span class="linenos">602</span></a> <span class="n">endline</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="L-603"><a href="#L-603"><span class="linenos">603</span></a> <span class="n">T</span> <span class="o">=</span> <span class="n">endline</span> <span class="o">-</span> <span class="n">start_read</span>
|
||||
</span><span id="L-604"><a href="#L-604"><span class="linenos">604</span></a>
|
||||
</span><span id="L-605"><a href="#L-605"><span class="linenos">605</span></a> <span class="c1"># all other chunks should follow the same structure</span>
|
||||
</span><span id="L-606"><a href="#L-606"><span class="linenos">606</span></a> <span class="n">rep_idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-607"><a href="#L-607"><span class="linenos">607</span></a> <span class="n">rep_data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-608"><a href="#L-608"><span class="linenos">608</span></a>
|
||||
</span><span id="L-609"><a href="#L-609"><span class="linenos">609</span></a> <span class="k">for</span> <span class="n">cnfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">data_starts</span><span class="p">)):</span>
|
||||
</span><span id="L-610"><a href="#L-610"><span class="linenos">610</span></a> <span class="n">start</span> <span class="o">=</span> <span class="n">data_starts</span><span class="p">[</span><span class="n">cnfg</span><span class="p">]</span>
|
||||
</span><span id="L-611"><a href="#L-611"><span class="linenos">611</span></a> <span class="n">stop</span> <span class="o">=</span> <span class="n">start</span> <span class="o">+</span> <span class="n">data_starts</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-612"><a href="#L-612"><span class="linenos">612</span></a> <span class="n">chunk</span> <span class="o">=</span> <span class="n">content</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">stop</span><span class="p">]</span>
|
||||
</span><span id="L-613"><a href="#L-613"><span class="linenos">613</span></a> <span class="n">idl</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="n">_read_chunk</span><span class="p">(</span><span class="n">chunk</span><span class="p">,</span> <span class="n">gauge_line</span><span class="p">,</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">start_read</span><span class="p">,</span> <span class="n">T</span><span class="p">,</span> <span class="n">corr_line</span><span class="p">,</span> <span class="n">b2b</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">single</span><span class="p">)</span>
|
||||
</span><span id="L-614"><a href="#L-614"><span class="linenos">614</span></a> <span class="n">rep_idl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">idl</span><span class="p">)</span>
|
||||
</span><span id="L-615"><a href="#L-615"><span class="linenos">615</span></a> <span class="n">rep_data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
</span><span id="L-616"><a href="#L-616"><span class="linenos">616</span></a>
|
||||
</span><span id="L-617"><a href="#L-617"><span class="linenos">617</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-618"><a href="#L-618"><span class="linenos">618</span></a>
|
||||
</span><span id="L-619"><a href="#L-619"><span class="linenos">619</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">T</span><span class="p">):</span>
|
||||
</span><span id="L-620"><a href="#L-620"><span class="linenos">620</span></a> <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="L-621"><a href="#L-621"><span class="linenos">621</span></a> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">rep_data</span><span class="p">)):</span>
|
||||
</span><span id="L-622"><a href="#L-622"><span class="linenos">622</span></a> <span class="n">data</span><span class="p">[</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">c</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="L-623"><a href="#L-623"><span class="linenos">623</span></a> <span class="k">return</span> <span class="n">T</span><span class="p">,</span> <span class="n">rep_idl</span><span class="p">,</span> <span class="n">data</span>
|
||||
</span><span id="L-624"><a href="#L-624"><span class="linenos">624</span></a>
|
||||
</span><span id="L-625"><a href="#L-625"><span class="linenos">625</span></a>
|
||||
</span><span id="L-626"><a href="#L-626"><span class="linenos">626</span></a>
|
||||
</span><span id="L-627"><a href="#L-627"><span class="linenos">627</span></a><span class="k">def</span> <span class="nf">_get_rep_names</span><span class="p">(</span><span class="n">ls</span><span class="p">,</span> <span class="n">ens_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-628"><a href="#L-628"><span class="linenos">628</span></a> <span class="n">new_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-629"><a href="#L-629"><span class="linenos">629</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||
</span><span id="L-630"><a href="#L-630"><span class="linenos">630</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-631"><a href="#L-631"><span class="linenos">631</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
||||
</span><span id="L-632"><a href="#L-632"><span class="linenos">632</span></a> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
</span><span id="L-633"><a href="#L-633"><span class="linenos">633</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Automatic recognition of replicum failed, please enter the key word 'names'."</span><span class="p">)</span>
|
||||
</span><span id="L-634"><a href="#L-634"><span class="linenos">634</span></a>
|
||||
</span><span id="L-635"><a href="#L-635"><span class="linenos">635</span></a> <span class="k">if</span> <span class="n">ens_name</span><span class="p">:</span>
|
||||
</span><span id="L-636"><a href="#L-636"><span class="linenos">636</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">'ens_name'</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-637"><a href="#L-637"><span class="linenos">637</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-638"><a href="#L-638"><span class="linenos">638</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">entry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-639"><a href="#L-639"><span class="linenos">639</span></a> <span class="k">return</span> <span class="n">new_names</span>
|
||||
</span><span id="L-626"><a href="#L-626"><span class="linenos">626</span></a><span class="k">def</span> <span class="nf">_get_rep_names</span><span class="p">(</span><span class="n">ls</span><span class="p">,</span> <span class="n">ens_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-627"><a href="#L-627"><span class="linenos">627</span></a> <span class="n">new_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-628"><a href="#L-628"><span class="linenos">628</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||
</span><span id="L-629"><a href="#L-629"><span class="linenos">629</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-630"><a href="#L-630"><span class="linenos">630</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
||||
</span><span id="L-631"><a href="#L-631"><span class="linenos">631</span></a> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
</span><span id="L-632"><a href="#L-632"><span class="linenos">632</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Automatic recognition of replicum failed, please enter the key word 'names'."</span><span class="p">)</span>
|
||||
</span><span id="L-633"><a href="#L-633"><span class="linenos">633</span></a>
|
||||
</span><span id="L-634"><a href="#L-634"><span class="linenos">634</span></a> <span class="k">if</span> <span class="n">ens_name</span><span class="p">:</span>
|
||||
</span><span id="L-635"><a href="#L-635"><span class="linenos">635</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">'ens_name'</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-636"><a href="#L-636"><span class="linenos">636</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-637"><a href="#L-637"><span class="linenos">637</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">entry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-638"><a href="#L-638"><span class="linenos">638</span></a> <span class="k">return</span> <span class="n">new_names</span>
|
||||
</span><span id="L-639"><a href="#L-639"><span class="linenos">639</span></a>
|
||||
</span><span id="L-640"><a href="#L-640"><span class="linenos">640</span></a>
|
||||
</span><span id="L-641"><a href="#L-641"><span class="linenos">641</span></a>
|
||||
</span><span id="L-642"><a href="#L-642"><span class="linenos">642</span></a><span class="k">def</span> <span class="nf">_get_appended_rep_names</span><span class="p">(</span><span class="n">ls</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">ens_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-643"><a href="#L-643"><span class="linenos">643</span></a> <span class="n">new_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-644"><a href="#L-644"><span class="linenos">644</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||
</span><span id="L-645"><a href="#L-645"><span class="linenos">645</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.'</span> <span class="o">+</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-646"><a href="#L-646"><span class="linenos">646</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-647"><a href="#L-647"><span class="linenos">647</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
||||
</span><span id="L-648"><a href="#L-648"><span class="linenos">648</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||
</span><span id="L-649"><a href="#L-649"><span class="linenos">649</span></a> <span class="n">myentry</span> <span class="o">=</span> <span class="n">entry</span><span class="p">[:</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-650"><a href="#L-650"><span class="linenos">650</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-651"><a href="#L-651"><span class="linenos">651</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">myentry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
||||
</span><span id="L-652"><a href="#L-652"><span class="linenos">652</span></a> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
</span><span id="L-653"><a href="#L-653"><span class="linenos">653</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Automatic recognition of replicum failed, please enter the key word 'names'."</span><span class="p">)</span>
|
||||
</span><span id="L-654"><a href="#L-654"><span class="linenos">654</span></a>
|
||||
</span><span id="L-655"><a href="#L-655"><span class="linenos">655</span></a> <span class="k">if</span> <span class="n">ens_name</span><span class="p">:</span>
|
||||
</span><span id="L-656"><a href="#L-656"><span class="linenos">656</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">'ens_name'</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-657"><a href="#L-657"><span class="linenos">657</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-658"><a href="#L-658"><span class="linenos">658</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">myentry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">myentry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-659"><a href="#L-659"><span class="linenos">659</span></a> <span class="k">return</span> <span class="n">new_names</span>
|
||||
</span><span id="L-641"><a href="#L-641"><span class="linenos">641</span></a><span class="k">def</span> <span class="nf">_get_appended_rep_names</span><span class="p">(</span><span class="n">ls</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">ens_name</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-642"><a href="#L-642"><span class="linenos">642</span></a> <span class="n">new_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-643"><a href="#L-643"><span class="linenos">643</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||
</span><span id="L-644"><a href="#L-644"><span class="linenos">644</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.'</span> <span class="o">+</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-645"><a href="#L-645"><span class="linenos">645</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="L-646"><a href="#L-646"><span class="linenos">646</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
||||
</span><span id="L-647"><a href="#L-647"><span class="linenos">647</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||
</span><span id="L-648"><a href="#L-648"><span class="linenos">648</span></a> <span class="n">myentry</span> <span class="o">=</span> <span class="n">entry</span><span class="p">[:</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-649"><a href="#L-649"><span class="linenos">649</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-650"><a href="#L-650"><span class="linenos">650</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">myentry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
||||
</span><span id="L-651"><a href="#L-651"><span class="linenos">651</span></a> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
</span><span id="L-652"><a href="#L-652"><span class="linenos">652</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Automatic recognition of replicum failed, please enter the key word 'names'."</span><span class="p">)</span>
|
||||
</span><span id="L-653"><a href="#L-653"><span class="linenos">653</span></a>
|
||||
</span><span id="L-654"><a href="#L-654"><span class="linenos">654</span></a> <span class="k">if</span> <span class="n">ens_name</span><span class="p">:</span>
|
||||
</span><span id="L-655"><a href="#L-655"><span class="linenos">655</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">'ens_name'</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-656"><a href="#L-656"><span class="linenos">656</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-657"><a href="#L-657"><span class="linenos">657</span></a> <span class="n">new_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">myentry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">myentry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||
</span><span id="L-658"><a href="#L-658"><span class="linenos">658</span></a> <span class="k">return</span> <span class="n">new_names</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1144,82 +1143,81 @@ bb-type correlators have length 1.</li>
|
|||
</span><span id="read_sfcf_multi-308"><a href="#read_sfcf_multi-308"><span class="linenos">308</span></a> <span class="n">cfg_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">item</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">subitem</span>
|
||||
</span><span id="read_sfcf_multi-309"><a href="#read_sfcf_multi-309"><span class="linenos">309</span></a> <span class="n">file_data</span> <span class="o">=</span> <span class="n">_read_o_file</span><span class="p">(</span><span class="n">cfg_path</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">needed_keys</span><span class="p">,</span> <span class="n">intern</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">im</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-310"><a href="#read_sfcf_multi-310"><span class="linenos">310</span></a> <span class="n">rep_data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">file_data</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-311"><a href="#read_sfcf_multi-311"><span class="linenos">311</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">rep_data</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-312"><a href="#read_sfcf_multi-312"><span class="linenos">312</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-313"><a href="#read_sfcf_multi-313"><span class="linenos">313</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="read_sfcf_multi-314"><a href="#read_sfcf_multi-314"><span class="linenos">314</span></a> <span class="k">for</span> <span class="n">cfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">):</span>
|
||||
</span><span id="read_sfcf_multi-315"><a href="#read_sfcf_multi-315"><span class="linenos">315</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">][</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">cfg</span><span class="p">][</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-316"><a href="#read_sfcf_multi-316"><span class="linenos">316</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-317"><a href="#read_sfcf_multi-317"><span class="linenos">317</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-318"><a href="#read_sfcf_multi-318"><span class="linenos">318</span></a> <span class="n">specs</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-319"><a href="#read_sfcf_multi-319"><span class="linenos">319</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-320"><a href="#read_sfcf_multi-320"><span class="linenos">320</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-321"><a href="#read_sfcf_multi-321"><span class="linenos">321</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-322"><a href="#read_sfcf_multi-322"><span class="linenos">322</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-323"><a href="#read_sfcf_multi-323"><span class="linenos">323</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-324"><a href="#read_sfcf_multi-324"><span class="linenos">324</span></a> <span class="k">if</span> <span class="s2">"files"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-325"><a href="#read_sfcf_multi-325"><span class="linenos">325</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)):</span>
|
||||
</span><span id="read_sfcf_multi-326"><a href="#read_sfcf_multi-326"><span class="linenos">326</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-327"><a href="#read_sfcf_multi-327"><span class="linenos">327</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-328"><a href="#read_sfcf_multi-328"><span class="linenos">328</span></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"In append mode, files has to be of type list[str]!"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-329"><a href="#read_sfcf_multi-329"><span class="linenos">329</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-330"><a href="#read_sfcf_multi-330"><span class="linenos">330</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">ls</span>
|
||||
</span><span id="read_sfcf_multi-331"><a href="#read_sfcf_multi-331"><span class="linenos">331</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">name_ls</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-332"><a href="#read_sfcf_multi-332"><span class="linenos">332</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.'</span> <span class="o">+</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="read_sfcf_multi-333"><a href="#read_sfcf_multi-333"><span class="linenos">333</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="read_sfcf_multi-334"><a href="#read_sfcf_multi-334"><span class="linenos">334</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">sort_names</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-335"><a href="#read_sfcf_multi-335"><span class="linenos">335</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'spec'</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s1">'pattern'</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-336"><a href="#read_sfcf_multi-336"><span class="linenos">336</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-337"><a href="#read_sfcf_multi-337"><span class="linenos">337</span></a> <span class="k">for</span> <span class="n">rep</span><span class="p">,</span> <span class="n">file</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">name_ls</span><span class="p">):</span>
|
||||
</span><span id="read_sfcf_multi-338"><a href="#read_sfcf_multi-338"><span class="linenos">338</span></a> <span class="n">rep_idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-339"><a href="#read_sfcf_multi-339"><span class="linenos">339</span></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span>
|
||||
</span><span id="read_sfcf_multi-340"><a href="#read_sfcf_multi-340"><span class="linenos">340</span></a> <span class="n">T</span><span class="p">,</span> <span class="n">rep_idl</span><span class="p">,</span> <span class="n">rep_data</span> <span class="o">=</span> <span class="n">_read_append_rep</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'b2b'</span><span class="p">],</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'single'</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-341"><a href="#read_sfcf_multi-341"><span class="linenos">341</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-342"><a href="#read_sfcf_multi-342"><span class="linenos">342</span></a> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span>
|
||||
</span><span id="read_sfcf_multi-343"><a href="#read_sfcf_multi-343"><span class="linenos">343</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-344"><a href="#read_sfcf_multi-344"><span class="linenos">344</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="read_sfcf_multi-345"><a href="#read_sfcf_multi-345"><span class="linenos">345</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-346"><a href="#read_sfcf_multi-346"><span class="linenos">346</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-347"><a href="#read_sfcf_multi-347"><span class="linenos">347</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="read_sfcf_multi-348"><a href="#read_sfcf_multi-348"><span class="linenos">348</span></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="n">name_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
|
||||
</span><span id="read_sfcf_multi-349"><a href="#read_sfcf_multi-349"><span class="linenos">349</span></a> <span class="n">idl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_idl</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-350"><a href="#read_sfcf_multi-350"><span class="linenos">350</span></a>
|
||||
</span><span id="read_sfcf_multi-351"><a href="#read_sfcf_multi-351"><span class="linenos">351</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-352"><a href="#read_sfcf_multi-352"><span class="linenos">352</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-353"><a href="#read_sfcf_multi-353"><span class="linenos">353</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Checking for missing configs..."</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-354"><a href="#read_sfcf_multi-354"><span class="linenos">354</span></a> <span class="n">che</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-355"><a href="#read_sfcf_multi-355"><span class="linenos">355</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">che</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="read_sfcf_multi-356"><a href="#read_sfcf_multi-356"><span class="linenos">356</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"check_configs has to be the same length as replica!"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-357"><a href="#read_sfcf_multi-357"><span class="linenos">357</span></a> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="read_sfcf_multi-358"><a href="#read_sfcf_multi-358"><span class="linenos">358</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-359"><a href="#read_sfcf_multi-359"><span class="linenos">359</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"checking "</span> <span class="o">+</span> <span class="n">new_names</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-360"><a href="#read_sfcf_multi-360"><span class="linenos">360</span></a> <span class="n">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">[</span><span class="n">r</span><span class="p">],</span> <span class="n">che</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-361"><a href="#read_sfcf_multi-361"><span class="linenos">361</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-362"><a href="#read_sfcf_multi-362"><span class="linenos">362</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Done"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-363"><a href="#read_sfcf_multi-363"><span class="linenos">363</span></a>
|
||||
</span><span id="read_sfcf_multi-364"><a href="#read_sfcf_multi-364"><span class="linenos">364</span></a> <span class="n">result_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-365"><a href="#read_sfcf_multi-365"><span class="linenos">365</span></a> <span class="k">if</span> <span class="n">keyed_out</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-366"><a href="#read_sfcf_multi-366"><span class="linenos">366</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-367"><a href="#read_sfcf_multi-367"><span class="linenos">367</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-368"><a href="#read_sfcf_multi-368"><span class="linenos">368</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-369"><a href="#read_sfcf_multi-369"><span class="linenos">369</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="read_sfcf_multi-370"><a href="#read_sfcf_multi-370"><span class="linenos">370</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="read_sfcf_multi-371"><a href="#read_sfcf_multi-371"><span class="linenos">371</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-372"><a href="#read_sfcf_multi-372"><span class="linenos">372</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">name_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-373"><a href="#read_sfcf_multi-373"><span class="linenos">373</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-374"><a href="#read_sfcf_multi-374"><span class="linenos">374</span></a> <span class="k">for</span> <span class="n">quarks</span> <span class="ow">in</span> <span class="n">quarks_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-375"><a href="#read_sfcf_multi-375"><span class="linenos">375</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-376"><a href="#read_sfcf_multi-376"><span class="linenos">376</span></a> <span class="k">for</span> <span class="n">off</span> <span class="ow">in</span> <span class="n">noffset_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-377"><a href="#read_sfcf_multi-377"><span class="linenos">377</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-378"><a href="#read_sfcf_multi-378"><span class="linenos">378</span></a> <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="n">wf_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-379"><a href="#read_sfcf_multi-379"><span class="linenos">379</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-380"><a href="#read_sfcf_multi-380"><span class="linenos">380</span></a> <span class="k">for</span> <span class="n">w2</span> <span class="ow">in</span> <span class="n">wf2_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-381"><a href="#read_sfcf_multi-381"><span class="linenos">381</span></a> <span class="n">key</span> <span class="o">=</span> <span class="n">_specs2key</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quarks</span><span class="p">,</span> <span class="n">off</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">w2</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-382"><a href="#read_sfcf_multi-382"><span class="linenos">382</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-383"><a href="#read_sfcf_multi-383"><span class="linenos">383</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-384"><a href="#read_sfcf_multi-384"><span class="linenos">384</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="read_sfcf_multi-385"><a href="#read_sfcf_multi-385"><span class="linenos">385</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="nb">str</span><span class="p">(</span><span class="n">off</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w2</span><span class="p">)]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="read_sfcf_multi-386"><a href="#read_sfcf_multi-386"><span class="linenos">386</span></a> <span class="k">return</span> <span class="n">result_dict</span>
|
||||
</span><span id="read_sfcf_multi-311"><a href="#read_sfcf_multi-311"><span class="linenos">311</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-312"><a href="#read_sfcf_multi-312"><span class="linenos">312</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="read_sfcf_multi-313"><a href="#read_sfcf_multi-313"><span class="linenos">313</span></a> <span class="k">for</span> <span class="n">cfg</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">no_cfg</span><span class="p">):</span>
|
||||
</span><span id="read_sfcf_multi-314"><a href="#read_sfcf_multi-314"><span class="linenos">314</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">][</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">cfg</span><span class="p">][</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-315"><a href="#read_sfcf_multi-315"><span class="linenos">315</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-316"><a href="#read_sfcf_multi-316"><span class="linenos">316</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-317"><a href="#read_sfcf_multi-317"><span class="linenos">317</span></a> <span class="n">specs</span> <span class="o">=</span> <span class="n">_key2specs</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-318"><a href="#read_sfcf_multi-318"><span class="linenos">318</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-319"><a href="#read_sfcf_multi-319"><span class="linenos">319</span></a> <span class="n">quarks</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-320"><a href="#read_sfcf_multi-320"><span class="linenos">320</span></a> <span class="n">off</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-321"><a href="#read_sfcf_multi-321"><span class="linenos">321</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-322"><a href="#read_sfcf_multi-322"><span class="linenos">322</span></a> <span class="n">w2</span> <span class="o">=</span> <span class="n">specs</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-323"><a href="#read_sfcf_multi-323"><span class="linenos">323</span></a> <span class="k">if</span> <span class="s2">"files"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-324"><a href="#read_sfcf_multi-324"><span class="linenos">324</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)):</span>
|
||||
</span><span id="read_sfcf_multi-325"><a href="#read_sfcf_multi-325"><span class="linenos">325</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"files"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-326"><a href="#read_sfcf_multi-326"><span class="linenos">326</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-327"><a href="#read_sfcf_multi-327"><span class="linenos">327</span></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"In append mode, files has to be of type list[str]!"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-328"><a href="#read_sfcf_multi-328"><span class="linenos">328</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-329"><a href="#read_sfcf_multi-329"><span class="linenos">329</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">ls</span>
|
||||
</span><span id="read_sfcf_multi-330"><a href="#read_sfcf_multi-330"><span class="linenos">330</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">name_ls</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-331"><a href="#read_sfcf_multi-331"><span class="linenos">331</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.'</span> <span class="o">+</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="read_sfcf_multi-332"><a href="#read_sfcf_multi-332"><span class="linenos">332</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||
</span><span id="read_sfcf_multi-333"><a href="#read_sfcf_multi-333"><span class="linenos">333</span></a> <span class="n">name_ls</span> <span class="o">=</span> <span class="n">sort_names</span><span class="p">(</span><span class="n">name_ls</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-334"><a href="#read_sfcf_multi-334"><span class="linenos">334</span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'spec'</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">][</span><span class="n">w2</span><span class="p">][</span><span class="s1">'pattern'</span><span class="p">]</span>
|
||||
</span><span id="read_sfcf_multi-335"><a href="#read_sfcf_multi-335"><span class="linenos">335</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-336"><a href="#read_sfcf_multi-336"><span class="linenos">336</span></a> <span class="k">for</span> <span class="n">rep</span><span class="p">,</span> <span class="n">file</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">name_ls</span><span class="p">):</span>
|
||||
</span><span id="read_sfcf_multi-337"><a href="#read_sfcf_multi-337"><span class="linenos">337</span></a> <span class="n">rep_idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-338"><a href="#read_sfcf_multi-338"><span class="linenos">338</span></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span>
|
||||
</span><span id="read_sfcf_multi-339"><a href="#read_sfcf_multi-339"><span class="linenos">339</span></a> <span class="n">T</span><span class="p">,</span> <span class="n">rep_idl</span><span class="p">,</span> <span class="n">rep_data</span> <span class="o">=</span> <span class="n">_read_append_rep</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'b2b'</span><span class="p">],</span> <span class="n">cfg_separator</span><span class="p">,</span> <span class="n">im</span><span class="p">,</span> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'single'</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-340"><a href="#read_sfcf_multi-340"><span class="linenos">340</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-341"><a href="#read_sfcf_multi-341"><span class="linenos">341</span></a> <span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span>
|
||||
</span><span id="read_sfcf_multi-342"><a href="#read_sfcf_multi-342"><span class="linenos">342</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-343"><a href="#read_sfcf_multi-343"><span class="linenos">343</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
</span><span id="read_sfcf_multi-344"><a href="#read_sfcf_multi-344"><span class="linenos">344</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-345"><a href="#read_sfcf_multi-345"><span class="linenos">345</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_data</span><span class="p">[</span><span class="n">t</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-346"><a href="#read_sfcf_multi-346"><span class="linenos">346</span></a> <span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">deltas</span>
|
||||
</span><span id="read_sfcf_multi-347"><a href="#read_sfcf_multi-347"><span class="linenos">347</span></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="n">name_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
|
||||
</span><span id="read_sfcf_multi-348"><a href="#read_sfcf_multi-348"><span class="linenos">348</span></a> <span class="n">idl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">rep_idl</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-349"><a href="#read_sfcf_multi-349"><span class="linenos">349</span></a>
|
||||
</span><span id="read_sfcf_multi-350"><a href="#read_sfcf_multi-350"><span class="linenos">350</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-351"><a href="#read_sfcf_multi-351"><span class="linenos">351</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-352"><a href="#read_sfcf_multi-352"><span class="linenos">352</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Checking for missing configs..."</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-353"><a href="#read_sfcf_multi-353"><span class="linenos">353</span></a> <span class="n">che</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"check_configs"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-354"><a href="#read_sfcf_multi-354"><span class="linenos">354</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">che</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="read_sfcf_multi-355"><a href="#read_sfcf_multi-355"><span class="linenos">355</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"check_configs has to be the same length as replica!"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-356"><a href="#read_sfcf_multi-356"><span class="linenos">356</span></a> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">idl</span><span class="p">)):</span>
|
||||
</span><span id="read_sfcf_multi-357"><a href="#read_sfcf_multi-357"><span class="linenos">357</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-358"><a href="#read_sfcf_multi-358"><span class="linenos">358</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"checking "</span> <span class="o">+</span> <span class="n">new_names</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-359"><a href="#read_sfcf_multi-359"><span class="linenos">359</span></a> <span class="n">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">[</span><span class="n">r</span><span class="p">],</span> <span class="n">che</span><span class="p">[</span><span class="n">r</span><span class="p">])</span>
|
||||
</span><span id="read_sfcf_multi-360"><a href="#read_sfcf_multi-360"><span class="linenos">360</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">silent</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-361"><a href="#read_sfcf_multi-361"><span class="linenos">361</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">"Done"</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-362"><a href="#read_sfcf_multi-362"><span class="linenos">362</span></a>
|
||||
</span><span id="read_sfcf_multi-363"><a href="#read_sfcf_multi-363"><span class="linenos">363</span></a> <span class="n">result_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-364"><a href="#read_sfcf_multi-364"><span class="linenos">364</span></a> <span class="k">if</span> <span class="n">keyed_out</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-365"><a href="#read_sfcf_multi-365"><span class="linenos">365</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">needed_keys</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-366"><a href="#read_sfcf_multi-366"><span class="linenos">366</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-367"><a href="#read_sfcf_multi-367"><span class="linenos">367</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-368"><a href="#read_sfcf_multi-368"><span class="linenos">368</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="read_sfcf_multi-369"><a href="#read_sfcf_multi-369"><span class="linenos">369</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="read_sfcf_multi-370"><a href="#read_sfcf_multi-370"><span class="linenos">370</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-371"><a href="#read_sfcf_multi-371"><span class="linenos">371</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">name_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-372"><a href="#read_sfcf_multi-372"><span class="linenos">372</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-373"><a href="#read_sfcf_multi-373"><span class="linenos">373</span></a> <span class="k">for</span> <span class="n">quarks</span> <span class="ow">in</span> <span class="n">quarks_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-374"><a href="#read_sfcf_multi-374"><span class="linenos">374</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-375"><a href="#read_sfcf_multi-375"><span class="linenos">375</span></a> <span class="k">for</span> <span class="n">off</span> <span class="ow">in</span> <span class="n">noffset_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-376"><a href="#read_sfcf_multi-376"><span class="linenos">376</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-377"><a href="#read_sfcf_multi-377"><span class="linenos">377</span></a> <span class="k">for</span> <span class="n">w</span> <span class="ow">in</span> <span class="n">wf_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-378"><a href="#read_sfcf_multi-378"><span class="linenos">378</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="n">off</span><span class="p">][</span><span class="n">w</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="read_sfcf_multi-379"><a href="#read_sfcf_multi-379"><span class="linenos">379</span></a> <span class="k">for</span> <span class="n">w2</span> <span class="ow">in</span> <span class="n">wf2_list</span><span class="p">:</span>
|
||||
</span><span id="read_sfcf_multi-380"><a href="#read_sfcf_multi-380"><span class="linenos">380</span></a> <span class="n">key</span> <span class="o">=</span> <span class="n">_specs2key</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">quarks</span><span class="p">,</span> <span class="n">off</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">w2</span><span class="p">)</span>
|
||||
</span><span id="read_sfcf_multi-381"><a href="#read_sfcf_multi-381"><span class="linenos">381</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="read_sfcf_multi-382"><a href="#read_sfcf_multi-382"><span class="linenos">382</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">intern</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"T"</span><span class="p">]):</span>
|
||||
</span><span id="read_sfcf_multi-383"><a href="#read_sfcf_multi-383"><span class="linenos">383</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">internal_ret_dict</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="n">t</span><span class="p">],</span> <span class="n">new_names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">))</span>
|
||||
</span><span id="read_sfcf_multi-384"><a href="#read_sfcf_multi-384"><span class="linenos">384</span></a> <span class="n">result_dict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">quarks</span><span class="p">][</span><span class="nb">str</span><span class="p">(</span><span class="n">off</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w</span><span class="p">)][</span><span class="nb">str</span><span class="p">(</span><span class="n">w2</span><span class="p">)]</span> <span class="o">=</span> <span class="n">result</span>
|
||||
</span><span id="read_sfcf_multi-385"><a href="#read_sfcf_multi-385"><span class="linenos">385</span></a> <span class="k">return</span> <span class="n">result_dict</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue