Skip to content

Commit eb2d5d0

Browse files
committed
export
1 parent 5b4dfc2 commit eb2d5d0

File tree

4 files changed

+45
-25
lines changed

4 files changed

+45
-25
lines changed

00_core.ipynb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,7 @@
804804
"metadata": {},
805805
"outputs": [],
806806
"source": [
807+
"#export\n",
807808
"def paged(oper, *args, per_page=30, max_pages=9999, **kwargs):\n",
808809
" \"Convert operation `oper(*args,**kwargs)` into an iterator\"\n",
809810
" yield from itertools.takewhile(noop, (oper(*args, per_page=per_page, page=i) for i in range(1,max_pages+1)))"

docs/core.html

Lines changed: 37 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -842,26 +842,39 @@ <h3 id="Paged-operations">Paged operations<a class="anchor-link" href="#Paged-op
842842

843843
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
844844
<div class="text_cell_render border-box-sizing rendered_html">
845-
<p>However, <code>per_page</code> has a maximum of <code>100</code>, so if you want more, you'll have to pass <code>page=</code> to get pages beyond the first. An easy way to iterate through all pages is to use <code>paged</code>.</p>
845+
<p>However, <code>per_page</code> has a maximum of <code>100</code>, so if you want more, you'll have to pass <code>page=</code> to get pages beyond the first. An easy way to iterate through all pages is to use <a href="/core.html#paged"><code>paged</code></a>.</p>
846846

847847
</div>
848848
</div>
849849
</div>
850850
{% raw %}
851851

852852
<div class="cell border-box-sizing code_cell rendered">
853-
<div class="input">
854853

855-
<div class="inner_cell">
856-
<div class="input_area">
857-
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">paged</span><span class="p">(</span><span class="n">oper</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="n">per_page</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">max_pages</span><span class="o">=</span><span class="mi">9999</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
858-
<span class="s2">&quot;Convert operation `oper(*args,**kwargs)` into an iterator&quot;</span>
859-
<span class="k">yield from</span> <span class="n">itertools</span><span class="o">.</span><span class="n">takewhile</span><span class="p">(</span><span class="n">noop</span><span class="p">,</span> <span class="p">(</span><span class="n">oper</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="n">per_page</span><span class="o">=</span><span class="n">per_page</span><span class="p">,</span> <span class="n">page</span><span class="o">=</span><span class="n">i</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="n">max_pages</span><span class="o">+</span><span class="mi">1</span><span class="p">)))</span>
860-
</pre></div>
854+
<div class="output_wrapper">
855+
<div class="output">
861856

862-
</div>
857+
<div class="output_area">
858+
859+
860+
<div class="output_markdown rendered_html output_subarea ">
861+
<h4 id="paged" class="doc_header"><code>paged</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L119" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>paged</code>(<strong><code>oper</code></strong>, <strong>*<code>args</code></strong>, <strong><code>per_page</code></strong>=<em><code>30</code></em>, <strong><code>max_pages</code></strong>=<em><code>9999</code></em>, <strong>**<code>kwargs</code></strong>)</p>
862+
</blockquote>
863+
<p>Convert operation <code>oper(*args,**kwargs)</code> into an iterator</p>
864+
865+
</div>
866+
867+
</div>
868+
869+
</div>
863870
</div>
871+
864872
</div>
873+
{% endraw %}
874+
875+
{% raw %}
876+
877+
<div class="cell border-box-sizing code_cell rendered">
865878

866879
</div>
867880
{% endraw %}
@@ -942,7 +955,7 @@ <h3 id="Paged-operations">Paged operations<a class="anchor-link" href="#Paged-op
942955

943956
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
944957
<div class="text_cell_render border-box-sizing rendered_html">
945-
<p>To convert this operation into a Python iterator, pass the operation itself, along with any arguments (either keyword or positional) to <code>paged</code>:</p>
958+
<p>To convert this operation into a Python iterator, pass the operation itself, along with any arguments (either keyword or positional) to <a href="/core.html#paged"><code>paged</code></a>:</p>
946959

947960
</div>
948961
</div>
@@ -1029,7 +1042,7 @@ <h3 id="Preview-endpoints">Preview endpoints<a class="anchor-link" href="#Previe
10291042

10301043

