This commit is contained in:
Sarsoo 2021-04-04 18:52:28 +00:00
parent 76544ee65c
commit c3ccc21bf2
22 changed files with 113 additions and 104 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -827,7 +827,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="src/modules.html">Modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="src/music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>Music Tools &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
@ -31,10 +32,10 @@
<div class="body" role="main">
<div class="section" id="music-tools">
<section id="music-tools">
<h1>Music Tools<a class="headerlink" href="#music-tools" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="src/modules.html">Modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="src/music.html">music</a></li>
@ -46,21 +47,21 @@
<li class="toctree-l1"><a class="reference internal" href="src/music.tasks.html">music.tasks</a></li>
</ul>
</div>
<div class="section" id="id2">
<section id="id2">
<h2><a class="reference external" href="https://music.sarsoo.xyz">Music Tools</a><a class="headerlink" href="#id2" title="Permalink to this headline"></a></h2>
<img alt="https://github.com/sarsoo/music-tools/workflows/test%20and%20deploy/badge.svg" src="https://github.com/sarsoo/music-tools/workflows/test%20and%20deploy/badge.svg" /><p>Music Tools is a web app for creating smart Spotify playlists. The app is based on <a class="reference external" href="https://github.com/Sarsoo/spotframework">spotframework</a> and <a class="reference external" href="https://github.com/Sarsoo/pyfmframework">fmframework</a> for interfacing with Spotify and Last.fm. The app is currently hosted on Googles Cloud Platform.</p>
<p>The system is composed of a Flask web server with a Fireo ORM layer and longer tasks dispatched to Cloud Tasks or Functions.</p>
<img alt="_images/Playlists.png" src="_images/Playlists.png" />
</div>
</div>
<div class="section" id="indices-and-tables">
</section>
</section>
<section id="indices-and-tables">
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
</ul>
</div>
</section>
</div>
@ -79,7 +80,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="src/modules.html">Modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="src/music.html">music</a></li>

View File

@ -209,7 +209,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="src/modules.html">Modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="src/music.html">music</a></li>

View File

