Skip to content

Commit 3ad91a7

Browse files
committed
deploy: a7600b4
1 parent 11ff5c1 commit 3ad91a7

File tree

13 files changed

+93
-55
lines changed

13 files changed

+93
-55
lines changed

_modules/xboinc/df_wu.html

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -250,26 +250,26 @@ <h1>Source code for xboinc.df_wu</h1><div class="highlight"><pre>
250250

251251
<div class="viewcode-block" id="query_subscribed_users">
252252
<a class="viewcode-back" href="../../api/xboinc/df_wu/index.html#xboinc.df_wu.query_subscribed_users">[docs]</a>
253-
<span class="k">def</span><span class="w"> </span><span class="nf">query_subscribed_users</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
253+
<span class="k">def</span><span class="w"> </span><span class="nf">query_subscribed_users</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]:</span>
254254
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
255-
<span class="sd"> Get a list of all users subscribed to the work unit database.</span>
255+
<span class="sd"> Get a list of all users subscribed to the work unit database with their status.</span>
256256

257257
<span class="sd"> Returns</span>
258258
<span class="sd"> -------</span>
259-
<span class="sd"> list[str]</span>
260-
<span class="sd"> List of usernames subscribed to the work unit database.</span>
259+
<span class="sd"> list[tuple[str, str]]</span>
260+
<span class="sd"> List of tuples containing (username, status) for users subscribed to the work unit database.</span>
261261
<span class="sd"> &quot;&quot;&quot;</span>
262262
<span class="k">with</span> <span class="n">_get_read_only_user_db_connection</span><span class="p">()</span> <span class="k">as</span> <span class="n">conn</span><span class="p">:</span>
263263
<span class="n">cursor</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
264-
<span class="n">cursor</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s2">&quot;SELECT user FROM users&quot;</span><span class="p">)</span>
265-
<span class="n">users</span> <span class="o">=</span> <span class="p">[</span><span class="n">row</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">cursor</span><span class="o">.</span><span class="n">fetchall</span><span class="p">()]</span>
264+
<span class="n">cursor</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s2">&quot;SELECT user, status FROM users&quot;</span><span class="p">)</span>
265+
<span class="n">users</span> <span class="o">=</span> <span class="p">[(</span><span class="n">row</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">row</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">cursor</span><span class="o">.</span><span class="n">fetchall</span><span class="p">()]</span>
266266
<span class="k">return</span> <span class="n">users</span></div>
267267

268268

269269

270270
<div class="viewcode-block" id="check_user_subscription">
271271
<a class="viewcode-back" href="../../api/xboinc/index.html#xboinc.df_wu.check_user_subscription">[docs]</a>
272-
<span class="k">def</span><span class="w"> </span><span class="nf">check_user_subscription</span><span class="p">(</span><span class="n">user</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
272+
<span class="k">def</span><span class="w"> </span><span class="nf">check_user_subscription</span><span class="p">(</span><span class="n">user</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
273273
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
274274
<span class="sd"> Check if a user is subscribed to the work unit database.</span>
275275

@@ -280,10 +280,15 @@ <h1>Source code for xboinc.df_wu</h1><div class="highlight"><pre>
280280

281281
<span class="sd"> Returns</span>
282282
<span class="sd"> -------</span>
283-
<span class="sd"> bool</span>
284-
<span class="sd"> True if the user is subscribed, False otherwise.</span>
283+
<span class="sd"> str</span>
284+
<span class="sd"> The status of the user if subscribed, &quot;not_subscribed&quot; otherwise,</span>
285+
<span class="sd"> &quot;broken&quot; if the user&#39;s directory is invalid.</span>
285286
<span class="sd"> &quot;&quot;&quot;</span>
286-
<span class="k">return</span> <span class="n">user</span> <span class="ow">in</span> <span class="n">query_subscribed_users</span><span class="p">()</span></div>
287+
<span class="n">users</span> <span class="o">=</span> <span class="n">query_subscribed_users</span><span class="p">()</span>
288+
<span class="k">for</span> <span class="n">u</span><span class="p">,</span> <span class="n">status</span> <span class="ow">in</span> <span class="n">users</span><span class="p">:</span>
289+
<span class="k">if</span> <span class="n">u</span> <span class="o">==</span> <span class="n">user</span><span class="p">:</span>
290+
<span class="k">return</span> <span class="n">status</span>
291+
<span class="k">return</span> <span class="s2">&quot;not_subscribed&quot;</span></div>
287292

288293
</pre></div>
289294

_modules/xboinc/general.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ <h1>Source code for xboinc.general</h1><div class="highlight"><pre>
144144

145145
<div class="viewcode-block" id="__version__">
146146
<a class="viewcode-back" href="../../api/xboinc/index.html#xboinc.general.__version__">[docs]</a>
147-
<span class="n">__version__</span> <span class="o">=</span> <span class="s1">&#39;0.4.2&#39;</span></div>
147+
<span class="n">__version__</span> <span class="o">=</span> <span class="s1">&#39;0.4.3&#39;</span></div>
148148

149149

150150
<span class="c1"># These are the xsuite modules that are used by boinc and the versions they are</span>

_modules/xboinc/retrieve.html

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -238,13 +238,22 @@ <h1>Source code for xboinc.retrieve</h1><div class="highlight"><pre>
238238
<span class="n">job_name</span> <span class="o">=</span> <span class="n">parts</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
239239
<span class="n">wu_name</span> <span class="o">=</span> <span class="n">bin_file</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;.bin&quot;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">)</span>
240240
<span class="c1"># append to the DataFrame</span>
241-
<span class="n">new_row</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">([{</span>
242-
<span class="s2">&quot;user&quot;</span><span class="p">:</span> <span class="n">user</span><span class="p">,</span>
243-
<span class="s2">&quot;study_name&quot;</span><span class="p">:</span> <span class="n">study_name</span><span class="p">,</span>
244-
<span class="s2">&quot;job_name&quot;</span><span class="p">:</span> <span class="n">job_name</span><span class="p">,</span>
245-
<span class="s2">&quot;wu_name&quot;</span><span class="p">:</span> <span class="n">wu_name</span><span class="p">,</span>
246-
<span class="s2">&quot;bin_file&quot;</span><span class="p">:</span> <span class="n">bin_file</span><span class="p">,</span>
247-
<span class="p">}])</span>
241+
<span class="n">new_row</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span>
242+
<span class="p">[</span>
243+
<span class="p">{</span>
244+
<span class="s2">&quot;user&quot;</span><span class="p">:</span> <span class="n">user</span><span class="p">,</span>
245+
<span class="s2">&quot;study_name&quot;</span><span class="p">:</span> <span class="n">study_name</span><span class="p">,</span>
246+
<span class="s2">&quot;job_name&quot;</span><span class="p">:</span> <span class="n">job_name</span><span class="p">,</span>
247+
<span class="s2">&quot;wu_name&quot;</span><span class="p">:</span> <span class="n">wu_name</span><span class="p">,</span>
248+
<span class="s2">&quot;bin_file&quot;</span><span class="p">:</span> <span class="n">bin_file</span><span class="p">,</span>
249+
<span class="s2">&quot;json_file&quot;</span><span class="p">:</span> <span class="n">bin_file</span><span class="o">.</span><span class="n">with_name</span><span class="p">(</span>
250+
<span class="n">bin_file</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
251+
<span class="s2">&quot;__file_xboinc_state_out.bin&quot;</span><span class="p">,</span> <span class="s2">&quot;.json&quot;</span>
252+
<span class="p">)</span>
253+
<span class="p">),</span>
254+
<span class="p">}</span>
255+
<span class="p">]</span>
256+
<span class="p">)</span>
248257
<span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">df</span><span class="p">,</span> <span class="n">new_row</span><span class="p">],</span> <span class="n">ignore_index</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
249258
<span class="k">return</span> <span class="n">df</span></div>
250259