10311044
<div class="output_markdown rendered_html output_subarea ">
1032-
<h4 id="print_summary" class="doc_header"><code>print_summary</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L119" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>print_summary</code>(<strong><code>req</code></strong>:<code>Request</code>)</p>
1045+
<h4 id="print_summary" class="doc_header"><code>print_summary</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L124" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>print_summary</code>(<strong><code>req</code></strong>:<code>Request</code>)</p>
10331046
</blockquote>
10341047
<p>Print <code>Request.summary</code> with the token (if any) removed</p>
10351048

@@ -1144,7 +1157,7 @@ <h3 id="Releases">Releases<a class="anchor-link" href="#Releases"> </a></h3>
11441157

11451158

11461159
<div class="output_markdown rendered_html output_subarea ">
1147-
<h4 id="GhApi.upload_file" class="doc_header"><code>GhApi.upload_file</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L131" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.upload_file</code>(<strong><code>rel</code></strong>, <strong><code>fn</code></strong>)</p>
1160+
<h4 id="GhApi.upload_file" class="doc_header"><code>GhApi.upload_file</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L136" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.upload_file</code>(<strong><code>rel</code></strong>, <strong><code>fn</code></strong>)</p>
11481161
</blockquote>
11491162
<p>Upload <code>fn</code> to endpoint for release <code>rel</code></p>
11501163

@@ -1176,7 +1189,7 @@ <h4 id="GhApi.upload_file" class="doc_header"><code>GhApi.upload_file</code><a h
11761189

11771190

11781191
<div class="output_markdown rendered_html output_subarea ">
1179-
<h4 id="GhApi.create_release" class="doc_header"><code>GhApi.create_release</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L140" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.create_release</code>(<strong><code>tag_name</code></strong>, <strong><code>branch</code></strong>=<em><code>'master'</code></em>, <strong><code>name</code></strong>=<em><code>None</code></em>, <strong><code>body</code></strong>=<em><code>''</code></em>, <strong><code>draft</code></strong>=<em><code>False</code></em>, <strong><code>prerelease</code></strong>=<em><code>False</code></em>, <strong><code>files</code></strong>=<em><code>None</code></em>)</p>
1192+
<h4 id="GhApi.create_release" class="doc_header"><code>GhApi.create_release</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L145" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.create_release</code>(<strong><code>tag_name</code></strong>, <strong><code>branch</code></strong>=<em><code>'master'</code></em>, <strong><code>name</code></strong>=<em><code>None</code></em>, <strong><code>body</code></strong>=<em><code>''</code></em>, <strong><code>draft</code></strong>=<em><code>False</code></em>, <strong><code>prerelease</code></strong>=<em><code>False</code></em>, <strong><code>files</code></strong>=<em><code>None</code></em>)</p>
11801193
</blockquote>
11811194
<p>Wrapper for <a href="/core.html#GhApi.repos.create_release"><code>GhApi.repos.create_release</code></a> which also uploads <code>files</code></p>
11821195

@@ -1277,7 +1290,7 @@ <h4 id="GhApi.create_release" class="doc_header"><code>GhApi.create_release</cod
12771290

12781291

12791292
<div class="output_markdown rendered_html output_subarea ">
1280-
<h4 id="GhApi.delete_release" class="doc_header"><code>GhApi.delete_release</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L124" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.delete_release</code>(<strong><code>release</code></strong>)</p>
1293+
<h4 id="GhApi.delete_release" class="doc_header"><code>GhApi.delete_release</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L129" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.delete_release</code>(<strong><code>release</code></strong>)</p>
12811294
</blockquote>
12821295
<p>Delete a release and its associated tag</p>
12831296

@@ -1308,7 +1321,7 @@ <h3 id="Branches-and-tags">Branches and tags<a class="anchor-link" href="#Branch
13081321

13091322

13101323
<div class="output_markdown rendered_html output_subarea ">
1311-
<h4 id="GhApi.list_tags" class="doc_header"><code>GhApi.list_tags</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L151" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.list_tags</code>(<strong><code>prefix</code></strong>:<code>str</code>=<em><code>''</code></em>)</p>
1324+
<h4 id="GhApi.list_tags" class="doc_header"><code>GhApi.list_tags</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L156" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.list_tags</code>(<strong><code>prefix</code></strong>:<code>str</code>=<em><code>''</code></em>)</p>
13121325
</blockquote>
13131326
<p>List all tags, optionally filtered to those starting with <code>prefix</code></p>
13141327

@@ -1388,7 +1401,7 @@ <h4 id="GhApi.list_tags" class="doc_header"><code>GhApi.list_tags</code><a href=
13881401

13891402

