Documentation update
This commit is contained in:
134
docs/_static/_sphinx_javascript_frameworks_compat.js
vendored
134
docs/_static/_sphinx_javascript_frameworks_compat.js
vendored
@@ -1,134 +0,0 @@
|
|||||||
/*
|
|
||||||
* _sphinx_javascript_frameworks_compat.js
|
|
||||||
* ~~~~~~~~~~
|
|
||||||
*
|
|
||||||
* Compatability shim for jQuery and underscores.js.
|
|
||||||
*
|
|
||||||
* WILL BE REMOVED IN Sphinx 6.0
|
|
||||||
* xref RemovedInSphinx60Warning
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* select a different prefix for underscore
|
|
||||||
*/
|
|
||||||
$u = _.noConflict();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* small helper function to urldecode strings
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
|
|
||||||
*/
|
|
||||||
jQuery.urldecode = function(x) {
|
|
||||||
if (!x) {
|
|
||||||
return x
|
|
||||||
}
|
|
||||||
return decodeURIComponent(x.replace(/\+/g, ' '));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* small helper function to urlencode strings
|
|
||||||
*/
|
|
||||||
jQuery.urlencode = encodeURIComponent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This function returns the parsed url parameters of the
|
|
||||||
* current request. Multiple values per key are supported,
|
|
||||||
* it will always return arrays of strings for the value parts.
|
|
||||||
*/
|
|
||||||
jQuery.getQueryParameters = function(s) {
|
|
||||||
if (typeof s === 'undefined')
|
|
||||||
s = document.location.search;
|
|
||||||
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
|
||||||
var result = {};
|
|
||||||
for (var i = 0; i < parts.length; i++) {
|
|
||||||
var tmp = parts[i].split('=', 2);
|
|
||||||
var key = jQuery.urldecode(tmp[0]);
|
|
||||||
var value = jQuery.urldecode(tmp[1]);
|
|
||||||
if (key in result)
|
|
||||||
result[key].push(value);
|
|
||||||
else
|
|
||||||
result[key] = [value];
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* highlight a given string on a jquery object by wrapping it in
|
|
||||||
* span elements with the given class name.
|
|
||||||
*/
|
|
||||||
jQuery.fn.highlightText = function(text, className) {
|
|
||||||
function highlight(node, addItems) {
|
|
||||||
if (node.nodeType === 3) {
|
|
||||||
var val = node.nodeValue;
|
|
||||||
var pos = val.toLowerCase().indexOf(text);
|
|
||||||
if (pos >= 0 &&
|
|
||||||
!jQuery(node.parentNode).hasClass(className) &&
|
|
||||||
!jQuery(node.parentNode).hasClass("nohighlight")) {
|
|
||||||
var span;
|
|
||||||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
|
|
||||||
if (isInSVG) {
|
|
||||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
|
||||||
} else {
|
|
||||||
span = document.createElement("span");
|
|
||||||
span.className = className;
|
|
||||||
}
|
|
||||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
|
||||||
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
|
||||||
document.createTextNode(val.substr(pos + text.length)),
|
|
||||||
node.nextSibling));
|
|
||||||
node.nodeValue = val.substr(0, pos);
|
|
||||||
if (isInSVG) {
|
|
||||||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
||||||
var bbox = node.parentElement.getBBox();
|
|
||||||
rect.x.baseVal.value = bbox.x;
|
|
||||||
rect.y.baseVal.value = bbox.y;
|
|
||||||
rect.width.baseVal.value = bbox.width;
|
|
||||||
rect.height.baseVal.value = bbox.height;
|
|
||||||
rect.setAttribute('class', className);
|
|
||||||
addItems.push({
|
|
||||||
"parent": node.parentNode,
|
|
||||||
"target": rect});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!jQuery(node).is("button, select, textarea")) {
|
|
||||||
jQuery.each(node.childNodes, function() {
|
|
||||||
highlight(this, addItems);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var addItems = [];
|
|
||||||
var result = this.each(function() {
|
|
||||||
highlight(this, addItems);
|
|
||||||
});
|
|
||||||
for (var i = 0; i < addItems.length; ++i) {
|
|
||||||
jQuery(addItems[i].parent).before(addItems[i].target);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* backward compatibility for jQuery.browser
|
|
||||||
* This will be supported until firefox bug is fixed.
|
|
||||||
*/
|
|
||||||
if (!jQuery.browser) {
|
|
||||||
jQuery.uaMatch = function(ua) {
|
|
||||||
ua = ua.toLowerCase();
|
|
||||||
|
|
||||||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(msie) ([\w.]+)/.exec(ua) ||
|
|
||||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
|
||||||
[];
|
|
||||||
|
|
||||||
return {
|
|
||||||
browser: match[ 1 ] || "",
|
|
||||||
version: match[ 2 ] || "0"
|
|
||||||
};
|
|
||||||
};
|
|
||||||
jQuery.browser = {};
|
|
||||||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
|
|
||||||
}
|
|
||||||
5
docs/_static/basic.css
vendored
5
docs/_static/basic.css
vendored
@@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Sphinx stylesheet -- basic theme.
|
* Sphinx stylesheet -- basic theme.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -324,6 +324,7 @@ aside.sidebar {
|
|||||||
p.sidebar-title {
|
p.sidebar-title {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav.contents,
|
nav.contents,
|
||||||
aside.topic,
|
aside.topic,
|
||||||
div.admonition, div.topic, blockquote {
|
div.admonition, div.topic, blockquote {
|
||||||
@@ -331,6 +332,7 @@ div.admonition, div.topic, blockquote {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -- topics ---------------------------------------------------------------- */
|
/* -- topics ---------------------------------------------------------------- */
|
||||||
|
|
||||||
nav.contents,
|
nav.contents,
|
||||||
aside.topic,
|
aside.topic,
|
||||||
div.topic {
|
div.topic {
|
||||||
@@ -606,6 +608,7 @@ ol.simple p,
|
|||||||
ul.simple p {
|
ul.simple p {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
aside.footnote > span,
|
aside.footnote > span,
|
||||||
div.citation > span {
|
div.citation > span {
|
||||||
float: left;
|
float: left;
|
||||||
|
|||||||
2
docs/_static/doctools.js
vendored
2
docs/_static/doctools.js
vendored
@@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Base JavaScript utilities for all Sphinx HTML documentation.
|
* Base JavaScript utilities for all Sphinx HTML documentation.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
10881
docs/_static/jquery-3.6.0.js
vendored
10881
docs/_static/jquery-3.6.0.js
vendored
File diff suppressed because it is too large
Load Diff
2
docs/_static/jquery.js
vendored
2
docs/_static/jquery.js
vendored
File diff suppressed because one or more lines are too long
2
docs/_static/language_data.js
vendored
2
docs/_static/language_data.js
vendored
@@ -5,7 +5,7 @@
|
|||||||
* This script contains the language-specific data used by searchtools.js,
|
* This script contains the language-specific data used by searchtools.js,
|
||||||
* namely the list of stopwords, stemmer, scorer and splitter.
|
* namely the list of stopwords, stemmer, scorer and splitter.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
2
docs/_static/searchtools.js
vendored
2
docs/_static/searchtools.js
vendored
@@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Sphinx JavaScript utilities for the full-text search.
|
* Sphinx JavaScript utilities for the full-text search.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
2042
docs/_static/underscore-1.13.1.js
vendored
2042
docs/_static/underscore-1.13.1.js
vendored
File diff suppressed because it is too large
Load Diff
6
docs/_static/underscore.js
vendored
6
docs/_static/underscore.js
vendored
File diff suppressed because one or more lines are too long
@@ -11,9 +11,6 @@
|
|||||||
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
||||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
<link rel="index" title="Index" href="#" />
|
<link rel="index" title="Index" href="#" />
|
||||||
@@ -471,7 +468,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="footer" role="contentinfo">
|
<div class="footer" role="contentinfo">
|
||||||
© Copyright 2022, Ross Stewart.
|
© Copyright 2022, Ross Stewart.
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -12,9 +12,6 @@
|
|||||||
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
||||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
@@ -298,28 +295,28 @@ accessible.</p>
|
|||||||
</li>
|
</li>
|
||||||
<li><p>Create a directory for the web service</p></li>
|
<li><p>Create a directory for the web service</p></li>
|
||||||
<li><p>Change to the directory and clone the repository from GitHub</p>
|
<li><p>Change to the directory and clone the repository from GitHub</p>
|
||||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> directory
|
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>directory
|
||||||
git clone https://github.com/rosskouk/asknavidrome.git
|
git<span class="w"> </span>clone<span class="w"> </span>https://github.com/rosskouk/asknavidrome.git
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><p>Change directory to the skill folder</p>
|
<li><p>Change directory to the skill folder</p>
|
||||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> asknavidrome/skill
|
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>asknavidrome/skill
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><p>Start the skill by setting the required environment variables and executing the application
|
<li><p>Start the skill by setting the required environment variables and executing the application
|
||||||
you can find details of what each option does in the <em>configuration</em> section.</p>
|
you can find details of what each option does in the <em>configuration</em> section.</p>
|
||||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id> <span class="se">\</span>
|
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id><span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span> <span class="se">\</span>
|
<span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span><span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test <span class="se">\</span>
|
<span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test<span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_USER</span><span class="o">=</span><username> <span class="se">\</span>
|
<span class="nv">NAVI_USER</span><span class="o">=</span><username><span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_PASS</span><span class="o">=</span><password> <span class="se">\</span>
|
<span class="nv">NAVI_PASS</span><span class="o">=</span><password><span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span> <span class="se">\</span>
|
<span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span><span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest <span class="se">\</span>
|
<span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest<span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1 <span class="se">\</span>
|
<span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1<span class="w"> </span><span class="se">\</span>
|
||||||
<span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span> <span class="se">\</span>
|
<span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span><span class="w"> </span><span class="se">\</span>
|
||||||
python3 app.py
|
python3<span class="w"> </span>app.py
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@@ -330,16 +327,16 @@ python3 app.py
|
|||||||
<p>A Dockerfile has been provided and a prebuilt container is hosted on github.com. <strong>Please note that the prebuilt container was created on an amd64 platform</strong>. If you
|
<p>A Dockerfile has been provided and a prebuilt container is hosted on github.com. <strong>Please note that the prebuilt container was created on an amd64 platform</strong>. If you
|
||||||
require a different architecture such as arm for a Raspberry Pi, you will need to build a new image using the Dockerfile provided with the repository.</p>
|
require a different architecture such as arm for a Raspberry Pi, you will need to build a new image using the Dockerfile provided with the repository.</p>
|
||||||
<p>You can configure the service by passing environment variables to the <em>docker run</em> command.</p>
|
<p>You can configure the service by passing environment variables to the <em>docker run</em> command.</p>
|
||||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -p <span class="m">5000</span>:5000 <span class="se">\</span>
|
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>run<span class="w"> </span>-p<span class="w"> </span><span class="m">5000</span>:5000<span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id> <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id><span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span> <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span><span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test<span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_USER</span><span class="o">=</span><username> <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_USER</span><span class="o">=</span><username><span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_PASS</span><span class="o">=</span><password> <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_PASS</span><span class="o">=</span><password><span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span> <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span><span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest<span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1 <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1<span class="w"> </span><span class="se">\</span>
|
||||||
-e <span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span> <span class="se">\</span>
|
-e<span class="w"> </span><span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span><span class="w"> </span><span class="se">\</span>
|
||||||
ghcr.io/rosskouk/asknavidrome:<tag>
|
ghcr.io/rosskouk/asknavidrome:<tag>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -470,11 +467,11 @@ will be <strong>publicly</strong> available while this is enabled.</p></li>
|
|||||||
<h3>Known Issues<a class="headerlink" href="#known-issues" title="Permalink to this heading">¶</a></h3>
|
<h3>Known Issues<a class="headerlink" href="#known-issues" title="Permalink to this heading">¶</a></h3>
|
||||||
<ol class="arabic">
|
<ol class="arabic">
|
||||||
<li><p>The skill appears to work but no music is played. Errors similar to below appear in the web service log</p>
|
<li><p>The skill appears to work but no music is played. Errors similar to below appear in the web service log</p>
|
||||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="m">2022</span>-11-19 <span class="m">13</span>:16:45,478 - root - DEBUG - In PlaybackFailedHandler
|
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:45,478<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>DEBUG<span class="w"> </span>-<span class="w"> </span>In<span class="w"> </span>PlaybackFailedHandler
|
||||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:45,479 - root - ERROR - Playback Failed: <span class="o">{</span><span class="s1">'message'</span>: <span class="s1">'Device playback error'</span>, <span class="s1">'object_type'</span>: <span class="s1">'MEDIA_ERROR_UNKNOWN'</span><span class="o">}</span>
|
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:45,479<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>ERROR<span class="w"> </span>-<span class="w"> </span>Playback<span class="w"> </span>Failed:<span class="w"> </span><span class="o">{</span><span class="s1">'message'</span>:<span class="w"> </span><span class="s1">'Device playback error'</span>,<span class="w"> </span><span class="s1">'object_type'</span>:<span class="w"> </span><span class="s1">'MEDIA_ERROR_UNKNOWN'</span><span class="o">}</span>
|
||||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:45,480 - werkzeug - INFO - <span class="m">10</span>.44.17.62 - - <span class="o">[</span><span class="m">19</span>/Nov/2022 <span class="m">13</span>:16:45<span class="o">]</span> <span class="s2">"POST / HTTP/1.1"</span> <span class="m">200</span> -
|
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:45,480<span class="w"> </span>-<span class="w"> </span>werkzeug<span class="w"> </span>-<span class="w"> </span>INFO<span class="w"> </span>-<span class="w"> </span><span class="m">10</span>.44.17.62<span class="w"> </span>-<span class="w"> </span>-<span class="w"> </span><span class="o">[</span><span class="m">19</span>/Nov/2022<span class="w"> </span><span class="m">13</span>:16:45<span class="o">]</span><span class="w"> </span><span class="s2">"POST / HTTP/1.1"</span><span class="w"> </span><span class="m">200</span><span class="w"> </span>-
|
||||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:48,599 - root - DEBUG - In PlaybackFailedHandler
|
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:48,599<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>DEBUG<span class="w"> </span>-<span class="w"> </span>In<span class="w"> </span>PlaybackFailedHandler
|
||||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:48,600 - root - ERROR - Playback Failed: <span class="o">{</span><span class="s1">'message'</span>: <span class="s1">'Device playback error'</span>,<span class="s1">'object_type'</span>: <span class="s1">'MEDIA_ERROR_INTERNAL_DEVICE_ERROR'</span><span class="o">}</span>
|
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:48,600<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>ERROR<span class="w"> </span>-<span class="w"> </span>Playback<span class="w"> </span>Failed:<span class="w"> </span><span class="o">{</span><span class="s1">'message'</span>:<span class="w"> </span><span class="s1">'Device playback error'</span>,<span class="s1">'object_type'</span>:<span class="w"> </span><span class="s1">'MEDIA_ERROR_INTERNAL_DEVICE_ERROR'</span><span class="o">}</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
@@ -483,7 +480,7 @@ Disconnect the power for a minute and plug it back in then try again and music s
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><p>The following error is displayed when you try to run the Docker container</p>
|
<li><p>The following error is displayed when you try to run the Docker container</p>
|
||||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">exec</span> /opt/env/bin/python3: <span class="nb">exec</span> format error
|
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">exec</span><span class="w"> </span>/opt/env/bin/python3:<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>format<span class="w"> </span>error
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
@@ -2164,7 +2161,7 @@ during dispatch.</p>
|
|||||||
</table>
|
</table>
|
||||||
<dl class="py function">
|
<dl class="py function">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.controller.add_screen_background">
|
<dt class="sig sig-object py" id="asknavidrome.controller.add_screen_background">
|
||||||
<span class="sig-prename descclassname"><span class="pre">asknavidrome.controller.</span></span><span class="sig-name descname"><span class="pre">add_screen_background</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">card_data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">AudioItemMetadata</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.controller.add_screen_background" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-prename descclassname"><span class="pre">asknavidrome.controller.</span></span><span class="sig-name descname"><span class="pre">add_screen_background</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">card_data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">AudioItemMetadata</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.controller.add_screen_background" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Add background to card.</p>
|
<dd><p>Add background to card.</p>
|
||||||
<p>Cards are viewable on devices with screens and in the Alexa
|
<p>Cards are viewable on devices with screens and in the Alexa
|
||||||
app.</p>
|
app.</p>
|
||||||
@@ -2584,7 +2581,7 @@ queue.</p>
|
|||||||
|
|
||||||
<dl class="py method">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list">
|
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list">
|
||||||
<span class="sig-name descname"><span class="pre">build_random_song_list</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">build_random_song_list</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Build a shuffled list of random songs</p>
|
<dd><p>Build a shuffled list of random songs</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
@@ -2623,7 +2620,7 @@ until song_count is greater than of equal to length</p>
|
|||||||
|
|
||||||
<dl class="py method">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites">
|
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites">
|
||||||
<span class="sig-name descname"><span class="pre">build_song_list_from_favourites</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">build_song_list_from_favourites</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Build a shuffled list favourite songs</p>
|
<dd><p>Build a shuffled list favourite songs</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||||
@@ -2637,7 +2634,7 @@ until song_count is greater than of equal to length</p>
|
|||||||
|
|
||||||
<dl class="py method">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre">
|
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre">
|
||||||
<span class="sig-name descname"><span class="pre">build_song_list_from_genre</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">genre</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">build_song_list_from_genre</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">genre</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Build a shuffled list songs of songs from the given genre.</p>
|
<dd><p>Build a shuffled list songs of songs from the given genre.</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
@@ -2726,7 +2723,7 @@ is working</p>
|
|||||||
|
|
||||||
<dl class="py method">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_album">
|
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_album">
|
||||||
<span class="sig-name descname"><span class="pre">search_album</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_album" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">search_album</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_album" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Search the media server for the given album</p>
|
<dd><p>Search the media server for the given album</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
@@ -2743,7 +2740,7 @@ is working</p>
|
|||||||
|
|
||||||
<dl class="py method">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_artist">
|
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_artist">
|
||||||
<span class="sig-name descname"><span class="pre">search_artist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_artist" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">search_artist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_artist" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Search the media server for the given artist</p>
|
<dd><p>Search the media server for the given artist</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
@@ -2760,7 +2757,7 @@ is working</p>
|
|||||||
|
|
||||||
<dl class="py method">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_playlist">
|
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_playlist">
|
||||||
<span class="sig-name descname"><span class="pre">search_playlist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_playlist" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">search_playlist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_playlist" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Search the media server for the given playlist</p>
|
<dd><p>Search the media server for the given playlist</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
@@ -2777,7 +2774,7 @@ is working</p>
|
|||||||
|
|
||||||
<dl class="py method">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_song">
|
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_song">
|
||||||
<span class="sig-name descname"><span class="pre">search_song</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_song" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">search_song</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_song" title="Permalink to this definition">¶</a></dt>
|
||||||
<dd><p>Search the media server for the given song</p>
|
<dd><p>Search the media server for the given song</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
@@ -3130,7 +3127,7 @@ is working</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="footer" role="contentinfo">
|
<div class="footer" role="contentinfo">
|
||||||
© Copyright 2022, Ross Stewart.
|
© Copyright 2022, Ross Stewart.
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -11,9 +11,6 @@
|
|||||||
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
||||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
@@ -106,7 +103,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="footer" role="contentinfo">
|
<div class="footer" role="contentinfo">
|
||||||
© Copyright 2022, Ross Stewart.
|
© Copyright 2022, Ross Stewart.
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -12,9 +12,6 @@
|
|||||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
<script src="_static/searchtools.js"></script>
|
<script src="_static/searchtools.js"></script>
|
||||||
@@ -100,7 +97,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="footer" role="contentinfo">
|
<div class="footer" role="contentinfo">
|
||||||
© Copyright 2022, Ross Stewart.
|
© Copyright 2022, Ross Stewart.
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user