@@ -460,8 +469,8 @@ <h1>Source code for xboinc.retrieve</h1><div class="highlight"><pre>
460469

461470
<span class="sd"> Yields</span>
462471
<span class="sd"> ------</span>
463-
<span class="sd"> tuple of (str, xpart.Particles)</span>
464-
<span class="sd"> Job name and corresponding particles object for each result</span>
472+
<span class="sd"> tuple of (str, dict, xpart.Particles)</span>
473+
<span class="sd"> Job name, corresponding metadata, and particles object for each result</span>
465474

466475
<span class="sd"> Raises</span>
467476
<span class="sd"> ------</span>
@@ -485,6 +494,7 @@ <h1>Source code for xboinc.retrieve</h1><div class="highlight"><pre>
485494
<span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_df</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_df</span><span class="p">[</span><span class="s2">&quot;study_name&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="n">study_name</span><span class="p">]</span><span class="o">.</span><span class="n">itertuples</span><span class="p">():</span>
486495
<span class="n">job_name</span> <span class="o">=</span> <span class="n">row</span><span class="o">.</span><span class="n">job_name</span>
487496
<span class="n">bin_file</span> <span class="o">=</span> <span class="n">row</span><span class="o">.</span><span class="n">bin_file</span>
497+
<span class="n">json_file</span> <span class="o">=</span> <span class="n">row</span><span class="o">.</span><span class="n">json_file</span>
488498
<span class="n">result</span> <span class="o">=</span> <span class="n">XbState</span><span class="o">.</span><span class="n">from_binary</span><span class="p">(</span><span class="n">bin_file</span><span class="p">,</span> <span class="n">raise_version_error</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
489499
<span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
490500
<span class="n">warn</span><span class="p">(</span>
@@ -493,7 +503,22 @@ <h1>Source code for xboinc.retrieve</h1><div class="highlight"><pre>
493503
<span class="ne">UserWarning</span><span class="p">,</span>
494504
<span class="p">)</span>
495505
<span class="k">continue</span>
496-
<span class="k">yield</span> <span class="n">job_name</span><span class="p">,</span> <span class="n">result</span><span class="o">.</span><span class="n">particles</span></div>
506+
<span class="k">try</span><span class="p">:</span>
507+
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">json_file</span><span class="p">,</span> <span class="s2">&quot;r&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
508+
<span class="n">metadata</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
509+
<span class="c1"># is metadata an empty dict?</span>
510+
<span class="k">if</span> <span class="ow">not</span> <span class="n">metadata</span><span class="p">:</span>
511+
<span class="n">warn</span><span class="p">(</span>
512+
<span class="sa">f</span><span class="s2">&quot;Warning: The JSON file </span><span class="si">{</span><span class="n">json_file</span><span class="si">}</span><span class="s2"> is empty.&quot;</span><span class="p">,</span>
513+
<span class="ne">UserWarning</span><span class="p">,</span>
514+
<span class="p">)</span>
515+
<span class="k">except</span> <span class="ne">FileNotFoundError</span><span class="p">:</span>
516+
<span class="n">warn</span><span class="p">(</span>
517+
<span class="sa">f</span><span class="s2">&quot;Warning: The JSON file </span><span class="si">{</span><span class="n">json_file</span><span class="si">}</span><span class="s2"> was not found.&quot;</span><span class="p">,</span>
518+
<span class="ne">UserWarning</span><span class="p">,</span>
519+
<span class="p">)</span>
520+
<span class="n">metadata</span> <span class="o">=</span> <span class="p">{}</span>
521+
<span class="k">yield</span> <span class="n">job_name</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">result</span><span class="o">.</span><span class="n">particles</span></div>
497522

498523

499524
<div class="viewcode-block" id="JobRetriever.clean">
@@ -526,6 +551,9 @@ <h1>Source code for xboinc.retrieve</h1><div class="highlight"><pre>
526551
<span class="n">bin_file</span> <span class="o">=</span> <span class="n">row</span><span class="o">.</span><span class="n">bin_file</span>
527552
<span class="k">if</span> <span class="n">bin_file</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
528553
<span class="n">bin_file</span><span class="o">.</span><span class="n">unlink</span><span class="p">()</span>
554+
<span class="n">json_file</span> <span class="o">=</span> <span class="n">row</span><span class="o">.</span><span class="n">json_file</span>
555+
<span class="k">if</span> <span class="n">json_file</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
556+
<span class="n">json_file</span><span class="o">.</span><span class="n">unlink</span><span class="p">()</span>
529557
<span class="c1"># Remove empty directories</span>
530558
<span class="k">for</span> <span class="n">folder</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_directory</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="s2">&quot;*/&quot;</span><span class="p">):</span>
531559
<span class="k">if</span> <span class="ow">not</span> <span class="nb">any</span><span class="p">(</span><span class="n">folder</span><span class="o">.</span><span class="n">iterdir</span><span class="p">()):</span>