13901403
<div class="output_markdown rendered_html output_subarea ">
1391-
<h4 id="GhApi.list_branches" class="doc_header"><code>GhApi.list_branches</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L157" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.list_branches</code>(<strong><code>prefix</code></strong>:<code>str</code>=<em><code>''</code></em>)</p>
1404+
<h4 id="GhApi.list_branches" class="doc_header"><code>GhApi.list_branches</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L162" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.list_branches</code>(<strong><code>prefix</code></strong>:<code>str</code>=<em><code>''</code></em>)</p>
13921405
</blockquote>
13931406
<p>List all branches, optionally filtered to those starting with <code>prefix</code></p>
13941407

@@ -1476,7 +1489,7 @@ <h4 id="GhApi.list_branches" class="doc_header"><code>GhApi.list_branches</code>
14761489

14771490

14781491
<div class="output_markdown rendered_html output_subarea ">
1479-
<h4 id="GhApi.create_branch_empty" class="doc_header"><code>GhApi.create_branch_empty</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L167" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.create_branch_empty</code>(<strong><code>branch</code></strong>)</p>
1492+
<h4 id="GhApi.create_branch_empty" class="doc_header"><code>GhApi.create_branch_empty</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L172" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.create_branch_empty</code>(<strong><code>branch</code></strong>)</p>
14801493
</blockquote>
14811494

14821495
</div>
@@ -1525,7 +1538,7 @@ <h4 id="GhApi.create_branch_empty" class="doc_header"><code>GhApi.create_branch_
15251538

15261539

15271540
<div class="output_markdown rendered_html output_subarea ">
1528-
<h4 id="GhApi.delete_tag" class="doc_header"><code>GhApi.delete_tag</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L173" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.delete_tag</code>(<strong><code>tag</code></strong>:<code>str</code>)</p>
1541+
<h4 id="GhApi.delete_tag" class="doc_header"><code>GhApi.delete_tag</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L178" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.delete_tag</code>(<strong><code>tag</code></strong>:<code>str</code>)</p>
15291542
</blockquote>
15301543
<p>Delete a tag</p>
15311544

@@ -1557,7 +1570,7 @@ <h4 id="GhApi.delete_tag" class="doc_header"><code>GhApi.delete_tag</code><a hre
15571570

15581571

15591572
<div class="output_markdown rendered_html output_subarea ">
1560-
<h4 id="GhApi.delete_branch" class="doc_header"><code>GhApi.delete_branch</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L179" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.delete_branch</code>(<strong><code>branch</code></strong>:<code>str</code>)</p>
1573+
<h4 id="GhApi.delete_branch" class="doc_header"><code>GhApi.delete_branch</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L184" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.delete_branch</code>(<strong><code>branch</code></strong>:<code>str</code>)</p>
15611574
</blockquote>
15621575
<p>Delete a branch</p>
15631576

@@ -1607,7 +1620,7 @@ <h4 id="GhApi.delete_branch" class="doc_header"><code>GhApi.delete_branch</code>
16071620

16081621

16091622
<div class="output_markdown rendered_html output_subarea ">
1610-
<h4 id="GhApi.get_branch" class="doc_header"><code>GhApi.get_branch</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L185" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.get_branch</code>(<strong><code>branch</code></strong>=<em><code>None</code></em>)</p>
1623+
<h4 id="GhApi.get_branch" class="doc_header"><code>GhApi.get_branch</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L190" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.get_branch</code>(<strong><code>branch</code></strong>=<em><code>None</code></em>)</p>
16111624
</blockquote>
16121625

16131626
</div>
@@ -1644,7 +1657,7 @@ <h3 id="Content-(git-files)">Content (git files)<a class="anchor-link" href="#Co
16441657

16451658

16461659
<div class="output_markdown rendered_html output_subarea ">
1647-
<h4 id="GhApi.list_files" class="doc_header"><code>GhApi.list_files</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L191" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.list_files</code>(<strong><code>branch</code></strong>=<em><code>None</code></em>)</p>
1660+
<h4 id="GhApi.list_files" class="doc_header"><code>GhApi.list_files</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L196" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.list_files</code>(<strong><code>branch</code></strong>=<em><code>None</code></em>)</p>
16481661
</blockquote>
16491662

16501663
</div>
@@ -1716,7 +1729,7 @@ <h4 id="GhApi.list_files" class="doc_header"><code>GhApi.list_files</code><a hre
17161729

17171730

