Skip to content

Commit

Permalink
deploy: e14ecb2
Browse files Browse the repository at this point in the history
  • Loading branch information
Aedial committed Jun 2, 2023
1 parent eb865c8 commit 1ec8d8c
Show file tree
Hide file tree
Showing 21 changed files with 2,989 additions and 55 deletions.
18 changes: 17 additions & 1 deletion _modules/example/boilerplate.html
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,23 @@ <h1>Source code for example.boilerplate</h1><div class="highlight"><pre>

<div class="viewcode-block" id="API"><a class="viewcode-back" href="../../example/example.boilerplate.html#example.boilerplate.API">[docs]</a><span class="k">class</span> <span class="nc">API</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Boilerplate for the redundant parts</span>
<span class="sd"> Boilerplate for the redundant parts.</span>
<span class="sd"> Using the object as a context manager will automatically login using the environment variables</span>
<span class="sd"> ``NAI_USERNAME`` and ``NAI_PASSWORD``.</span>

<span class="sd"> Usage:</span>

<span class="sd"> .. code-block:: python</span>

<span class="sd"> async with API() as api:</span>
<span class="sd"> api = api.api</span>
<span class="sd"> encryption_key = api.encryption_key</span>
<span class="sd"> logger = api.logger</span>
<span class="sd"> ... # Do stuff</span>


<span class="sd"> A custom base address can be passed to the constructor to replace the default</span>
<span class="sd"> (:attr:`BASE_ADDRESS &lt;novelai_api.NovelAI_API.NovelAIAPI.BASE_ADDRESS&gt;`)</span>
<span class="sd"> &quot;&quot;&quot;</span>

<span class="n">_username</span><span class="p">:</span> <span class="nb">str</span>
Expand Down
2 changes: 2 additions & 0 deletions _modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ <h1>All modules for which code is available</h1>
<li><a href="novelai_api/SchemaValidator.html">novelai_api.SchemaValidator</a></li>
<li><a href="novelai_api/StoryHandler.html">novelai_api.StoryHandler</a></li>
<li><a href="novelai_api/Tokenizer.html">novelai_api.Tokenizer</a></li>
<li><a href="novelai_api/_high_level.html">novelai_api._high_level</a></li>
<li><a href="novelai_api/_low_level.html">novelai_api._low_level</a></li>
<li><a href="novelai_api/utils.html">novelai_api.utils</a></li>
<li><a href="tests/api/boilerplate.html">tests.api.boilerplate</a></li>
<li><a href="tests/api/test_decrypt_encrypt_integrity_check.html">tests.api.test_decrypt_encrypt_integrity_check</a></li>
Expand Down
25 changes: 25 additions & 0 deletions _modules/novelai_api/NovelAI_API.html
Original file line number Diff line number Diff line change
Expand Up @@ -70,23 +70,48 @@ <h1>Source code for novelai_api.NovelAI_API</h1><div class="highlight"><pre>

<div class="viewcode-block" id="NovelAIAPI"><a class="viewcode-back" href="../../novelai_api/novelai_api.NovelAI_API.html#novelai_api.NovelAI_API.NovelAIAPI">[docs]</a><span class="k">class</span> <span class="nc">NovelAIAPI</span><span class="p">:</span>
<span class="c1"># Constants</span>

<span class="c1">#: The base address for the API</span>
<span class="n">BASE_ADDRESS</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;https://api.novelai.net&quot;</span>
<span class="n">LIB_ROOT</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">dirname</span><span class="p">(</span><span class="n">abspath</span><span class="p">(</span><span class="vm">__file__</span><span class="p">))</span>

<span class="c1"># Variables</span>

<span class="c1">#: The logger for the API</span>
<span class="n">logger</span><span class="p">:</span> <span class="n">Logger</span>
<span class="c1">#: The client session for the API (None if synchronous)</span>
<span class="n">session</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">ClientSession</span><span class="p">]</span>

<span class="c1">#: The timeout for a request (in seconds)</span>
<span class="n">timeout</span><span class="p">:</span> <span class="n">ClientTimeout</span>
<span class="c1">#: The headers for a request</span>
<span class="n">headers</span><span class="p">:</span> <span class="n">CIMultiDict</span>
<span class="c1">#: The cookies for a request</span>
<span class="n">cookies</span><span class="p">:</span> <span class="n">SimpleCookie</span>
<span class="c1">#: The proxy for a request (None if no proxy)</span>
<span class="n">proxy</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">StrOrURL</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
<span class="c1">#: The proxy authentication for a request (None if no proxy)</span>
<span class="n">proxy_auth</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">BasicAuth</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>

<span class="c1"># API parts</span>

<span class="c1">#: The low-level API (thin wrapper)</span>
<span class="n">low_level</span><span class="p">:</span> <span class="n">LowLevel</span>
<span class="c1">#: The high-level API (abstraction on top of low-level)</span>
<span class="n">high_level</span><span class="p">:</span> <span class="n">HighLevel</span>

<div class="viewcode-block" id="NovelAIAPI.__init__"><a class="viewcode-back" href="../../novelai_api/novelai_api.NovelAI_API.html#novelai_api.NovelAI_API.NovelAIAPI.__init__">[docs]</a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">session</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">ClientSession</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">logger</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Logger</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Create a new NovelAIAPI object, which can be used to interact with the API.</span>
<span class="sd"> Use the low_level and high_level attributes for this purpose</span>

<span class="sd"> Use attach_session and detach_session to switch between synchronous and asynchronous requests</span>
<span class="sd"> by attaching a ClientSession</span>

<span class="sd"> :param session: The ClientSession to use for requests (None for synchronous)</span>
<span class="sd"> :param logger: The logger to use for the API (None for creating an empty default logger)</span>
<span class="sd"> &quot;&quot;&quot;</span>

<span class="c1"># variable passing</span>
<span class="k">if</span> <span class="n">session</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">session</span><span class="p">,</span> <span class="n">ClientSession</span><span class="p">):</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Expected None or type &#39;ClientSession&#39; for session, but got type &#39;</span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">session</span><span class="p">)</span><span class="si">}</span><span class="s2">&#39;&quot;</span><span class="p">)</span>
Expand Down
Loading

0 comments on commit 1ec8d8c

Please sign in to comment.