_sources/api/xboinc/df_wu/index.rst.txt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,23 @@ Module Contents
7676
:rtype: pd.DataFrame
7777

7878

79-
.. py:function:: query_subscribed_users() -> list[str]
79+
.. py:function:: query_subscribed_users() -> list[tuple[str, str]]
8080
81-
Get a list of all users subscribed to the work unit database.
81+
Get a list of all users subscribed to the work unit database with their status.
8282

83-
:returns: List of usernames subscribed to the work unit database.
84-
:rtype: list[str]
83+
:returns: List of tuples containing (username, status) for users subscribed to the work unit database.
84+
:rtype: list[tuple[str, str]]
8585

8686

87-
.. py:function:: check_user_subscription(user: str) -> bool
87+
.. py:function:: check_user_subscription(user: str) -> str
8888
8989
Check if a user is subscribed to the work unit database.
9090

9191
:param user: The username to check.
9292
:type user: str
9393

94-
:returns: True if the user is subscribed, False otherwise.
95-
:rtype: bool
94+
:returns: The status of the user if subscribed, "not_subscribed" otherwise,
95+
"broken" if the user's directory is invalid.
96+
:rtype: str
9697

9798

_sources/api/xboinc/general/index.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Module Contents
2020
.. py:data:: _pkg_root
2121
2222
.. py:data:: __version__
23-
:value: '0.4.2'
23+
:value: '0.4.3'
2424

