Mixonomer/src/music.html
2022-11-09 22:26:00 +00:00

432 lines
47 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<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>Flask Backend &#8212; Mixonomer documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
<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/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="music.api" href="music.api.html" />
<link rel="prev" title="Mixonomer" href="../index.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="flask-backend">
<h1>Flask Backend<a class="headerlink" href="#flask-backend" title="Permalink to this heading"></a></h1>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="music.api.html">music.api</a><ul>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api">Module contents</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.admin">api.admin</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.admin.get_tasks"><code class="docutils literal notranslate"><span class="pre">get_tasks()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.api">api.api</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.all_playlists_route"><code class="docutils literal notranslate"><span class="pre">all_playlists_route()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.all_users_route"><code class="docutils literal notranslate"><span class="pre">all_users_route()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.change_password"><code class="docutils literal notranslate"><span class="pre">change_password()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.image"><code class="docutils literal notranslate"><span class="pre">image()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.playlist_get_delete_route"><code class="docutils literal notranslate"><span class="pre">playlist_get_delete_route()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.playlist_post_put_route"><code class="docutils literal notranslate"><span class="pre">playlist_post_put_route()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.run_playlist"><code class="docutils literal notranslate"><span class="pre">run_playlist()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.run_playlist_task"><code class="docutils literal notranslate"><span class="pre">run_playlist_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.run_user"><code class="docutils literal notranslate"><span class="pre">run_user()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.run_user_task"><code class="docutils literal notranslate"><span class="pre">run_user_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.run_users"><code class="docutils literal notranslate"><span class="pre">run_users()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.user_delete_route"><code class="docutils literal notranslate"><span class="pre">user_delete_route()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.api.user_route"><code class="docutils literal notranslate"><span class="pre">user_route()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.decorators">api.decorators</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.admin_required"><code class="docutils literal notranslate"><span class="pre">admin_required()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.check_dict"><code class="docutils literal notranslate"><span class="pre">check_dict()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.cloud_task"><code class="docutils literal notranslate"><span class="pre">cloud_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.gae_cron"><code class="docutils literal notranslate"><span class="pre">gae_cron()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.is_basic_authed"><code class="docutils literal notranslate"><span class="pre">is_basic_authed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.is_jwt_authed"><code class="docutils literal notranslate"><span class="pre">is_jwt_authed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.is_logged_in"><code class="docutils literal notranslate"><span class="pre">is_logged_in()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.jwt_required"><code class="docutils literal notranslate"><span class="pre">jwt_required()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.lastfm_username_required"><code class="docutils literal notranslate"><span class="pre">lastfm_username_required()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.login_or_basic_auth"><code class="docutils literal notranslate"><span class="pre">login_or_basic_auth()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.login_or_jwt"><code class="docutils literal notranslate"><span class="pre">login_or_jwt()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.login_required"><code class="docutils literal notranslate"><span class="pre">login_required()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.no_cache"><code class="docutils literal notranslate"><span class="pre">no_cache()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.no_locked_users"><code class="docutils literal notranslate"><span class="pre">no_locked_users()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.spotify_link_required"><code class="docutils literal notranslate"><span class="pre">spotify_link_required()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.validate_args"><code class="docutils literal notranslate"><span class="pre">validate_args()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.decorators.validate_json"><code class="docutils literal notranslate"><span class="pre">validate_json()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.fm">api.fm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.fm.daily_scrobbles"><code class="docutils literal notranslate"><span class="pre">daily_scrobbles()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.player">api.player</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.player.next_track"><code class="docutils literal notranslate"><span class="pre">next_track()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.player.play"><code class="docutils literal notranslate"><span class="pre">play()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.player.shuffle"><code class="docutils literal notranslate"><span class="pre">shuffle()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.player.volume"><code class="docutils literal notranslate"><span class="pre">volume()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.spotfm">api.spotfm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.count"><code class="docutils literal notranslate"><span class="pre">count()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.playlist_refresh"><code class="docutils literal notranslate"><span class="pre">playlist_refresh()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.run_playlist_album_task"><code class="docutils literal notranslate"><span class="pre">run_playlist_album_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.run_playlist_artist_task"><code class="docutils literal notranslate"><span class="pre">run_playlist_artist_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.run_playlist_track_task"><code class="docutils literal notranslate"><span class="pre">run_playlist_track_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.run_user"><code class="docutils literal notranslate"><span class="pre">run_user()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.run_user_task"><code class="docutils literal notranslate"><span class="pre">run_user_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotfm.run_users"><code class="docutils literal notranslate"><span class="pre">run_users()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.spotify">api.spotify</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.spotify.sort"><code class="docutils literal notranslate"><span class="pre">sort()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.api.html#module-music.api.tag">api.tag</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.delete_tag"><code class="docutils literal notranslate"><span class="pre">delete_tag()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.get_tag"><code class="docutils literal notranslate"><span class="pre">get_tag()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.post_tag"><code class="docutils literal notranslate"><span class="pre">post_tag()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.put_tag"><code class="docutils literal notranslate"><span class="pre">put_tag()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.run_tag_task"><code class="docutils literal notranslate"><span class="pre">run_tag_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.tag_refresh"><code class="docutils literal notranslate"><span class="pre">tag_refresh()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.tag_route"><code class="docutils literal notranslate"><span class="pre">tag_route()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.api.html#music.api.tag.tags"><code class="docutils literal notranslate"><span class="pre">tags()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="music.auth.html">music.auth</a><ul>
<li class="toctree-l2"><a class="reference internal" href="music.auth.html#module-music.auth">Module contents</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.auth.html#module-music.auth.auth">auth.auth</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.auth.html#music.auth.auth.auth"><code class="docutils literal notranslate"><span class="pre">auth()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.auth.html#music.auth.auth.deauth"><code class="docutils literal notranslate"><span class="pre">deauth()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.auth.html#music.auth.auth.jwt_token"><code class="docutils literal notranslate"><span class="pre">jwt_token()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.auth.html#music.auth.auth.login"><code class="docutils literal notranslate"><span class="pre">login()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.auth.html#music.auth.auth.logout"><code class="docutils literal notranslate"><span class="pre">logout()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.auth.html#music.auth.auth.register"><code class="docutils literal notranslate"><span class="pre">register()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.auth.html#music.auth.auth.token"><code class="docutils literal notranslate"><span class="pre">token()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="music.cloud.html">music.cloud</a><ul>
<li class="toctree-l2"><a class="reference internal" href="music.cloud.html#module-music.cloud">Module contents</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.offload_or_run_user_playlist"><code class="docutils literal notranslate"><span class="pre">offload_or_run_user_playlist()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.queue_run_user_playlist"><code class="docutils literal notranslate"><span class="pre">queue_run_user_playlist()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.cloud.html#module-music.cloud.function">cloud.function</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.function.run_user_playlist_function"><code class="docutils literal notranslate"><span class="pre">run_user_playlist_function()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.function.update_tag"><code class="docutils literal notranslate"><span class="pre">update_tag()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.cloud.html#module-music.cloud.tasks">cloud.tasks</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.refresh_all_user_playlist_stats"><code class="docutils literal notranslate"><span class="pre">refresh_all_user_playlist_stats()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.refresh_playlist_task"><code class="docutils literal notranslate"><span class="pre">refresh_playlist_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.refresh_user_playlist_stats"><code class="docutils literal notranslate"><span class="pre">refresh_user_playlist_stats()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.refresh_user_stats_task"><code class="docutils literal notranslate"><span class="pre">refresh_user_stats_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.run_user_playlist_task"><code class="docutils literal notranslate"><span class="pre">run_user_playlist_task()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.update_all_user_playlists"><code class="docutils literal notranslate"><span class="pre">update_all_user_playlists()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.update_all_user_tags"><code class="docutils literal notranslate"><span class="pre">update_all_user_tags()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.cloud.html#music.cloud.tasks.update_playlists"><code class="docutils literal notranslate"><span class="pre">update_playlists()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="music.db.html">music.db</a><ul>
<li class="toctree-l2"><a class="reference internal" href="music.db.html#module-music.db">Module contents</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.db.html#module-music.db.database">db.database</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.db.html#music.db.database.DatabaseUser"><code class="docutils literal notranslate"><span class="pre">DatabaseUser</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="music.db.html#music.db.database.DatabaseUser.user_id"><code class="docutils literal notranslate"><span class="pre">DatabaseUser.user_id</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="music.db.html#music.db.database.get_authed_lastfm_network"><code class="docutils literal notranslate"><span class="pre">get_authed_lastfm_network()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.db.html#music.db.database.get_authed_spotify_network"><code class="docutils literal notranslate"><span class="pre">get_authed_spotify_network()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.db.html#music.db.database.refresh_token_database_callback"><code class="docutils literal notranslate"><span class="pre">refresh_token_database_callback()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.db.html#module-music.db.part_generator">db.part_generator</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.db.html#music.db.part_generator.PartGenerator"><code class="docutils literal notranslate"><span class="pre">PartGenerator</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="music.db.html#music.db.part_generator.PartGenerator.get_recursive_parts"><code class="docutils literal notranslate"><span class="pre">PartGenerator.get_recursive_parts()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.db.html#music.db.part_generator.PartGenerator.process_reference_by_name"><code class="docutils literal notranslate"><span class="pre">PartGenerator.process_reference_by_name()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.db.html#music.db.part_generator.PartGenerator.process_reference_by_reference"><code class="docutils literal notranslate"><span class="pre">PartGenerator.process_reference_by_reference()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.db.html#music.db.part_generator.PartGenerator.reset"><code class="docutils literal notranslate"><span class="pre">PartGenerator.reset()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="music.model.html">music.model</a><ul>
<li class="toctree-l2"><a class="reference internal" href="music.model.html#module-music.model">Module contents</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.model.html#module-music.model.config">model.config</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.model.html#music.model.config.Config"><code class="docutils literal notranslate"><span class="pre">Config</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.Meta"><code class="docutils literal notranslate"><span class="pre">Config.Meta</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.collection"><code class="docutils literal notranslate"><span class="pre">Config.collection</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.collection_name"><code class="docutils literal notranslate"><span class="pre">Config.collection_name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.jwt_default_length"><code class="docutils literal notranslate"><span class="pre">Config.jwt_default_length</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.jwt_max_length"><code class="docutils literal notranslate"><span class="pre">Config.jwt_max_length</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.jwt_secret_key"><code class="docutils literal notranslate"><span class="pre">Config.jwt_secret_key</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.last_fm_client_id"><code class="docutils literal notranslate"><span class="pre">Config.last_fm_client_id</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.playlist_cloud_operating_mode"><code class="docutils literal notranslate"><span class="pre">Config.playlist_cloud_operating_mode</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.secret_key"><code class="docutils literal notranslate"><span class="pre">Config.secret_key</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.spotify_client_id"><code class="docutils literal notranslate"><span class="pre">Config.spotify_client_id</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.config.Config.spotify_client_secret"><code class="docutils literal notranslate"><span class="pre">Config.spotify_client_secret</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.model.html#module-music.model.playlist">model.playlist</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist"><code class="docutils literal notranslate"><span class="pre">Playlist</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.Meta"><code class="docutils literal notranslate"><span class="pre">Playlist.Meta</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.add_last_month"><code class="docutils literal notranslate"><span class="pre">Playlist.add_last_month</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.add_this_month"><code class="docutils literal notranslate"><span class="pre">Playlist.add_this_month</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.chart_limit"><code class="docutils literal notranslate"><span class="pre">Playlist.chart_limit</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.chart_range"><code class="docutils literal notranslate"><span class="pre">Playlist.chart_range</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.collection"><code class="docutils literal notranslate"><span class="pre">Playlist.collection</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.collection_name"><code class="docutils literal notranslate"><span class="pre">Playlist.collection_name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.day_boundary"><code class="docutils literal notranslate"><span class="pre">Playlist.day_boundary</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.description_overwrite"><code class="docutils literal notranslate"><span class="pre">Playlist.description_overwrite</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.description_suffix"><code class="docutils literal notranslate"><span class="pre">Playlist.description_suffix</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.include_library_tracks"><code class="docutils literal notranslate"><span class="pre">Playlist.include_library_tracks</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.include_recommendations"><code class="docutils literal notranslate"><span class="pre">Playlist.include_recommendations</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.include_spotify_owned"><code class="docutils literal notranslate"><span class="pre">Playlist.include_spotify_owned</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.last_updated"><code class="docutils literal notranslate"><span class="pre">Playlist.last_updated</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.lastfm_stat_album_count"><code class="docutils literal notranslate"><span class="pre">Playlist.lastfm_stat_album_count</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.lastfm_stat_album_percent"><code class="docutils literal notranslate"><span class="pre">Playlist.lastfm_stat_album_percent</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.lastfm_stat_artist_count"><code class="docutils literal notranslate"><span class="pre">Playlist.lastfm_stat_artist_count</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.lastfm_stat_artist_percent"><code class="docutils literal notranslate"><span class="pre">Playlist.lastfm_stat_artist_percent</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.lastfm_stat_count"><code class="docutils literal notranslate"><span class="pre">Playlist.lastfm_stat_count</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.lastfm_stat_last_refresh"><code class="docutils literal notranslate"><span class="pre">Playlist.lastfm_stat_last_refresh</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.lastfm_stat_percent"><code class="docutils literal notranslate"><span class="pre">Playlist.lastfm_stat_percent</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.mutable_keys"><code class="docutils literal notranslate"><span class="pre">Playlist.mutable_keys</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.name"><code class="docutils literal notranslate"><span class="pre">Playlist.name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.parts"><code class="docutils literal notranslate"><span class="pre">Playlist.parts</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.playlist_references"><code class="docutils literal notranslate"><span class="pre">Playlist.playlist_references</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.recommendation_sample"><code class="docutils literal notranslate"><span class="pre">Playlist.recommendation_sample</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.shuffle"><code class="docutils literal notranslate"><span class="pre">Playlist.shuffle</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.sort"><code class="docutils literal notranslate"><span class="pre">Playlist.sort</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.to_dict"><code class="docutils literal notranslate"><span class="pre">Playlist.to_dict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.type"><code class="docutils literal notranslate"><span class="pre">Playlist.type</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Playlist.uri"><code class="docutils literal notranslate"><span class="pre">Playlist.uri</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="music.model.html#music.model.playlist.Sort"><code class="docutils literal notranslate"><span class="pre">Sort</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Sort.default"><code class="docutils literal notranslate"><span class="pre">Sort.default</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Sort.release_date"><code class="docutils literal notranslate"><span class="pre">Sort.release_date</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.playlist.Sort.shuffle"><code class="docutils literal notranslate"><span class="pre">Sort.shuffle</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.model.html#module-music.model.tag">model.tag</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.model.html#music.model.tag.Tag"><code class="docutils literal notranslate"><span class="pre">Tag</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.Meta"><code class="docutils literal notranslate"><span class="pre">Tag.Meta</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.albums"><code class="docutils literal notranslate"><span class="pre">Tag.albums</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.artists"><code class="docutils literal notranslate"><span class="pre">Tag.artists</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.collection"><code class="docutils literal notranslate"><span class="pre">Tag.collection</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.collection_name"><code class="docutils literal notranslate"><span class="pre">Tag.collection_name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.count"><code class="docutils literal notranslate"><span class="pre">Tag.count</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.last_updated"><code class="docutils literal notranslate"><span class="pre">Tag.last_updated</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.name"><code class="docutils literal notranslate"><span class="pre">Tag.name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.proportion"><code class="docutils literal notranslate"><span class="pre">Tag.proportion</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.tag_id"><code class="docutils literal notranslate"><span class="pre">Tag.tag_id</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.time_objects"><code class="docutils literal notranslate"><span class="pre">Tag.time_objects</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.to_dict"><code class="docutils literal notranslate"><span class="pre">Tag.to_dict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.total_time"><code class="docutils literal notranslate"><span class="pre">Tag.total_time</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.total_time_ms"><code class="docutils literal notranslate"><span class="pre">Tag.total_time_ms</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.total_user_scrobbles"><code class="docutils literal notranslate"><span class="pre">Tag.total_user_scrobbles</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.tracks"><code class="docutils literal notranslate"><span class="pre">Tag.tracks</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.tag.Tag.username"><code class="docutils literal notranslate"><span class="pre">Tag.username</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.model.html#module-music.model.user">model.user</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.model.html#music.model.user.User"><code class="docutils literal notranslate"><span class="pre">User</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.Meta"><code class="docutils literal notranslate"><span class="pre">User.Meta</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.access_token"><code class="docutils literal notranslate"><span class="pre">User.access_token</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.check_password"><code class="docutils literal notranslate"><span class="pre">User.check_password()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.collection"><code class="docutils literal notranslate"><span class="pre">User.collection</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.collection_name"><code class="docutils literal notranslate"><span class="pre">User.collection_name</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.email"><code class="docutils literal notranslate"><span class="pre">User.email</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.get_playlist"><code class="docutils literal notranslate"><span class="pre">User.get_playlist()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.get_playlists"><code class="docutils literal notranslate"><span class="pre">User.get_playlists()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.last_keygen"><code class="docutils literal notranslate"><span class="pre">User.last_keygen</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.last_login"><code class="docutils literal notranslate"><span class="pre">User.last_login</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.last_refreshed"><code class="docutils literal notranslate"><span class="pre">User.last_refreshed</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.lastfm_username"><code class="docutils literal notranslate"><span class="pre">User.lastfm_username</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.locked"><code class="docutils literal notranslate"><span class="pre">User.locked</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.password"><code class="docutils literal notranslate"><span class="pre">User.password</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.refresh_token"><code class="docutils literal notranslate"><span class="pre">User.refresh_token</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.spotify_linked"><code class="docutils literal notranslate"><span class="pre">User.spotify_linked</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.to_dict"><code class="docutils literal notranslate"><span class="pre">User.to_dict()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.token_expiry"><code class="docutils literal notranslate"><span class="pre">User.token_expiry</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.type"><code class="docutils literal notranslate"><span class="pre">User.type</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.username"><code class="docutils literal notranslate"><span class="pre">User.username</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="music.model.html#music.model.user.User.validated"><code class="docutils literal notranslate"><span class="pre">User.validated</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="music.tasks.html">music.tasks</a><ul>
<li class="toctree-l2"><a class="reference internal" href="music.tasks.html#module-music.tasks">Module contents</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.tasks.html#module-music.tasks.create_playlist">tasks.create_playlist</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.tasks.html#music.tasks.create_playlist.create_playlist"><code class="docutils literal notranslate"><span class="pre">create_playlist()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.tasks.html#module-music.tasks.refresh_lastfm_stats">tasks.refresh_lastfm_stats</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.tasks.html#music.tasks.refresh_lastfm_stats.refresh_lastfm_album_stats"><code class="docutils literal notranslate"><span class="pre">refresh_lastfm_album_stats()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.tasks.html#music.tasks.refresh_lastfm_stats.refresh_lastfm_artist_stats"><code class="docutils literal notranslate"><span class="pre">refresh_lastfm_artist_stats()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="music.tasks.html#music.tasks.refresh_lastfm_stats.refresh_lastfm_track_stats"><code class="docutils literal notranslate"><span class="pre">refresh_lastfm_track_stats()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.tasks.html#module-music.tasks.run_user_playlist">tasks.run_user_playlist</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.tasks.html#music.tasks.run_user_playlist.run_user_playlist"><code class="docutils literal notranslate"><span class="pre">run_user_playlist()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="music.tasks.html#module-music.tasks.update_tag">tasks.update_tag</a><ul>
<li class="toctree-l3"><a class="reference internal" href="music.tasks.html#music.tasks.update_tag.update_tag"><code class="docutils literal notranslate"><span class="pre">update_tag()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<section id="module-music">
<span id="music-root-module"></span><h2>music Root Module<a class="headerlink" href="#module-music" title="Permalink to this heading"></a></h2>
<p>Root module containing Mixonomer backend</p>
<p>Top level module with functions for creating app with loaded blueprints and initialising the logging stack</p>
<dl class="py function">
<dt class="sig sig-object py" id="music.init_log">
<span class="sig-prename descclassname"><span class="pre">music.</span></span><span class="sig-name descname"><span class="pre">init_log</span></span><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>
<span class="target" id="module-music.music"></span><dl class="py function">
<dt class="sig sig-object py" id="music.music.create_app">
<span class="sig-prename descclassname"><span class="pre">music.music.</span></span><span class="sig-name descname"><span class="pre">create_app</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#music.music.create_app" title="Permalink to this definition"></a></dt>
<dd><p>Generate and retrieve a ready-to-run flask app</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>Mixonomer app</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p>Flask App</p>
</dd>
</dl>
</dd></dl>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="../index.html">Mixonomer</a></h1>
<h3>Navigation</h3>
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Py</a><ul>
<li class="toctree-l2"><a class="reference internal" href="music.api.html">music.api</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.auth.html">music.auth</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.cloud.html">music.cloud</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.db.html">music.db</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.model.html">music.model</a></li>
<li class="toctree-l2"><a class="reference internal" href="music.tasks.html">music.tasks</a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-music">music Root Module</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="admin.html">Admin Script</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">All Modules</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Flask Backend</a></li>
</ul>
</li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="../index.html">Documentation overview</a><ul>
<li>Previous: <a href="../index.html" title="previous chapter">Mixonomer</a></li>
<li>Next: <a href="music.api.html" title="next chapter">music.api</a></li>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&copy;2021, Sarsoo.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
<a href="../_sources/src/music.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>