17181731
<div class="output_markdown rendered_html output_subarea ">
1719-
<h4 id="GhApi.get_content" class="doc_header"><code>GhApi.get_content</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L198" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.get_content</code>(<strong><code>path</code></strong>)</p>
1732+
<h4 id="GhApi.get_content" class="doc_header"><code>GhApi.get_content</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L203" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.get_content</code>(<strong><code>path</code></strong>)</p>
17201733
</blockquote>
17211734

17221735
</div>
@@ -1765,7 +1778,7 @@ <h4 id="GhApi.get_content" class="doc_header"><code>GhApi.get_content</code><a h
17651778

17661779

17671780
<div class="output_markdown rendered_html output_subarea ">
1768-
<h4 id="GhApi.update_contents" class="doc_header"><code>GhApi.update_contents</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L204" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.update_contents</code>(<strong><code>path</code></strong>, <strong><code>message</code></strong>=<em><code>None</code></em>, <strong><code>content</code></strong>=<em><code>None</code></em>, <strong><code>sha</code></strong>=<em><code>None</code></em>, <strong><code>branch</code></strong>=<em><code>None</code></em>, <strong><code>committer</code></strong>=<em><code>None</code></em>, <strong><code>author</code></strong>=<em><code>None</code></em>)</p>
1781+
<h4 id="GhApi.update_contents" class="doc_header"><code>GhApi.update_contents</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L209" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.update_contents</code>(<strong><code>path</code></strong>, <strong><code>message</code></strong>=<em><code>None</code></em>, <strong><code>content</code></strong>=<em><code>None</code></em>, <strong><code>sha</code></strong>=<em><code>None</code></em>, <strong><code>branch</code></strong>=<em><code>None</code></em>, <strong><code>committer</code></strong>=<em><code>None</code></em>, <strong><code>author</code></strong>=<em><code>None</code></em>)</p>
17691782
</blockquote>
17701783

17711784
</div>
@@ -1849,7 +1862,7 @@ <h4 id="GhApi.update_contents" class="doc_header"><code>GhApi.update_contents</c
18491862

18501863

18511864
<div class="output_markdown rendered_html output_subarea ">
1852-
<h4 id="GhApi.enable_pages" class="doc_header"><code>GhApi.enable_pages</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L214" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.enable_pages</code>(<strong><code>branch</code></strong>=<em><code>None</code></em>, <strong><code>path</code></strong>=<em><code>'/'</code></em>)</p>
1865+
<h4 id="GhApi.enable_pages" class="doc_header"><code>GhApi.enable_pages</code><a href="https://github.com/fastai/ghapi/tree/master/ghapi/core.py#L219" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>GhApi.enable_pages</code>(<strong><code>branch</code></strong>=<em><code>None</code></em>, <strong><code>path</code></strong>=<em><code>'/'</code></em>)</p>
18531866
</blockquote>
18541867
<p>Enable or update pages for a repo to point to a <code>branch</code> and <code>path</code>.</p>
18551868

ghapi/_nbdev.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
index = {"GH_HOST": "00_core.ipynb",
66
"GhApi": "00_core.ipynb",
7+
"paged": "00_core.ipynb",
78
"print_summary": "00_core.ipynb",
89
"GhApi.delete_release": "00_core.ipynb",
910
"GhApi.upload_file": "00_core.ipynb",

ghapi/core.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AUTOGENERATED! DO NOT EDIT! File to edit: 00_core.ipynb (unless otherwise specified).
22

3-
__all__ = ['GH_HOST', 'GhApi', 'print_summary', 'EMPTY_TREE_SHA']
3+
__all__ = ['GH_HOST', 'GhApi', 'paged', 'print_summary', 'EMPTY_TREE_SHA']
44

55
# Cell
66
from fastcore.utils import *
@@ -115,6 +115,11 @@ def __getitem__(self, k):
115115
def full_docs(self):
116116
return '\n'.join(f'## {gn}\n\n{group._repr_markdown_()}\n' for gn,group in sorted(self.groups.items()))
117117

118+
# Cell
119+
def paged(oper, *args, per_page=30, max_pages=9999, **kwargs):
120+
"Convert operation `oper(*args,**kwargs)` into an iterator"
121+
yield from itertools.takewhile(noop, (oper(*args, per_page=per_page, page=i) for i in range(1,max_pages+1)))
122+
118123
# Cell
119124
def print_summary(req:Request):
120125
"Print `Request.summary` with the token (if any) removed"

0 commit comments

Comments
 (0)