@ -74,7 +74,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="src/modules.html">Modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="src/music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -32,7 +33,7 @@
<div class="body" role="main">
<div class="section" id="music">
<section id="music">
<h1>music<a class="headerlink" href="#music" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<ul>
@ -91,7 +92,7 @@
</li>
</ul>
</div>
</div>
</section>
</div>
@ -110,7 +111,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music.api &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -32,21 +33,21 @@
<div class="body" role="main">
<div class="section" id="music-api">
<section id="music-api">
<h1>music.api<a class="headerlink" href="#music-api" title="Permalink to this headline"></a></h1>
<div class="section" id="module-music.api">
<section id="module-music.api">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-music.api" title="Permalink to this headline"></a></h2>
<p>Flask blueprints for loading the app endpoints</p>
</div>
<div class="section" id="module-music.api.admin">
</section>
<section id="module-music.api.admin">
<span id="api-admin"></span><h2>api.admin<a class="headerlink" href="#module-music.api.admin" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.admin.get_tasks">
<code class="sig-prename descclassname"><span class="pre">music.api.admin.</span></code><code class="sig-name descname"><span class="pre">get_tasks</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.admin.get_tasks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.api.api">
</section>
<section id="module-music.api.api">
<span id="api-api"></span><h2>api.api<a class="headerlink" href="#module-music.api.api" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.api.all_playlists_route">
@ -120,8 +121,8 @@
<code class="sig-prename descclassname"><span class="pre">music.api.api.</span></code><code class="sig-name descname"><span class="pre">user_route</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.api.user_route" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.api.decorators">
</section>
<section id="module-music.api.decorators">
<span id="api-decorators"></span><h2>api.decorators<a class="headerlink" href="#module-music.api.decorators" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.decorators.admin_required">
@ -183,16 +184,16 @@
<code class="sig-prename descclassname"><span class="pre">music.api.decorators.</span></code><code class="sig-name descname"><span class="pre">validate_json</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">expected_args</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.decorators.validate_json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.api.fm">
</section>
<section id="module-music.api.fm">
<span id="api-fm"></span><h2>api.fm<a class="headerlink" href="#module-music.api.fm" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.fm.daily_scrobbles">
<code class="sig-prename descclassname"><span class="pre">music.api.fm.</span></code><code class="sig-name descname"><span class="pre">daily_scrobbles</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.fm.daily_scrobbles" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.api.player">
</section>
<section id="module-music.api.player">
<span id="api-player"></span><h2>api.player<a class="headerlink" href="#module-music.api.player" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.player.next_track">
@ -214,8 +215,8 @@
<code class="sig-prename descclassname"><span class="pre">music.api.player.</span></code><code class="sig-name descname"><span class="pre">volume</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.player.volume" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.api.spotfm">
</section>
<section id="module-music.api.spotfm">
<span id="api-spotfm"></span><h2>api.spotfm<a class="headerlink" href="#module-music.api.spotfm" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.spotfm.count">
@ -257,16 +258,16 @@
<code class="sig-prename descclassname"><span class="pre">music.api.spotfm.</span></code><code class="sig-name descname"><span class="pre">run_users</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.spotfm.run_users" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.api.spotify">
</section>
<section id="module-music.api.spotify">
<span id="api-spotify"></span><h2>api.spotify<a class="headerlink" href="#module-music.api.spotify" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.spotify.sort">
<code class="sig-prename descclassname"><span class="pre">music.api.spotify.</span></code><code class="sig-name descname"><span class="pre">sort</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.spotify.sort" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.api.tag">
</section>
<section id="module-music.api.tag">
<span id="api-tag"></span><h2>api.tag<a class="headerlink" href="#module-music.api.tag" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.api.tag.delete_tag">
@ -308,8 +309,8 @@
<code class="sig-prename descclassname"><span class="pre">music.api.tag.</span></code><code class="sig-name descname"><span class="pre">tags</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.api.tag.tags" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
</div>
</section>
</section>
</div>
@ -328,7 +329,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Modules</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music.auth &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -32,13 +33,13 @@
<div class="body" role="main">
<div class="section" id="music-auth">
<section id="music-auth">
<h1>music.auth<a class="headerlink" href="#music-auth" title="Permalink to this headline"></a></h1>
<div class="section" id="module-music.auth">
<section id="module-music.auth">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-music.auth" title="Permalink to this headline"></a></h2>
<p>Security related endpoints including login/logout and reset password</p>
</div>
<div class="section" id="module-music.auth.auth">
</section>
<section id="module-music.auth.auth">
<span id="auth-auth"></span><h2>auth.auth<a class="headerlink" href="#module-music.auth.auth" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.auth.auth.auth">
@ -79,8 +80,8 @@
<code class="sig-prename descclassname"><span class="pre">music.auth.auth.</span></code><code class="sig-name descname"><span class="pre">token</span></code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#music.auth.auth.token" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
</div>
</section>
</section>
</div>
@ -99,7 +100,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Modules</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music.cloud &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -32,9 +33,9 @@
<div class="body" role="main">
<div class="section" id="music-cloud">
<section id="music-cloud">
<h1>music.cloud<a class="headerlink" href="#music-cloud" title="Permalink to this headline"></a></h1>
<div class="section" id="module-music.cloud">
<section id="module-music.cloud">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-music.cloud" title="Permalink to this headline"></a></h2>
<p>Infrastucture code include handing off tasks to Cloud Tasks or Cloud Functions</p>
<dl class="py function">
@ -47,8 +48,8 @@
<code class="sig-prename descclassname"><span class="pre">music.cloud.</span></code><code class="sig-name descname"><span class="pre">queue_run_user_playlist</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">username</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">playlist_name</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.cloud.queue_run_user_playlist" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.cloud.function">
</section>
<section id="module-music.cloud.function">
<span id="cloud-function"></span><h2>cloud.function<a class="headerlink" href="#module-music.cloud.function" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.cloud.function.run_user_playlist_function">
@ -78,8 +79,8 @@
</dl>
</dd></dl>
</div>
<div class="section" id="module-music.cloud.tasks">
</section>
<section id="module-music.cloud.tasks">
<span id="cloud-tasks"></span><h2>cloud.tasks<a class="headerlink" href="#module-music.cloud.tasks" title="Permalink to this headline"></a></h2>
<p>Functions for creating GCP Cloud Tasks for long running operatings</p>
<dl class="py function">
@ -166,8 +167,8 @@
</dl>
</dd></dl>
</div>
</div>
</section>
</section>
</div>
@ -186,7 +187,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Modules</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music.db &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -32,13 +33,13 @@
<div class="body" role="main">
<div class="section" id="music-db">
<section id="music-db">
<h1>music.db<a class="headerlink" href="#music-db" title="Permalink to this headline"></a></h1>
<div class="section" id="module-music.db">
<section id="module-music.db">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-music.db" title="Permalink to this headline"></a></h2>
<p>Database interfacing components aside from the music.model ORM layer</p>
</div>
<div class="section" id="module-music.db.database">
</section>
<section id="module-music.db.database">
<span id="db-database"></span><h2>db.database<a class="headerlink" href="#module-music.db.database" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="music.db.database.DatabaseUser">
@ -98,8 +99,8 @@
</dl>
</dd></dl>
</div>
<div class="section" id="module-music.db.part_generator">
</section>
<section id="module-music.db.part_generator">
<span id="db-part-generator"></span><h2>db.part_generator<a class="headerlink" href="#module-music.db.part_generator" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="music.db.part_generator.PartGenerator">
@ -153,8 +154,8 @@
</dd></dl>
</div>
</div>
</section>
</section>
</div>
@ -173,7 +174,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Modules</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -32,9 +33,9 @@
<div class="body" role="main">
<div class="section" id="music">
<section id="music">
<h1>music<a class="headerlink" href="#music" title="Permalink to this headline"></a></h1>
<div class="section" id="subpackages">
<section id="subpackages">
<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
@ -85,8 +86,8 @@
</li>
</ul>
</div>
</div>
<div class="section" id="module-music">
</section>
<section id="module-music">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-music" title="Permalink to this headline"></a></h2>
<p>Root module containing Music Tools backend</p>
<p>Top level module with functions for creating app with loaded blueprints and initialising the logging stack</p>
@ -95,8 +96,8 @@
<code class="sig-prename descclassname"><span class="pre">music.</span></code><code class="sig-name descname"><span class="pre">init_log</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cloud</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">console</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.init_log" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.music">
</section>
<section id="module-music.music">
<span id="music-music-module"></span><h2>music.music module<a class="headerlink" href="#module-music.music" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.music.create_app">
@ -112,8 +113,8 @@
</dl>
</dd></dl>
</div>
</div>
</section>
</section>
</div>
@ -132,7 +133,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Modules</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music.model &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -32,13 +33,13 @@
<div class="body" role="main">
<div class="section" id="music-model">
<section id="music-model">
<h1>music.model<a class="headerlink" href="#music-model" title="Permalink to this headline"></a></h1>
<div class="section" id="module-music.model">
<section id="module-music.model">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-music.model" title="Permalink to this headline"></a></h2>
<p>ORM layer containing the data model</p>
</div>
<div class="section" id="module-music.model.config">
</section>
<section id="module-music.model.config">
<span id="model-config"></span><h2>model.config<a class="headerlink" href="#module-music.model.config" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="music.model.config.Config">
@ -95,8 +96,8 @@
</dd></dl>
</div>
<div class="section" id="module-music.model.playlist">
</section>
<section id="module-music.model.playlist">
<span id="model-playlist"></span><h2>model.playlist<a class="headerlink" href="#module-music.model.playlist" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="music.model.playlist.Playlist">
@ -295,8 +296,8 @@
</dd></dl>
</div>
<div class="section" id="module-music.model.tag">
</section>
<section id="module-music.model.tag">
<span id="model-tag"></span><h2>model.tag<a class="headerlink" href="#module-music.model.tag" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="music.model.tag.Tag">
@ -396,8 +397,8 @@
</dd></dl>
</div>
<div class="section" id="module-music.model.user">
</section>
<section id="module-music.model.user">
<span id="model-user"></span><h2>model.user<a class="headerlink" href="#module-music.model.user" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="music.model.user.User">
@ -502,8 +503,8 @@
</dd></dl>
</div>
</div>
</section>
</section>
</div>
@ -522,7 +523,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Modules</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="music.html">music</a></li>