2525

2626
.. py:data:: __xsuite__versions__

_sources/api/xboinc/index.rst.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,16 @@ Functions
6262
Package Contents
6363
----------------
6464

65-
.. py:function:: check_user_subscription(user: str) -> bool
65+
.. py:function:: check_user_subscription(user: str) -> str
6666
6767
Check if a user is subscribed to the work unit database.
6868

6969
:param user: The username to check.
7070
:type user: str
7171

72-
:returns: True if the user is subscribed, False otherwise.
73-
:rtype: bool
72+
:returns: The status of the user if subscribed, "not_subscribed" otherwise,
73+
"broken" if the user's directory is invalid.
74+
:rtype: str
7475

7576

7677
.. py:function:: query_registered_work_units(status: Optional[str] = None, dev_server: bool = False) -> pandas.DataFrame
@@ -123,7 +124,7 @@ Package Contents
123124

124125

125126
.. py:data:: __version__
126-
:value: '0.4.2'
127+
:value: '0.4.3'
127128

128129

129130
.. py:data:: __xsuite__versions__
@@ -316,7 +317,7 @@ Package Contents
316317
:param study_name: Name of the study to iterate over
317318
:type study_name: str
318319

319-
:Yields: *tuple of (str, xpart.Particles)* -- Job name and corresponding particles object for each result
320+
:Yields: *tuple of (str, dict, xpart.Particles)* -- Job name, corresponding metadata, and particles object for each result
320321

321322
:raises ValueError: If study_name is not found in available results
322323

_sources/api/xboinc/retrieve/index.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ Module Contents
166166
:param study_name: Name of the study to iterate over
167167
:type study_name: str
168168

169-
:Yields: *tuple of (str, xpart.Particles)* -- Job name and corresponding particles object for each result
169+
:Yields: *tuple of (str, dict, xpart.Particles)* -- Job name, corresponding metadata, and particles object for each result
170170

171171
:raises ValueError: If study_name is not found in available results
172172

0 commit comments

Comments
 (0)