Skip to content

Commit

Permalink
deploy: 7674437
Browse files Browse the repository at this point in the history
  • Loading branch information
gilesknap committed May 10, 2024
1 parent 2b23802 commit f12f1c9
Show file tree
Hide file tree
Showing 40 changed files with 84 additions and 47 deletions.
2 changes: 1 addition & 1 deletion default-object/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 353877a2c085c33ad17c43c3ac77176d
config: a8ee7e7586852a54a520f65ffd49f047
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file modified default-object/.doctrees/developer/explanations/entities.doctree
Binary file not shown.
Binary file modified default-object/.doctrees/environment.pickle
Binary file not shown.
Binary file modified default-object/.doctrees/user/reference/api.doctree
Binary file not shown.
2 changes: 1 addition & 1 deletion default-object/_modules/ibek/globals.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ibek.globals &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>ibek.globals &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
41 changes: 32 additions & 9 deletions default-object/_modules/ibek/ioc.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ibek.ioc &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>ibek.ioc &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down Expand Up @@ -473,6 +473,13 @@ <h1>Source code for ibek.ioc</h1><div class="highlight"><pre>
<span class="n">id_to_entity</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Entity</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>


<span class="k">def</span> <span class="nf">get_entity_by_id</span><span class="p">(</span><span class="nb">id</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Entity</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">return</span> <span class="n">id_to_entity</span><span class="p">[</span><span class="nb">id</span><span class="p">]</span>
<span class="k">except</span> <span class="ne">KeyError</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;object </span><span class="si">{</span><span class="nb">id</span><span class="si">}</span><span class="s2"> not found in </span><span class="si">{</span><span class="nb">list</span><span class="p">(</span><span class="n">id_to_entity</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>


<div class="viewcode-block" id="clear_entity_model_ids"><a class="viewcode-back" href="../../user/reference/api.html#ibek.ioc.clear_entity_model_ids">[docs]</a><span class="k">def</span> <span class="nf">clear_entity_model_ids</span><span class="p">():</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Resets the global id_to_entity dict. Used for testing.&quot;&quot;&quot;</span>

Expand All @@ -499,33 +506,49 @@ <h1>Source code for ibek.ioc</h1><div class="highlight"><pre>
<span class="p">)</span>
<span class="n">__definition__</span><span class="p">:</span> <span class="n">Definition</span>

<div class="viewcode-block" id="Entity.add_ibek_attributes"><a class="viewcode-back" href="../../user/reference/api.html#ibek.ioc.Entity.add_ibek_attributes">[docs]</a> <span class="nd">@model_validator</span><span class="p">(</span><span class="n">mode</span><span class="o">=</span><span class="s2">&quot;after&quot;</span><span class="p">)</span> <span class="c1"># type: ignore</span>
<span class="k">def</span> <span class="nf">add_ibek_attributes</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">entity</span><span class="p">:</span> <span class="n">Entity</span><span class="p">):</span>
<div class="viewcode-block" id="Entity.add_ibek_attributes"><a class="viewcode-back" href="../../user/reference/api.html#ibek.ioc.Entity.add_ibek_attributes">[docs]</a> <span class="nd">@model_validator</span><span class="p">(</span><span class="n">mode</span><span class="o">=</span><span class="s2">&quot;after&quot;</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">add_ibek_attributes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Whole Entity model validation</span>
<span class="sd"> &quot;&quot;&quot;</span>

<span class="c1"># find the id field in this Entity if it has one</span>
<span class="n">ids</span> <span class="o">=</span> <span class="p">{</span><span class="n">a</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">entity</span><span class="o">.</span><span class="n">__definition__</span><span class="o">.</span><span class="n">args</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">IdArg</span><span class="p">)}</span>
<span class="n">ids</span> <span class="o">=</span> <span class="p">{</span><span class="n">a</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">__definition__</span><span class="o">.</span><span class="n">args</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">IdArg</span><span class="p">)}</span>

<span class="n">entity_dict</span> <span class="o">=</span> <span class="n">entity</span><span class="o">.</span><span class="n">model_dump</span><span class="p">()</span>
<span class="n">entity_dict</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model_dump</span><span class="p">()</span>
<span class="k">for</span> <span class="n">arg</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">entity_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
<span class="c1"># Jinja expansion of any of the Entity&#39;s string args/values</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">UTILS</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">entity_dict</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
<span class="nb">setattr</span><span class="p">(</span><span class="n">entity</span><span class="p">,</span> <span class="n">arg</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
<span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">arg</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>

<span class="k">if</span> <span class="n">arg</span> <span class="ow">in</span> <span class="n">ids</span><span class="p">:</span>
<span class="c1"># add this entity to the global id index</span>
<span class="k">if</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">id_to_entity</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;Duplicate id </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2"> in </span><span class="si">{</span><span class="nb">list</span><span class="p">(</span><span class="n">id_to_entity</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="n">id_to_entity</span><span class="p">[</span><span class="n">value</span><span class="p">]</span> <span class="o">=</span> <span class="n">entity</span>
<span class="k">return</span> <span class="n">entity</span></div>
<span class="n">id_to_entity</span><span class="p">[</span><span class="n">value</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span>
<span class="k">return</span> <span class="bp">self</span></div>

<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c1"># if this entity has an id then its string representation is the value of id</span>
<span class="n">id_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__definition__</span><span class="o">.</span><span class="n">_get_id_arg</span><span class="p">()</span>
<span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">id_name</span><span class="p">)</span> <span class="k">if</span> <span class="n">id_name</span> <span class="k">else</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__str__</span><span class="p">()</span></div>
<span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">id_name</span><span class="p">)</span> <span class="k">if</span> <span class="n">id_name</span> <span class="k">else</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__str__</span><span class="p">()</span>

<div class="viewcode-block" id="Entity.check_objects"><a class="viewcode-back" href="../../user/reference/api.html#ibek.ioc.Entity.check_objects">[docs]</a> <span class="nd">@model_validator</span><span class="p">(</span><span class="n">mode</span><span class="o">=</span><span class="s2">&quot;after&quot;</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">check_objects</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Entity</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> If an object field was populated by a default value it will currently</span>
<span class="sd"> just be a string representation of the object. This function will convert</span>
<span class="sd"> that string into the actual object.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">model_fields_set</span><span class="p">:</span>
<span class="n">prop</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">field</span><span class="p">)</span>
<span class="n">model_field</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model_fields</span><span class="p">[</span><span class="n">field</span><span class="p">]</span>

<span class="k">if</span> <span class="n">model_field</span><span class="o">.</span><span class="n">annotation</span> <span class="o">==</span> <span class="nb">object</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">prop</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
<span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">field</span><span class="p">,</span> <span class="n">get_entity_by_id</span><span class="p">(</span><span class="n">prop</span><span class="p">))</span>
<span class="k">return</span> <span class="bp">self</span></div></div>


<div class="viewcode-block" id="IOC"><a class="viewcode-back" href="../../user/reference/api.html#ibek.ioc.IOC">[docs]</a><span class="k">class</span> <span class="nc">IOC</span><span class="p">(</span><span class="n">BaseSettings</span><span class="p">):</span>
Expand Down
2 changes: 1 addition & 1 deletion default-object/_modules/ibek/render.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ibek.render &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>ibek.render &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/_modules/ibek/support.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ibek.support &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>ibek.support &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/_modules/ibek/utils.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ibek.utils &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>ibek.utils &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/_modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Overview: module code &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/_static/documentation_options.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '2.0.3.dev6+ga6e9848f',
VERSION: '2.0.3.dev7+g7674437a',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/explanations/decisions.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Architectural Decision Records &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Architectural Decision Records &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>1. Record architecture decisions &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>1. Record architecture decisions &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>2. Adopt ibek for project structure &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>2. Adopt ibek for project structure &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
7 changes: 5 additions & 2 deletions default-object/developer/explanations/entities.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Modules, Definitions and Entities &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Modules, Definitions and Entities &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down Expand Up @@ -1242,9 +1242,12 @@ <h2>Schemas<a class="headerlink" href="#schemas" title="Permalink to this headin
<span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;array&quot;</span>
<span class="p">},</span>
<span class="s2">&quot;pvi&quot;</span><span class="p">:</span> <span class="p">{</span>
<span class="s2">&quot;allOf&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="s2">&quot;anyOf&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="s2">&quot;$ref&quot;</span><span class="p">:</span> <span class="s2">&quot;#/$defs/EntityPVI&quot;</span>
<span class="p">},</span>
<span class="p">{</span>
<span class="s2">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;null&quot;</span>
<span class="p">}</span>
<span class="p">],</span>
<span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">,</span>
Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/build-docs.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Build the docs using sphinx &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Build the docs using sphinx &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/contribute.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Contributing to the project &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Contributing to the project &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/lint.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Run linting using pre-commit &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Run linting using pre-commit &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/make-release.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Make a release &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Make a release &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/pin-requirements.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Pinning Requirements &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Pinning Requirements &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/run-tests.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Run the tests using pytest &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Run the tests using pytest &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/static-analysis.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Run static analysis using mypy &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Run static analysis using mypy &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
2 changes: 1 addition & 1 deletion default-object/developer/how-to/test-container.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

<title>Container Local Build and Test &#8212; ibek 2.0.3.dev6+ga6e9848f documentation</title>
<title>Container Local Build and Test &#8212; ibek 2.0.3.dev7+g7674437a documentation</title>



Expand Down
Loading

0 comments on commit f12f1c9

Please sign in to comment.