View File

@ -4,7 +4,8 @@
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" />
<title>music.tasks &#8212; Music Tools documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
@ -31,13 +32,13 @@
<div class="body" role="main">
<div class="section" id="music-tasks">
<section id="music-tasks">
<h1>music.tasks<a class="headerlink" href="#music-tasks" title="Permalink to this headline"></a></h1>
<div class="section" id="module-music.tasks">
<section id="module-music.tasks">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-music.tasks" title="Permalink to this headline"></a></h2>
<p>Long running operations of the app including playlist generation and tag update functions</p>
</div>
<div class="section" id="module-music.tasks.create_playlist">
</section>
<section id="module-music.tasks.create_playlist">
<span id="tasks-create-playlist"></span><h2>tasks.create_playlist<a class="headerlink" href="#module-music.tasks.create_playlist" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.tasks.create_playlist.create_playlist">
@ -60,8 +61,8 @@
</dl>
</dd></dl>
</div>
<div class="section" id="module-music.tasks.refresh_lastfm_stats">
</section>
<section id="module-music.tasks.refresh_lastfm_stats">
<span id="tasks-refresh-lastfm-stats"></span><h2>tasks.refresh_lastfm_stats<a class="headerlink" href="#module-music.tasks.refresh_lastfm_stats" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.tasks.refresh_lastfm_stats.refresh_lastfm_album_stats">
@ -78,8 +79,8 @@
<code class="sig-prename descclassname"><span class="pre">music.tasks.refresh_lastfm_stats.</span></code><code class="sig-name descname"><span class="pre">refresh_lastfm_track_stats</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">username</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">playlist_name</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.tasks.refresh_lastfm_stats.refresh_lastfm_track_stats" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-music.tasks.run_user_playlist">
</section>
<section id="module-music.tasks.run_user_playlist">
<span id="tasks-run-user-playlist"></span><h2>tasks.run_user_playlist<a class="headerlink" href="#module-music.tasks.run_user_playlist" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.tasks.run_user_playlist.run_user_playlist">
@ -112,16 +113,16 @@
</dl>
</dd></dl>
</div>
<div class="section" id="module-music.tasks.update_tag">
</section>
<section id="module-music.tasks.update_tag">
<span id="tasks-update-tag"></span><h2>tasks.update_tag<a class="headerlink" href="#module-music.tasks.update_tag" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="music.tasks.update_tag.update_tag">
<code class="sig-prename descclassname"><span class="pre">music.tasks.update_tag.</span></code><code class="sig-name descname"><span class="pre">update_tag</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tag</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">spotnet</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fmnet</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#music.tasks.update_tag.update_tag" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
</div>
</section>
</section>
</div>
@ -140,7 +141,7 @@
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<p><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Modules</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="music.html">music</a></li>