diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle
index 729e0e5..4cf08c8 100644
Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ
diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree
index 9c96ac6..79b4f39 100644
Binary files a/.doctrees/index.doctree and b/.doctrees/index.doctree differ
diff --git a/.doctrees/src/MusicTools.Admin.doctree b/.doctrees/src/MusicTools.Admin.doctree
index 162108b..f5f324d 100644
Binary files a/.doctrees/src/MusicTools.Admin.doctree and b/.doctrees/src/MusicTools.Admin.doctree differ
diff --git a/.doctrees/src/MusicTools.Maths.doctree b/.doctrees/src/MusicTools.Maths.doctree
index 156150e..cf673ce 100644
Binary files a/.doctrees/src/MusicTools.Maths.doctree and b/.doctrees/src/MusicTools.Maths.doctree differ
diff --git a/.doctrees/src/MusicTools.Playlist.doctree b/.doctrees/src/MusicTools.Playlist.doctree
index ca19a00..f85b6c4 100644
Binary files a/.doctrees/src/MusicTools.Playlist.doctree and b/.doctrees/src/MusicTools.Playlist.doctree differ
diff --git a/.doctrees/src/MusicTools.Settings.doctree b/.doctrees/src/MusicTools.Settings.doctree
index 3698ccd..429c552 100644
Binary files a/.doctrees/src/MusicTools.Settings.doctree and b/.doctrees/src/MusicTools.Settings.doctree differ
diff --git a/.doctrees/src/MusicTools.Tag.doctree b/.doctrees/src/MusicTools.Tag.doctree
index 94a4f57..f25f303 100644
Binary files a/.doctrees/src/MusicTools.Tag.doctree and b/.doctrees/src/MusicTools.Tag.doctree differ
diff --git a/.doctrees/src/MusicTools.doctree b/.doctrees/src/MusicTools.doctree
index 424f039..d1a368b 100644
Binary files a/.doctrees/src/MusicTools.doctree and b/.doctrees/src/MusicTools.doctree differ
diff --git a/.doctrees/src/admin.doctree b/.doctrees/src/admin.doctree
index 7243f24..4f11794 100644
Binary files a/.doctrees/src/admin.doctree and b/.doctrees/src/admin.doctree differ
diff --git a/.doctrees/src/modules.doctree b/.doctrees/src/modules.doctree
index 016f7c2..79ec7d2 100644
Binary files a/.doctrees/src/modules.doctree and b/.doctrees/src/modules.doctree differ
diff --git a/.doctrees/src/music.api.doctree b/.doctrees/src/music.api.doctree
index cdc1edf..c42ecee 100644
Binary files a/.doctrees/src/music.api.doctree and b/.doctrees/src/music.api.doctree differ
diff --git a/.doctrees/src/music.auth.doctree b/.doctrees/src/music.auth.doctree
index d794161..e6fcab9 100644
Binary files a/.doctrees/src/music.auth.doctree and b/.doctrees/src/music.auth.doctree differ
diff --git a/.doctrees/src/music.cloud.doctree b/.doctrees/src/music.cloud.doctree
index 93efd1e..6248a69 100644
Binary files a/.doctrees/src/music.cloud.doctree and b/.doctrees/src/music.cloud.doctree differ
diff --git a/.doctrees/src/music.db.doctree b/.doctrees/src/music.db.doctree
index e04bcea..8864b50 100644
Binary files a/.doctrees/src/music.db.doctree and b/.doctrees/src/music.db.doctree differ
diff --git a/.doctrees/src/music.doctree b/.doctrees/src/music.doctree
index 5688104..b45e1a2 100644
Binary files a/.doctrees/src/music.doctree and b/.doctrees/src/music.doctree differ
diff --git a/.doctrees/src/music.model.doctree b/.doctrees/src/music.model.doctree
index 982db1d..20e604a 100644
Binary files a/.doctrees/src/music.model.doctree and b/.doctrees/src/music.model.doctree differ
diff --git a/.doctrees/src/music.tasks.doctree b/.doctrees/src/music.tasks.doctree
index 9093d5d..aa0f6fa 100644
Binary files a/.doctrees/src/music.tasks.doctree and b/.doctrees/src/music.tasks.doctree differ
diff --git a/_static/basic.css b/_static/basic.css
index be19270..b3bdc00 100644
--- a/_static/basic.css
+++ b/_static/basic.css
@@ -277,25 +277,25 @@ p.rubric {
font-weight: bold;
}
-img.align-left, .figure.align-left, object.align-left {
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
clear: left;
float: left;
margin-right: 1em;
}
-img.align-right, .figure.align-right, object.align-right {
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
clear: right;
float: right;
margin-left: 1em;
}
-img.align-center, .figure.align-center, object.align-center {
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
-img.align-default, .figure.align-default {
+img.align-default, figure.align-default, .figure.align-default {
display: block;
margin-left: auto;
margin-right: auto;
@@ -319,7 +319,8 @@ img.align-default, .figure.align-default {
/* -- sidebars -------------------------------------------------------------- */
-div.sidebar {
+div.sidebar,
+aside.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
padding: 7px;
@@ -377,12 +378,14 @@ div.body p.centered {
/* -- content of sidebars/topics/admonitions -------------------------------- */
div.sidebar > :last-child,
+aside.sidebar > :last-child,
div.topic > :last-child,
div.admonition > :last-child {
margin-bottom: 0;
}
div.sidebar::after,
+aside.sidebar::after,
div.topic::after,
div.admonition::after,
blockquote::after {
@@ -455,20 +458,22 @@ td > :last-child {
/* -- figures --------------------------------------------------------------- */
-div.figure {
+div.figure, figure {
margin: 0.5em;
padding: 0.5em;
}
-div.figure p.caption {
+div.figure p.caption, figcaption {
padding: 0.3em;
}
-div.figure p.caption span.caption-number {
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
font-style: italic;
}
-div.figure p.caption span.caption-text {
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
}
/* -- field list styles ----------------------------------------------------- */
diff --git a/genindex.html b/genindex.html
index 7a84064..4fc85b2 100644
--- a/genindex.html
+++ b/genindex.html
@@ -1108,7 +1108,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -1149,7 +1149,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
diff --git a/index.html b/index.html
index b9c609f..dcf5db7 100644
--- a/index.html
+++ b/index.html
@@ -4,8 +4,7 @@
-
-
+
Music Tools — Music Tools documentation
@@ -32,10 +31,10 @@
@@ -96,7 +95,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -138,7 +137,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/py-modindex.html b/py-modindex.html
index 7e82a92..fc4cc27 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -218,7 +218,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -259,7 +259,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
diff --git a/search.html b/search.html
index 67ee2ae..3b4025c 100644
--- a/search.html
+++ b/search.html
@@ -74,7 +74,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -105,7 +105,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
diff --git a/searchindex.js b/searchindex.js
index 56be501..d970ea0 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["index","src/MusicTools","src/MusicTools.Admin","src/MusicTools.Maths","src/MusicTools.Playlist","src/MusicTools.Settings","src/MusicTools.Tag","src/admin","src/modules","src/music","src/music.api","src/music.auth","src/music.cloud","src/music.db","src/music.model","src/music.tasks"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["index.rst","src/MusicTools.rst","src/MusicTools.Admin.rst","src/MusicTools.Maths.rst","src/MusicTools.Playlist.rst","src/MusicTools.Settings.rst","src/MusicTools.Tag.rst","src/admin.rst","src/modules.rst","src/music.rst","src/music.api.rst","src/music.auth.rst","src/music.cloud.rst","src/music.db.rst","src/music.model.rst","src/music.tasks.rst"],objects:{"":{Admin:[2,0,1,""],AuthButton:[5,1,1,""],BarChart:[3,0,1,""],ChangePassword:[5,0,1,""],Count:[4,0,1,""],DeAuthButton:[5,1,1,""],Edit:[4,0,1,""],Functions:[2,0,1,""],LastFM:[5,0,1,""],Lock:[2,0,1,""],MusicTools:[1,0,1,""],NewPlaylist:[4,0,1,""],NewTag:[6,0,1,""],PieChart:[3,0,1,""],PlaylistCard:[4,0,1,""],PlaylistGrid:[4,0,1,""],Playlists:[4,0,1,""],PlaylistsView:[4,0,1,""],ReferenceEntry:[4,1,1,""],Row:[2,1,1,""],Settings:[5,0,1,""],SpotifyLink:[5,0,1,""],TagCard:[6,1,1,""],TagGrid:[6,1,1,""],TagList:[6,0,1,""],TagRouter:[6,0,1,""],TagView:[6,0,1,""],TaskType:[2,1,1,""],Tasks:[2,0,1,""],admin:[7,3,0,"-"],getPlaylistLink:[4,1,1,""],getTagLink:[6,1,1,""],music:[9,3,0,"-"]},"PlaylistRouter.View":{handleChange:[4,1,1,""]},"admin.Admin":{compile_frontend:[7,5,1,""],copy_main_file:[7,5,1,""],deploy_function:[7,5,1,""],do_app:[7,5,1,""],do_cron_functions:[7,5,1,""],do_docs:[7,5,1,""],do_exit:[7,5,1,""],do_main_group:[7,5,1,""],do_playlist:[7,5,1,""],do_playlist_cron:[7,5,1,""],do_playlist_stats_cron:[7,5,1,""],do_prepare_local_stage:[7,5,1,""],do_pydepend:[7,5,1,""],do_rename:[7,5,1,""],do_run:[7,5,1,""],do_sass:[7,5,1,""],do_set_project:[7,5,1,""],do_tag:[7,5,1,""],do_tags_cron:[7,5,1,""],do_test:[7,5,1,""],do_watchsass:[7,5,1,""],export_filtered_dependencies:[7,5,1,""],function_deploy:[7,5,1,""],intro:[7,6,1,""],locals:[7,6,1,""],prompt:[7,6,1,""]},"music.api":{admin:[10,3,0,"-"],api:[10,3,0,"-"],decorators:[10,3,0,"-"],fm:[10,3,0,"-"],player:[10,3,0,"-"],spotfm:[10,3,0,"-"],spotify:[10,3,0,"-"],tag:[10,3,0,"-"]},"music.api.admin":{get_tasks:[10,7,1,""]},"music.api.api":{all_playlists_route:[10,7,1,""],all_users_route:[10,7,1,""],change_password:[10,7,1,""],image:[10,7,1,""],playlist_get_delete_route:[10,7,1,""],playlist_post_put_route:[10,7,1,""],run_playlist:[10,7,1,""],run_playlist_task:[10,7,1,""],run_user:[10,7,1,""],run_user_task:[10,7,1,""],run_users:[10,7,1,""],user_route:[10,7,1,""]},"music.api.decorators":{admin_required:[10,7,1,""],check_dict:[10,7,1,""],cloud_task:[10,7,1,""],gae_cron:[10,7,1,""],is_basic_authed:[10,7,1,""],is_logged_in:[10,7,1,""],lastfm_username_required:[10,7,1,""],login_or_basic_auth:[10,7,1,""],login_required:[10,7,1,""],spotify_link_required:[10,7,1,""],validate_args:[10,7,1,""],validate_json:[10,7,1,""]},"music.api.fm":{daily_scrobbles:[10,7,1,""]},"music.api.player":{next_track:[10,7,1,""],play:[10,7,1,""],shuffle:[10,7,1,""],volume:[10,7,1,""]},"music.api.spotfm":{count:[10,7,1,""],playlist_refresh:[10,7,1,""],run_playlist_album_task:[10,7,1,""],run_playlist_artist_task:[10,7,1,""],run_playlist_track_task:[10,7,1,""],run_user:[10,7,1,""],run_user_task:[10,7,1,""],run_users:[10,7,1,""]},"music.api.spotify":{sort:[10,7,1,""]},"music.api.tag":{delete_tag:[10,7,1,""],get_tag:[10,7,1,""],post_tag:[10,7,1,""],put_tag:[10,7,1,""],run_tag_task:[10,7,1,""],tag_refresh:[10,7,1,""],tag_route:[10,7,1,""],tags:[10,7,1,""]},"music.auth":{auth:[11,3,0,"-"]},"music.auth.auth":{auth:[11,7,1,""],deauth:[11,7,1,""],login:[11,7,1,""],logout:[11,7,1,""],register:[11,7,1,""],token:[11,7,1,""]},"music.cloud":{"function":[12,3,0,"-"],offload_or_run_user_playlist:[12,7,1,""],queue_run_user_playlist:[12,7,1,""],tasks:[12,3,0,"-"]},"music.cloud.function":{run_user_playlist_function:[12,7,1,""],update_tag:[12,7,1,""]},"music.cloud.tasks":{refresh_all_user_playlist_stats:[12,7,1,""],refresh_playlist_task:[12,7,1,""],refresh_user_playlist_stats:[12,7,1,""],refresh_user_stats_task:[12,7,1,""],run_user_playlist_task:[12,7,1,""],update_all_user_playlists:[12,7,1,""],update_all_user_tags:[12,7,1,""],update_playlists:[12,7,1,""]},"music.db":{database:[13,3,0,"-"],part_generator:[13,3,0,"-"]},"music.db.database":{DatabaseUser:[13,4,1,""],get_authed_lastfm_network:[13,7,1,""],get_authed_spotify_network:[13,7,1,""],refresh_token_database_callback:[13,7,1,""]},"music.db.database.DatabaseUser":{user_id:[13,6,1,""]},"music.db.part_generator":{PartGenerator:[13,4,1,""]},"music.db.part_generator.PartGenerator":{get_recursive_parts:[13,5,1,""],process_reference_by_name:[13,5,1,""],process_reference_by_reference:[13,5,1,""],reset:[13,5,1,""]},"music.model":{config:[14,3,0,"-"],playlist:[14,3,0,"-"],tag:[14,3,0,"-"],user:[14,3,0,"-"]},"music.model.config":{Config:[14,4,1,""]},"music.model.config.Config":{Meta:[14,4,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],last_fm_client_id:[14,6,1,""],playlist_cloud_operating_mode:[14,6,1,""],secret_key:[14,6,1,""],spotify_client_id:[14,6,1,""],spotify_client_secret:[14,6,1,""]},"music.model.config.Config.Meta":{collection_name:[14,6,1,""]},"music.model.playlist":{Playlist:[14,4,1,""],Sort:[14,4,1,""]},"music.model.playlist.Playlist":{Meta:[14,4,1,""],add_last_month:[14,6,1,""],add_this_month:[14,6,1,""],chart_limit:[14,6,1,""],chart_range:[14,6,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],day_boundary:[14,6,1,""],description_overwrite:[14,6,1,""],description_suffix:[14,6,1,""],include_library_tracks:[14,6,1,""],include_recommendations:[14,6,1,""],last_updated:[14,6,1,""],lastfm_stat_album_count:[14,6,1,""],lastfm_stat_album_percent:[14,6,1,""],lastfm_stat_artist_count:[14,6,1,""],lastfm_stat_artist_percent:[14,6,1,""],lastfm_stat_count:[14,6,1,""],lastfm_stat_last_refresh:[14,6,1,""],lastfm_stat_percent:[14,6,1,""],mutable_keys:[14,6,1,""],name:[14,6,1,""],parts:[14,6,1,""],playlist_references:[14,6,1,""],recommendation_sample:[14,6,1,""],shuffle:[14,6,1,""],sort:[14,6,1,""],to_dict:[14,5,1,""],type:[14,6,1,""],uri:[14,6,1,""]},"music.model.playlist.Playlist.Meta":{collection_name:[14,6,1,""]},"music.model.playlist.Sort":{"default":[14,6,1,""],release_date:[14,6,1,""],shuffle:[14,6,1,""]},"music.model.tag":{Tag:[14,4,1,""]},"music.model.tag.Tag":{Meta:[14,4,1,""],albums:[14,6,1,""],artists:[14,6,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],count:[14,6,1,""],last_updated:[14,6,1,""],name:[14,6,1,""],proportion:[14,6,1,""],tag_id:[14,6,1,""],time_objects:[14,6,1,""],to_dict:[14,5,1,""],total_time:[14,6,1,""],total_time_ms:[14,6,1,""],total_user_scrobbles:[14,6,1,""],tracks:[14,6,1,""],username:[14,6,1,""]},"music.model.tag.Tag.Meta":{collection_name:[14,6,1,""]},"music.model.user":{User:[14,4,1,""]},"music.model.user.User":{Meta:[14,4,1,""],access_token:[14,6,1,""],check_password:[14,5,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],email:[14,6,1,""],get_playlist:[14,5,1,""],last_login:[14,6,1,""],last_refreshed:[14,6,1,""],lastfm_username:[14,6,1,""],locked:[14,6,1,""],password:[14,6,1,""],refresh_token:[14,6,1,""],spotify_linked:[14,6,1,""],to_dict:[14,5,1,""],token_expiry:[14,6,1,""],type:[14,6,1,""],username:[14,6,1,""],validated:[14,6,1,""]},"music.model.user.User.Meta":{collection_name:[14,6,1,""]},"music.music":{create_app:[9,7,1,""]},"music.tasks":{create_playlist:[15,3,0,"-"],refresh_lastfm_stats:[15,3,0,"-"],run_user_playlist:[15,3,0,"-"],update_tag:[15,3,0,"-"]},"music.tasks.create_playlist":{create_playlist:[15,7,1,""]},"music.tasks.refresh_lastfm_stats":{refresh_lastfm_album_stats:[15,7,1,""],refresh_lastfm_artist_stats:[15,7,1,""],refresh_lastfm_track_stats:[15,7,1,""]},"music.tasks.run_user_playlist":{run_user_playlist:[15,7,1,""]},"music.tasks.update_tag":{update_tag:[15,7,1,""]},Admin:{handleChange:[2,1,1,""]},BarChart:{componentDidMount:[3,1,1,""],componentDidUpdate:[3,1,1,""]},ChangePassword:{handleCurrentChange:[5,1,1,""],handleNew2Change:[5,1,1,""],handleNewChange:[5,1,1,""],handleSubmit:[5,1,1,""]},Count:{Count:[4,2,1,""],getUserInfo:[4,1,1,""],updateStats:[4,1,1,""]},Edit:{BlockGridItem:[4,1,1,""],Edit:[4,2,1,""],ListBlock:[4,1,1,""],componentDidMount:[4,1,1,""],getPlaylistInfo:[4,1,1,""],getPlaylists:[4,1,1,""],handleAddPart:[4,1,1,""],handleAddReference:[4,1,1,""],handleCheckChange:[4,1,1,""],handleInputChange:[4,1,1,""],handleRemovePart:[4,1,1,""],handleRemoveReference:[4,1,1,""],handleRun:[4,1,1,""],makeNetworkUpdate:[4,1,1,""]},Functions:{runAllUsers:[2,1,1,""],runStats:[2,1,1,""]},LastFM:{getUserInfo:[5,1,1,""],handleChange:[5,1,1,""],handleSubmit:[5,1,1,""]},Lock:{getUserInfo:[2,1,1,""],handleLock:[2,1,1,""]},MusicTools:{componentDidMount:[1,1,1,""],componentWillUnmount:[1,1,1,""],getUserInfo:[1,1,1,""],setOpen:[1,1,1,""]},NewPlaylist:{componentDidMount:[4,1,1,""],handleInputChange:[4,1,1,""],handleSubmit:[4,1,1,""],setDescription:[4,1,1,""]},NewTag:{handleInputChange:[6,1,1,""],handleSubmit:[6,1,1,""]},PieChart:{componentDidMount:[3,1,1,""],componentDidUpdate:[3,1,1,""]},PlaylistRouter:{View:[4,0,1,""]},PlaylistsView:{getPlaylists:[4,1,1,""],handleDeletePlaylist:[4,1,1,""],handleRunAll:[4,1,1,""],handleRunPlaylist:[4,1,1,""]},Settings:{handleChange:[5,1,1,""]},SpotifyLink:{getUserInfo:[5,1,1,""]},TagList:{getTags:[6,1,1,""],handleDeleteTag:[6,1,1,""]},TagView:{componentDidMount:[6,1,1,""],getTag:[6,1,1,""],handleAdd:[6,1,1,""],handleChangeAddType:[6,1,1,""],handleCheckChange:[6,1,1,""],handleInputChange:[6,1,1,""],handleRemoveObj:[6,1,1,""],handleRun:[6,1,1,""],makeNetworkUpdate:[6,1,1,""]},Tasks:{getTasks:[2,1,1,""]},admin:{Admin:[7,4,1,""],docs:[7,7,1,""],folders_to_ignore:[7,8,1,""],run:[7,7,1,""],test:[7,7,1,""]},music:{api:[10,3,0,"-"],auth:[11,3,0,"-"],cloud:[12,3,0,"-"],db:[13,3,0,"-"],init_log:[9,7,1,""],model:[14,3,0,"-"],music:[9,3,0,"-"],tasks:[15,3,0,"-"]}},objnames:{"0":["js","class","JavaScript class"],"1":["js","function","JavaScript function"],"2":["js","attribute","JavaScript attribute"],"3":["py","module","Python module"],"4":["py","class","Python class"],"5":["py","method","Python method"],"6":["py","attribute","Python attribute"],"7":["py","function","Python function"],"8":["py","data","Python data"]},objtypes:{"0":"js:class","1":"js:function","2":"js:attribute","3":"py:module","4":"py:class","5":"py:method","6":"py:attribute","7":"py:function","8":"py:data"},terms:{"case":14,"class":[1,2,3,4,5,6,7,13,14],"default":[10,12,14,15],"enum":14,"export":7,"function":[0,1,7,8,9,13,14,15],"int":[7,12],"long":[12,15],"new":[1,2,5,8,15],"return":[2,4,5,6,9,10,11,13,14,15],"static":7,"true":[6,14],Adding:13,For:[4,15],The:0,Used:13,Will:14,access_token:[13,14],account:[2,5,15],action:[4,7],add:6,add_last_month:14,add_this_month:14,adding:[4,6],addtyp:6,admin:[0,1,8,9],admin_requir:10,again:5,album:[6,14],all:[0,2,4,10,12,14],all_playlists_rout:10,all_users_rout:10,allow:11,api:[0,1,2,4,5,6,8,9],app:[0,1,7,9,10,14,15],appli:3,arg:[4,5,7,10,14],argument:[1,2,4,5,6,7],artist:[6,14],asid:13,attributeerror:15,auth:[0,8,9],authbutton:5,authent:[5,13],avail:15,axio:0,backend:[0,8],background:7,bar:[1,8],barchart:3,base:[0,7,13,14],begin:7,best:14,between:6,blockgriditem:4,blueprint:[9,10],bool:[1,14],box:[4,5,6],build:7,button:[2,4,5],callback:13,cancel:1,card:[1,2,5,8],cell:[2,4],chang:[1,2,4,6,7,8],change_password:10,changepassword:5,chart:[1,8],chart_limit:14,chart_rang:14,check:4,check_dict:10,check_password:14,checkbox:[4,6],click:5,client_id:13,client_secret:13,cloud:[0,7,8,9,13,14],cloud_task:10,cmd:7,code:12,collect:14,collection_nam:14,command:7,compil:7,compile_frontend:7,completekei:7,compnent:2,compon:[0,1,2,3,4,5,6,7,13],componentdidmount:[1,3,4,6],componentdidupd:3,componentwillunmount:1,compos:0,config:[8,9],consol:[7,9],contain:[4,9,14],content:[0,8,9],convert:14,copi:7,copy_main_fil:7,correct:14,correspond:7,count:[4,10,14],creat:[0,9,12,15],create_app:9,create_playlist:[8,9],credemti:13,credenti:13,cron:7,css:7,current:[0,5],daily_scrobbl:10,data:[2,3,4,5,6,14],databas:[8,9],databaseus:13,day_boundari:14,deauth:11,deauthbutton:5,deauthent:5,decor:[8,9],delai:12,delet:[4,6],delete_tag:10,depend:[12,13],deploi:7,deploy:7,deploy_funct:7,descript:[4,10,14,15],description_overwrit:14,description_suffix:14,determin:14,dict:14,dictionari:[4,6],direct:6,directori:7,dispatch:0,divert:4,do_app:7,do_cron_funct:7,do_doc:7,do_exit:7,do_main_group:7,do_playlist:7,do_playlist_cron:7,do_playlist_stats_cron:7,do_prepare_local_stag:7,do_pydepend:7,do_renam:7,do_run:7,do_sass:7,do_set_project:7,do_tag:7,do_tags_cron:7,do_test:7,do_watchsass:7,doc:7,document:[7,13],documentrefer:13,done:14,down:6,drawer:1,drop:6,dropbox:4,dure:4,edit:[1,8],email:14,end:7,endpoint:[10,11],engin:7,entri:4,enumer:14,environ:[7,12],error:[6,15],error_toast:6,europ:7,event:[2,4,5,6],exact:14,execut:12,exit:7,expected_arg:10,export_filtered_depend:7,fals:9,file:7,fireo:[0,14],firestor:[7,13,14],firestore_v1:13,first:14,flask:[0,7,8,10],fmframework:[0,7,13,15],fmnet:15,fmnetwork:13,folder:7,folders_to_ignor:7,found:14,from:[1,2,3,4,5,6,7,13],front:7,frontend:[0,8],fullplaylist:15,func:10,function_deploi:7,function_id:7,gae_cron:10,gcloud:7,gcp:12,gener:[7,9,15],get:[1,2,4,5,6,11,13,14],get_authed_lastfm_network:13,get_authed_spotify_network:13,get_playlist:14,get_recursive_part:13,get_tag:10,get_task:10,getplaylist:4,getplaylistinfo:4,getplaylistlink:4,gettag:6,gettaglink:6,gettask:2,getuserinfo:[1,2,4,5],git:7,given:[4,10,12,13],googl:[0,13],grid:[2,4,6],hand:12,handl:[2,4,5,6,13],handleadd:6,handleaddpart:4,handleaddrefer:4,handlechang:[2,4,5],handlechangeaddtyp:6,handlecheckchang:[4,6],handlecurrentchang:5,handledeleteplaylist:4,handledeletetag:6,handleinputchang:[4,6],handlelock:2,handlenew2chang:5,handlenewchang:5,handleremoveobj:6,handleremovepart:4,handleremoverefer:4,handlerun:[4,6],handlerunal:4,handlerunplaylist:4,handlesubmit:[4,5,6],has:[4,15],help:7,home:11,host:[0,2,4,5],html:11,http:[0,10,11],idea:7,imag:10,includ:[4,7,11,12,15],include_library_track:14,include_recommend:14,index:0,info:[1,4,5,6],infor:2,infrastuctur:12,init:4,init_log:9,initi:[4,7],initialis:9,inject:7,input:[4,5,6],insensit:14,interfac:[0,13],intern:13,intro:7,is_basic_auth:10,is_logged_in:10,job:7,kei:14,kwarg:[10,14],last:[0,1,4,8,15],last_fm_client_id:14,last_login:14,last_refresh:14,last_upd:14,lastfm:5,lastfm_stat_album_count:14,lastfm_stat_album_perc:14,lastfm_stat_artist_count:14,lastfm_stat_artist_perc:14,lastfm_stat_count:14,lastfm_stat_last_refresh:14,lastfm_stat_perc:14,lastfm_usernam:14,lastfm_username_requir:10,layer:[0,13,14],level:[4,9,14],link:[1,4,8],list:[1,8,13],listblock:4,listen:4,load:[1,3,4,6,9,10],local:7,lock:[1,8,14],log:9,login:11,login_or_basic_auth:10,login_requir:10,logout:11,longer:0,main:[4,7],make:[2,4,5,6],makenetworkupd:[4,6],manag:[4,14],manifest:7,map:6,match:[4,14],materi:0,math:[0,1,8],meta:14,model:[0,8,9,13,15],modul:0,music:[4,7],music_obj:6,musictool:1,mutable_kei:14,name:[4,6,7,12,13,14,15],nameerror:[14,15],net:[13,15],network:[5,6,13,15],networkus:13,newli:13,newplaylist:4,newtag:6,newvalu:[2,4,5],next_track:10,node_modul:7,none:[7,10,12,13,14,15],noth:[6,14],npm:7,object:[4,5,6,13,14,15],off:12,offload_or_run_user_playlist:12,open:1,oper:[12,14,15],option:[4,10,12,13,14,15],orm:[0,13,14],other:13,otherwis:14,page:[0,4,11],paramet:[7,10,12,13,14,15],part:[6,14],part_gener:[8,9],partgener:13,password:[1,8,11,14],path:[7,14],pie:[1,8],piechart:3,plai:10,platform:0,player:[8,9],playlist:[0,1,2,7,8,9,10,12,13,15],playlist_cloud_operating_mod:14,playlist_get_delete_rout:10,playlist_nam:[12,14,15],playlist_post_put_rout:10,playlist_refer:14,playlist_refresh:10,playlistcard:4,playlistgrid:4,playlistnam:4,playlistrout:4,playlistsview:4,poetri:7,possibl:14,post:[4,5,11],post_tag:10,prepar:7,present:4,primari:7,process_reference_by_nam:13,process_reference_by_refer:13,project:7,prompt:7,prop:[1,2,3,4,5,6],properti:[3,4,5,6],proport:14,provid:15,put:6,put_tag:10,python:7,queue:12,queue_run_user_playlist:12,rais:[14,15],raise_error:14,react:[0,3,8],readi:9,recommendation_sampl:14,recurs:13,redirect:11,ref:13,refer:4,referenc:13,referenceentri:4,refresh:[4,6,12],refresh_all_user_playlist_stat:12,refresh_lastfm_album_stat:15,refresh_lastfm_artist_stat:15,refresh_lastfm_stat:[8,9],refresh_lastfm_track_stat:15,refresh_playlist_task:12,refresh_token:[13,14],refresh_token_database_callback:13,refresh_user_playlist_stat:12,refresh_user_stats_task:12,region:7,regist:11,relat:11,release_d:14,remov:[4,6],renam:7,request:[0,1,2,4,5,6,11],request_param:10,requir:7,reset:[11,13],resolut:13,resolv:13,respons:[10,11],result:[4,11],retriev:[9,10,11,13,15],root:[0,1,8],rout:11,router:[1,8],row:2,run:[2,4,7,9,12,15],run_all_playlist:7,run_all_playlist_stat:7,run_all_tag:7,run_playlist:10,run_playlist_album_task:10,run_playlist_artist_task:10,run_playlist_task:10,run_playlist_track_task:10,run_tag_task:10,run_us:10,run_user_playlist:[7,8,9],run_user_playlist_funct:12,run_user_playlist_task:12,run_user_task:10,runallus:2,runstat:2,sarsoolib:7,sass:7,schedul:7,script:0,search:0,second:12,secret_kei:14,secur:11,send:4,sensit:14,server:0,serverless:12,servic:14,set:[0,1,4,7,8,14],setdescript:4,setopen:1,show:6,shuffl:[10,14],side:1,single_return:14,smart:[0,4,13,14,15],sort:[4,10,14],sourc:7,sphinx:7,spotfm:[7,8,9],spotframework:[0,7,13,15],spotifi:[0,1,4,8,9,13,15],spotify_client_id:14,spotify_client_secret:14,spotify_link:14,spotify_link_requir:10,spotify_us:14,spotifylink:5,spotifynetwork:13,spotnet:15,spotnetwork:15,stack:9,stage:7,stat:[1,2,8,12],state:[1,2,4,5,6,13],statist:4,statu:5,stdin:7,stdout:7,store:13,str:[7,12,13,14,15],string:4,structur:[4,5,14],subject:[2,4,6,12,13,14,15],submiss:11,submit:[5,6],tab:[2,4,5,7],tag:[0,1,8,9,12,15],tag_id:[6,10,12,14],tag_refresh:10,tag_rout:10,tagcard:6,taggrid:6,taglist:6,tagnam:6,tagrout:6,tagview:6,target:2,task:[0,1,7,8,9,14],tasktyp:2,test:7,time_object:14,timeout:7,to_dict:14,to_stat:2,toast:6,token:11,token_expiri:14,tool:[4,7,9,13],top:[4,9],total_tim:14,total_time_m:14,total_user_scrobbl:14,track:[6,14],trigger:4,txt:7,type:[4,6,9,10,11,13,14,15],unit:7,upad:15,updat:[3,4,6,7,12,13,14,15],update_all_user_playlist:12,update_all_user_tag:12,update_playlist:12,update_tag:[7,8,9,12],updatestat:4,uri:[14,15],url:[4,6],user:[1,2,4,5,8,9,10,12,13,15],user_id:13,user_rout:10,usernam:[1,2,4,8,12,13,14,15],using:[3,7],valid:[4,5,6,14],validate_arg:10,validate_json:10,valu:[4,14],variabl:7,venv:7,view:[1,8],volum:10,walk:13,watch:[4,6,7],web:0,west2:7,when:[13,15],whether:[1,6,14],work:7,wrap:[2,4]},titles:["Music Tools","React Frontend","Admin","Maths","Playlist","Settings","Tag","admin script","Music Tools Modules","Flask Backend","music.api","music.auth","music.cloud","music.db","music.model","music.tasks"],titleterms:{"function":[2,12],"new":[4,6],admin:[2,7,10],api:10,auth:11,backend:9,bar:3,card:[4,6],chang:5,chart:3,cloud:12,config:14,content:[10,11,12,13,14,15],create_playlist:15,databas:13,decor:10,edit:[4,6],flask:9,frontend:1,indic:0,last:5,link:5,list:[4,6],lock:2,math:3,model:14,modul:[8,9,10,11,12,13,14,15],music:[0,8,9,10,11,12,13,14,15],part_gener:13,password:5,pie:3,player:10,playlist:[4,14],react:1,refresh_lastfm_stat:15,root:9,router:[2,4,5,6],run_user_playlist:15,script:7,set:5,spotfm:10,spotifi:[5,10],stat:4,tabl:0,tag:[6,10,14],task:[2,12,15],tool:[0,8],update_tag:15,user:14,usernam:5,view:[4,6]}})
\ No newline at end of file
+Search.setIndex({docnames:["index","src/MusicTools","src/MusicTools.Admin","src/MusicTools.Maths","src/MusicTools.Playlist","src/MusicTools.Settings","src/MusicTools.Tag","src/admin","src/modules","src/music","src/music.api","src/music.auth","src/music.cloud","src/music.db","src/music.model","src/music.tasks"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["index.rst","src/MusicTools.rst","src/MusicTools.Admin.rst","src/MusicTools.Maths.rst","src/MusicTools.Playlist.rst","src/MusicTools.Settings.rst","src/MusicTools.Tag.rst","src/admin.rst","src/modules.rst","src/music.rst","src/music.api.rst","src/music.auth.rst","src/music.cloud.rst","src/music.db.rst","src/music.model.rst","src/music.tasks.rst"],objects:{"":{Admin:[2,0,1,""],AuthButton:[5,1,1,""],BarChart:[3,0,1,""],ChangePassword:[5,0,1,""],Count:[4,0,1,""],DeAuthButton:[5,1,1,""],Edit:[4,0,1,""],Functions:[2,0,1,""],LastFM:[5,0,1,""],Lock:[2,0,1,""],MusicTools:[1,0,1,""],NewPlaylist:[4,0,1,""],NewTag:[6,0,1,""],PieChart:[3,0,1,""],PlaylistCard:[4,0,1,""],PlaylistGrid:[4,0,1,""],Playlists:[4,0,1,""],PlaylistsView:[4,0,1,""],ReferenceEntry:[4,1,1,""],Row:[2,1,1,""],Settings:[5,0,1,""],SpotifyLink:[5,0,1,""],TagCard:[6,1,1,""],TagGrid:[6,1,1,""],TagList:[6,0,1,""],TagRouter:[6,0,1,""],TagView:[6,0,1,""],TaskType:[2,1,1,""],Tasks:[2,0,1,""],admin:[7,3,0,"-"],getPlaylistLink:[4,1,1,""],getTagLink:[6,1,1,""],music:[9,3,0,"-"]},"PlaylistRouter.View":{handleChange:[4,1,1,""]},"admin.Admin":{compile_frontend:[7,5,1,""],copy_main_file:[7,5,1,""],deploy_function:[7,5,1,""],do_app:[7,5,1,""],do_cron_functions:[7,5,1,""],do_docs:[7,5,1,""],do_exit:[7,5,1,""],do_main_group:[7,5,1,""],do_playlist:[7,5,1,""],do_playlist_cron:[7,5,1,""],do_playlist_stats_cron:[7,5,1,""],do_prepare_local_stage:[7,5,1,""],do_pydepend:[7,5,1,""],do_rename:[7,5,1,""],do_run:[7,5,1,""],do_sass:[7,5,1,""],do_set_project:[7,5,1,""],do_tag:[7,5,1,""],do_tags_cron:[7,5,1,""],do_test:[7,5,1,""],do_watchsass:[7,5,1,""],export_filtered_dependencies:[7,5,1,""],function_deploy:[7,5,1,""],intro:[7,6,1,""],locals:[7,6,1,""],prompt:[7,6,1,""]},"music.api":{admin:[10,3,0,"-"],api:[10,3,0,"-"],decorators:[10,3,0,"-"],fm:[10,3,0,"-"],player:[10,3,0,"-"],spotfm:[10,3,0,"-"],spotify:[10,3,0,"-"],tag:[10,3,0,"-"]},"music.api.admin":{get_tasks:[10,7,1,""]},"music.api.api":{all_playlists_route:[10,7,1,""],all_users_route:[10,7,1,""],change_password:[10,7,1,""],image:[10,7,1,""],playlist_get_delete_route:[10,7,1,""],playlist_post_put_route:[10,7,1,""],run_playlist:[10,7,1,""],run_playlist_task:[10,7,1,""],run_user:[10,7,1,""],run_user_task:[10,7,1,""],run_users:[10,7,1,""],user_route:[10,7,1,""]},"music.api.decorators":{admin_required:[10,7,1,""],check_dict:[10,7,1,""],cloud_task:[10,7,1,""],gae_cron:[10,7,1,""],is_basic_authed:[10,7,1,""],is_logged_in:[10,7,1,""],lastfm_username_required:[10,7,1,""],login_or_basic_auth:[10,7,1,""],login_required:[10,7,1,""],spotify_link_required:[10,7,1,""],validate_args:[10,7,1,""],validate_json:[10,7,1,""]},"music.api.fm":{daily_scrobbles:[10,7,1,""]},"music.api.player":{next_track:[10,7,1,""],play:[10,7,1,""],shuffle:[10,7,1,""],volume:[10,7,1,""]},"music.api.spotfm":{count:[10,7,1,""],playlist_refresh:[10,7,1,""],run_playlist_album_task:[10,7,1,""],run_playlist_artist_task:[10,7,1,""],run_playlist_track_task:[10,7,1,""],run_user:[10,7,1,""],run_user_task:[10,7,1,""],run_users:[10,7,1,""]},"music.api.spotify":{sort:[10,7,1,""]},"music.api.tag":{delete_tag:[10,7,1,""],get_tag:[10,7,1,""],post_tag:[10,7,1,""],put_tag:[10,7,1,""],run_tag_task:[10,7,1,""],tag_refresh:[10,7,1,""],tag_route:[10,7,1,""],tags:[10,7,1,""]},"music.auth":{auth:[11,3,0,"-"]},"music.auth.auth":{auth:[11,7,1,""],deauth:[11,7,1,""],login:[11,7,1,""],logout:[11,7,1,""],register:[11,7,1,""],token:[11,7,1,""]},"music.cloud":{"function":[12,3,0,"-"],offload_or_run_user_playlist:[12,7,1,""],queue_run_user_playlist:[12,7,1,""],tasks:[12,3,0,"-"]},"music.cloud.function":{run_user_playlist_function:[12,7,1,""],update_tag:[12,7,1,""]},"music.cloud.tasks":{refresh_all_user_playlist_stats:[12,7,1,""],refresh_playlist_task:[12,7,1,""],refresh_user_playlist_stats:[12,7,1,""],refresh_user_stats_task:[12,7,1,""],run_user_playlist_task:[12,7,1,""],update_all_user_playlists:[12,7,1,""],update_all_user_tags:[12,7,1,""],update_playlists:[12,7,1,""]},"music.db":{database:[13,3,0,"-"],part_generator:[13,3,0,"-"]},"music.db.database":{DatabaseUser:[13,4,1,""],get_authed_lastfm_network:[13,7,1,""],get_authed_spotify_network:[13,7,1,""],refresh_token_database_callback:[13,7,1,""]},"music.db.database.DatabaseUser":{user_id:[13,6,1,""]},"music.db.part_generator":{PartGenerator:[13,4,1,""]},"music.db.part_generator.PartGenerator":{get_recursive_parts:[13,5,1,""],process_reference_by_name:[13,5,1,""],process_reference_by_reference:[13,5,1,""],reset:[13,5,1,""]},"music.model":{config:[14,3,0,"-"],playlist:[14,3,0,"-"],tag:[14,3,0,"-"],user:[14,3,0,"-"]},"music.model.config":{Config:[14,4,1,""]},"music.model.config.Config":{Meta:[14,4,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],last_fm_client_id:[14,6,1,""],playlist_cloud_operating_mode:[14,6,1,""],secret_key:[14,6,1,""],spotify_client_id:[14,6,1,""],spotify_client_secret:[14,6,1,""]},"music.model.config.Config.Meta":{collection_name:[14,6,1,""]},"music.model.playlist":{Playlist:[14,4,1,""],Sort:[14,4,1,""]},"music.model.playlist.Playlist":{Meta:[14,4,1,""],add_last_month:[14,6,1,""],add_this_month:[14,6,1,""],chart_limit:[14,6,1,""],chart_range:[14,6,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],day_boundary:[14,6,1,""],description_overwrite:[14,6,1,""],description_suffix:[14,6,1,""],include_library_tracks:[14,6,1,""],include_recommendations:[14,6,1,""],last_updated:[14,6,1,""],lastfm_stat_album_count:[14,6,1,""],lastfm_stat_album_percent:[14,6,1,""],lastfm_stat_artist_count:[14,6,1,""],lastfm_stat_artist_percent:[14,6,1,""],lastfm_stat_count:[14,6,1,""],lastfm_stat_last_refresh:[14,6,1,""],lastfm_stat_percent:[14,6,1,""],mutable_keys:[14,6,1,""],name:[14,6,1,""],parts:[14,6,1,""],playlist_references:[14,6,1,""],recommendation_sample:[14,6,1,""],shuffle:[14,6,1,""],sort:[14,6,1,""],to_dict:[14,5,1,""],type:[14,6,1,""],uri:[14,6,1,""]},"music.model.playlist.Playlist.Meta":{collection_name:[14,6,1,""]},"music.model.playlist.Sort":{"default":[14,6,1,""],release_date:[14,6,1,""],shuffle:[14,6,1,""]},"music.model.tag":{Tag:[14,4,1,""]},"music.model.tag.Tag":{Meta:[14,4,1,""],albums:[14,6,1,""],artists:[14,6,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],count:[14,6,1,""],last_updated:[14,6,1,""],name:[14,6,1,""],proportion:[14,6,1,""],tag_id:[14,6,1,""],time_objects:[14,6,1,""],to_dict:[14,5,1,""],total_time:[14,6,1,""],total_time_ms:[14,6,1,""],total_user_scrobbles:[14,6,1,""],tracks:[14,6,1,""],username:[14,6,1,""]},"music.model.tag.Tag.Meta":{collection_name:[14,6,1,""]},"music.model.user":{User:[14,4,1,""]},"music.model.user.User":{Meta:[14,4,1,""],access_token:[14,6,1,""],check_password:[14,5,1,""],collection:[14,6,1,""],collection_name:[14,6,1,""],email:[14,6,1,""],get_playlist:[14,5,1,""],last_login:[14,6,1,""],last_refreshed:[14,6,1,""],lastfm_username:[14,6,1,""],locked:[14,6,1,""],password:[14,6,1,""],refresh_token:[14,6,1,""],spotify_linked:[14,6,1,""],to_dict:[14,5,1,""],token_expiry:[14,6,1,""],type:[14,6,1,""],username:[14,6,1,""],validated:[14,6,1,""]},"music.model.user.User.Meta":{collection_name:[14,6,1,""]},"music.music":{create_app:[9,7,1,""]},"music.tasks":{create_playlist:[15,3,0,"-"],refresh_lastfm_stats:[15,3,0,"-"],run_user_playlist:[15,3,0,"-"],update_tag:[15,3,0,"-"]},"music.tasks.create_playlist":{create_playlist:[15,7,1,""]},"music.tasks.refresh_lastfm_stats":{refresh_lastfm_album_stats:[15,7,1,""],refresh_lastfm_artist_stats:[15,7,1,""],refresh_lastfm_track_stats:[15,7,1,""]},"music.tasks.run_user_playlist":{run_user_playlist:[15,7,1,""]},"music.tasks.update_tag":{update_tag:[15,7,1,""]},Admin:{handleChange:[2,1,1,""]},BarChart:{componentDidMount:[3,1,1,""],componentDidUpdate:[3,1,1,""]},ChangePassword:{handleCurrentChange:[5,1,1,""],handleNew2Change:[5,1,1,""],handleNewChange:[5,1,1,""],handleSubmit:[5,1,1,""]},Count:{Count:[4,2,1,""],getUserInfo:[4,1,1,""],updateStats:[4,1,1,""]},Edit:{BlockGridItem:[4,1,1,""],Edit:[4,2,1,""],ListBlock:[4,1,1,""],componentDidMount:[4,1,1,""],getPlaylistInfo:[4,1,1,""],getPlaylists:[4,1,1,""],handleAddPart:[4,1,1,""],handleAddReference:[4,1,1,""],handleCheckChange:[4,1,1,""],handleInputChange:[4,1,1,""],handleRemovePart:[4,1,1,""],handleRemoveReference:[4,1,1,""],handleRun:[4,1,1,""],makeNetworkUpdate:[4,1,1,""]},Functions:{runAllUsers:[2,1,1,""],runStats:[2,1,1,""]},LastFM:{getUserInfo:[5,1,1,""],handleChange:[5,1,1,""],handleSubmit:[5,1,1,""]},Lock:{getUserInfo:[2,1,1,""],handleLock:[2,1,1,""]},MusicTools:{componentDidMount:[1,1,1,""],componentWillUnmount:[1,1,1,""],getUserInfo:[1,1,1,""],setOpen:[1,1,1,""]},NewPlaylist:{componentDidMount:[4,1,1,""],handleInputChange:[4,1,1,""],handleSubmit:[4,1,1,""],setDescription:[4,1,1,""]},NewTag:{handleInputChange:[6,1,1,""],handleSubmit:[6,1,1,""]},PieChart:{componentDidMount:[3,1,1,""],componentDidUpdate:[3,1,1,""]},PlaylistRouter:{View:[4,0,1,""]},PlaylistsView:{getPlaylists:[4,1,1,""],handleDeletePlaylist:[4,1,1,""],handleRunAll:[4,1,1,""],handleRunPlaylist:[4,1,1,""]},Settings:{handleChange:[5,1,1,""]},SpotifyLink:{getUserInfo:[5,1,1,""]},TagList:{getTags:[6,1,1,""],handleDeleteTag:[6,1,1,""]},TagView:{componentDidMount:[6,1,1,""],getTag:[6,1,1,""],handleAdd:[6,1,1,""],handleChangeAddType:[6,1,1,""],handleCheckChange:[6,1,1,""],handleInputChange:[6,1,1,""],handleRemoveObj:[6,1,1,""],handleRun:[6,1,1,""],makeNetworkUpdate:[6,1,1,""]},Tasks:{getTasks:[2,1,1,""]},admin:{Admin:[7,4,1,""],docs:[7,7,1,""],folders_to_ignore:[7,8,1,""],run:[7,7,1,""],test:[7,7,1,""]},music:{api:[10,3,0,"-"],auth:[11,3,0,"-"],cloud:[12,3,0,"-"],db:[13,3,0,"-"],init_log:[9,7,1,""],model:[14,3,0,"-"],music:[9,3,0,"-"],tasks:[15,3,0,"-"]}},objnames:{"0":["js","class","JavaScript class"],"1":["js","function","JavaScript function"],"2":["js","attribute","JavaScript attribute"],"3":["py","module","Python module"],"4":["py","class","Python class"],"5":["py","method","Python method"],"6":["py","attribute","Python attribute"],"7":["py","function","Python function"],"8":["py","data","Python data"]},objtypes:{"0":"js:class","1":"js:function","2":"js:attribute","3":"py:module","4":"py:class","5":"py:method","6":"py:attribute","7":"py:function","8":"py:data"},terms:{"case":14,"class":[1,2,3,4,5,6,7,13,14],"default":[10,12,14,15],"enum":14,"export":7,"function":[0,1,7,8,9,13,14,15],"int":[7,12],"long":[12,15],"new":[1,2,5,8,15],"return":[2,4,5,6,9,10,11,13,14,15],"static":7,"true":[6,14],Adding:13,For:[4,15],The:0,Used:13,Will:14,access_token:[13,14],account:[2,5,15],action:[4,7],add:6,add_last_month:14,add_this_month:14,adding:[4,6],addtyp:6,admin:[0,1,8,9],admin_requir:10,again:5,album:[6,14],all:[0,2,4,10,12,14],all_playlists_rout:10,all_users_rout:10,allow:11,api:[0,1,2,4,5,6,8,9],app:[0,1,7,9,10,14,15],appli:3,arg:[4,5,7,10,14],argument:[1,2,4,5,6,7],artist:[6,14],asid:13,attributeerror:15,auth:[0,8,9],authbutton:5,authent:[5,13],avail:15,axio:0,backend:[0,8],background:7,bar:[1,8],barchart:3,base:[0,7,13,14],begin:7,best:14,between:6,blockgriditem:4,blueprint:[9,10],bool:[1,14],box:[4,5,6],build:7,button:[2,4,5],callback:13,cancel:1,card:[1,2,5,8],cell:[2,4],chang:[1,2,4,6,7,8],change_password:10,changepassword:5,chart:[1,8],chart_limit:14,chart_rang:14,check:4,check_dict:10,check_password:14,checkbox:[4,6],click:5,client_id:13,client_secret:13,cloud:[0,7,8,9,13,14],cloud_task:10,cmd:7,code:12,collect:14,collection_nam:14,command:7,compil:7,compile_frontend:7,completekei:7,compnent:2,compon:[0,1,2,3,4,5,6,7,13],componentdidmount:[1,3,4,6],componentdidupd:3,componentwillunmount:1,compos:0,config:[8,9],consol:[7,9],contain:[4,9,14],content:[8,9],convert:14,copi:7,copy_main_fil:7,correct:14,correspond:7,count:[4,10,14],creat:[0,9,12,15],create_app:9,create_playlist:[8,9],credemti:13,credenti:13,cron:7,css:7,current:[0,5],daily_scrobbl:10,data:[2,3,4,5,6,14],databas:[8,9],databaseus:13,day_boundari:14,deauth:11,deauthbutton:5,deauthent:5,decor:[8,9],delai:12,delet:[4,6],delete_tag:10,depend:[12,13],deploi:7,deploy:7,deploy_funct:7,descript:[4,10,14,15],description_overwrit:14,description_suffix:14,determin:14,dict:14,dictionari:[4,6],direct:6,directori:7,dispatch:0,divert:4,do_app:7,do_cron_funct:7,do_doc:7,do_exit:7,do_main_group:7,do_playlist:7,do_playlist_cron:7,do_playlist_stats_cron:7,do_prepare_local_stag:7,do_pydepend:7,do_renam:7,do_run:7,do_sass:7,do_set_project:7,do_tag:7,do_tags_cron:7,do_test:7,do_watchsass:7,doc:7,document:[7,13],documentrefer:13,done:14,down:6,drawer:1,drop:6,dropbox:4,dure:4,edit:[1,8],email:14,end:7,endpoint:[10,11],engin:7,entri:4,enumer:14,environ:[7,12],error:[6,15],error_toast:6,europ:7,event:[2,4,5,6],exact:14,execut:12,exit:7,expected_arg:10,export_filtered_depend:7,fals:9,file:7,fireo:[0,14],firestor:[7,13,14],firestore_v1:13,first:14,flask:[0,7,8,10],fmframework:[0,7,13,15],fmnet:15,fmnetwork:13,folder:7,folders_to_ignor:7,found:14,from:[1,2,3,4,5,6,7,13],front:7,frontend:[0,8],fullplaylist:15,func:10,function_deploi:7,function_id:7,gae_cron:10,gcloud:7,gcp:12,gener:[7,9,15],get:[1,2,4,5,6,11,13,14],get_authed_lastfm_network:13,get_authed_spotify_network:13,get_playlist:14,get_recursive_part:13,get_tag:10,get_task:10,getplaylist:4,getplaylistinfo:4,getplaylistlink:4,gettag:6,gettaglink:6,gettask:2,getuserinfo:[1,2,4,5],git:7,given:[4,10,12,13],googl:[0,13],grid:[2,4,6],hand:12,handl:[2,4,5,6,13],handleadd:6,handleaddpart:4,handleaddrefer:4,handlechang:[2,4,5],handlechangeaddtyp:6,handlecheckchang:[4,6],handlecurrentchang:5,handledeleteplaylist:4,handledeletetag:6,handleinputchang:[4,6],handlelock:2,handlenew2chang:5,handlenewchang:5,handleremoveobj:6,handleremovepart:4,handleremoverefer:4,handlerun:[4,6],handlerunal:4,handlerunplaylist:4,handlesubmit:[4,5,6],has:[4,15],help:7,home:11,host:[0,2,4,5],html:11,http:[0,10,11],idea:7,imag:10,includ:[4,7,11,12,15],include_library_track:14,include_recommend:14,index:0,info:[1,4,5,6],infor:2,infrastuctur:12,init:4,init_log:9,initi:[4,7],initialis:9,inject:7,input:[4,5,6],insensit:14,interfac:[0,13],intern:13,intro:7,is_basic_auth:10,is_logged_in:10,job:7,kei:14,kwarg:[10,14],last:[0,1,4,8,15],last_fm_client_id:14,last_login:14,last_refresh:14,last_upd:14,lastfm:5,lastfm_stat_album_count:14,lastfm_stat_album_perc:14,lastfm_stat_artist_count:14,lastfm_stat_artist_perc:14,lastfm_stat_count:14,lastfm_stat_last_refresh:14,lastfm_stat_perc:14,lastfm_usernam:14,lastfm_username_requir:10,layer:[0,13,14],level:[4,9,14],link:[1,4,8],list:[1,8,13],listblock:4,listen:4,load:[1,3,4,6,9,10],local:7,lock:[1,8,14],log:9,login:11,login_or_basic_auth:10,login_requir:10,logout:11,longer:0,main:[4,7],make:[2,4,5,6],makenetworkupd:[4,6],manag:[4,14],manifest:7,map:6,match:[4,14],materi:0,math:[0,1,8],meta:14,model:[0,8,9,13,15],modul:0,music:[4,7],music_obj:6,musictool:1,mutable_kei:14,name:[4,6,7,12,13,14,15],nameerror:[14,15],net:[13,15],network:[5,6,13,15],networkus:13,newli:13,newplaylist:4,newtag:6,newvalu:[2,4,5],next_track:10,node_modul:7,none:[7,10,12,13,14,15],noth:[6,14],npm:7,object:[4,5,6,13,14,15],off:12,offload_or_run_user_playlist:12,open:1,oper:[12,14,15],option:[4,10,12,13,14,15],orm:[0,13,14],other:13,otherwis:14,page:[0,4,11],paramet:[7,10,12,13,14,15],part:[6,14],part_gener:[8,9],partgener:13,password:[1,8,11,14],path:[7,14],pie:[1,8],piechart:3,plai:10,platform:0,player:[8,9],playlist:[0,1,2,7,8,9,10,12,13,15],playlist_cloud_operating_mod:14,playlist_get_delete_rout:10,playlist_nam:[12,14,15],playlist_post_put_rout:10,playlist_refer:14,playlist_refresh:10,playlistcard:4,playlistgrid:4,playlistnam:4,playlistrout:4,playlistsview:4,poetri:7,possibl:14,post:[4,5,11],post_tag:10,prepar:7,present:4,primari:7,process_reference_by_nam:13,process_reference_by_refer:13,project:7,prompt:7,prop:[1,2,3,4,5,6],properti:[3,4,5,6],proport:14,provid:15,put:6,put_tag:10,python:7,queue:12,queue_run_user_playlist:12,rais:[14,15],raise_error:14,react:[0,3,8],readi:9,recommendation_sampl:14,recurs:13,redirect:11,ref:13,refer:4,referenc:13,referenceentri:4,refresh:[4,6,12],refresh_all_user_playlist_stat:12,refresh_lastfm_album_stat:15,refresh_lastfm_artist_stat:15,refresh_lastfm_stat:[8,9],refresh_lastfm_track_stat:15,refresh_playlist_task:12,refresh_token:[13,14],refresh_token_database_callback:13,refresh_user_playlist_stat:12,refresh_user_stats_task:12,region:7,regist:11,relat:11,release_d:14,remov:[4,6],renam:7,request:[0,1,2,4,5,6,11],request_param:10,requir:7,reset:[11,13],resolut:13,resolv:13,respons:[10,11],result:[4,11],retriev:[9,10,11,13,15],root:[0,1,8],rout:11,router:[1,8],row:2,run:[2,4,7,9,12,15],run_all_playlist:7,run_all_playlist_stat:7,run_all_tag:7,run_playlist:10,run_playlist_album_task:10,run_playlist_artist_task:10,run_playlist_task:10,run_playlist_track_task:10,run_tag_task:10,run_us:10,run_user_playlist:[7,8,9],run_user_playlist_funct:12,run_user_playlist_task:12,run_user_task:10,runallus:2,runstat:2,sarsoolib:7,sass:7,schedul:7,script:0,search:0,second:12,secret_kei:14,secur:11,send:4,sensit:14,server:0,serverless:12,servic:14,set:[0,1,4,7,8,14],setdescript:4,setopen:1,show:6,shuffl:[10,14],side:1,single_return:14,smart:[0,4,13,14,15],sort:[4,10,14],sourc:7,sphinx:7,spotfm:[7,8,9],spotframework:[0,7,13,15],spotifi:[0,1,4,8,9,13,15],spotify_client_id:14,spotify_client_secret:14,spotify_link:14,spotify_link_requir:10,spotify_us:14,spotifylink:5,spotifynetwork:13,spotnet:15,spotnetwork:15,stack:9,stage:7,stat:[1,2,8,12],state:[1,2,4,5,6,13],statist:4,statu:5,stdin:7,stdout:7,store:13,str:[7,12,13,14,15],string:4,structur:[4,5,14],subject:[2,4,6,12,13,14,15],submiss:11,submit:[5,6],tab:[2,4,5,7],tag:[0,1,8,9,12,15],tag_id:[6,10,12,14],tag_refresh:10,tag_rout:10,tagcard:6,taggrid:6,taglist:6,tagnam:6,tagrout:6,tagview:6,target:2,task:[0,1,7,8,9,14],tasktyp:2,test:7,time_object:14,timeout:7,to_dict:14,to_stat:2,toast:6,token:11,token_expiri:14,tool:[4,7,9,13],top:[4,9],total_tim:14,total_time_m:14,total_user_scrobbl:14,track:[6,14],trigger:4,txt:7,type:[4,6,9,10,11,13,14,15],unit:7,upad:15,updat:[3,4,6,7,12,13,14,15],update_all_user_playlist:12,update_all_user_tag:12,update_playlist:12,update_tag:[7,8,9,12],updatestat:4,uri:[14,15],url:[4,6],user:[1,2,4,5,8,9,10,12,13,15],user_id:13,user_rout:10,usernam:[1,2,4,8,12,13,14,15],using:[3,7],valid:[4,5,6,14],validate_arg:10,validate_json:10,valu:[4,14],variabl:7,venv:7,view:[1,8],volum:10,walk:13,watch:[4,6,7],web:0,west2:7,when:[13,15],whether:[1,6,14],work:7,wrap:[2,4]},titles:["Music Tools","React Frontend","Admin","Maths","Playlist","Settings","Tag","admin script","Music Tools Modules","Flask Backend","music.api","music.auth","music.cloud","music.db","music.model","music.tasks"],titleterms:{"function":[2,12],"new":[4,6],admin:[2,7,10],api:10,auth:11,backend:9,bar:3,card:[4,6],chang:5,chart:3,cloud:12,config:14,content:[0,10,11,12,13,14,15],create_playlist:15,databas:13,decor:10,edit:[4,6],flask:9,frontend:1,indic:0,last:5,link:5,list:[4,6],lock:2,math:3,model:14,modul:[8,9,10,11,12,13,14,15],music:[0,8,9,10,11,12,13,14,15],part_gener:13,password:5,pie:3,player:10,playlist:[4,14],react:1,refresh_lastfm_stat:15,root:9,router:[2,4,5,6],run_user_playlist:15,script:7,set:5,spotfm:10,spotifi:[5,10],stat:4,tabl:0,tag:[6,10,14],task:[2,12,15],tool:[0,8],update_tag:15,user:14,usernam:5,view:[4,6]}})
\ No newline at end of file
diff --git a/src/MusicTools.Admin.html b/src/MusicTools.Admin.html
index 568b564..aea9953 100644
--- a/src/MusicTools.Admin.html
+++ b/src/MusicTools.Admin.html
@@ -4,8 +4,7 @@
-
-
+
Admin — Music Tools documentation
@@ -33,9 +32,9 @@
-
+
Admin
-
+
Router
@@ -57,8 +56,8 @@
-
-
+
Lock
@@ -103,8 +102,8 @@
-
-
+
Functions
@@ -138,8 +137,8 @@
-
-
+
Tasks
@@ -169,8 +168,8 @@
-
-
+
+
@@ -189,7 +188,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -245,7 +244,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/MusicTools.Maths.html b/src/MusicTools.Maths.html
index 1a86d60..527511c 100644
--- a/src/MusicTools.Maths.html
+++ b/src/MusicTools.Maths.html
@@ -4,8 +4,7 @@
-
-
+
Maths — Music Tools documentation
@@ -33,9 +32,9 @@
-
+
Maths
-
+
Bar Chart
@@ -55,8 +54,8 @@
-
-
+
Pie Chart
@@ -76,8 +75,8 @@
-
-
+
+
@@ -96,7 +95,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -152,7 +151,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/MusicTools.Playlist.html b/src/MusicTools.Playlist.html
index aaa52c7..87ca4a3 100644
--- a/src/MusicTools.Playlist.html
+++ b/src/MusicTools.Playlist.html
@@ -4,8 +4,7 @@
-
-
+
Playlist — Music Tools documentation
@@ -33,9 +32,9 @@
-
+
Playlist
-
+
Router
@@ -64,8 +63,8 @@
-
-
+
Cards List
@@ -176,8 +175,8 @@
-
-
+
New Playlist Card
@@ -230,8 +229,8 @@
-
-
+
View/Edit Card
@@ -426,8 +425,8 @@
-
-
+
Stats Card
@@ -452,8 +451,8 @@
-
-
+
+
@@ -472,7 +471,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -528,7 +527,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/MusicTools.Settings.html b/src/MusicTools.Settings.html
index 0d47273..9478c7b 100644
--- a/src/MusicTools.Settings.html
+++ b/src/MusicTools.Settings.html
@@ -4,8 +4,7 @@
-
-
+
Settings — Music Tools documentation
@@ -33,9 +32,9 @@
-
+
Settings
-
+
Router
@@ -57,8 +56,8 @@
-
-
+
Change Password
@@ -118,8 +117,8 @@
-
-
+
Spotify Link
@@ -165,8 +164,8 @@
-
-
+
Last.fm Username
@@ -206,8 +205,8 @@
-
-
+
+
@@ -226,7 +225,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -282,7 +281,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/MusicTools.Tag.html b/src/MusicTools.Tag.html
index 7ca05fc..3af4a85 100644
--- a/src/MusicTools.Tag.html
+++ b/src/MusicTools.Tag.html
@@ -4,8 +4,7 @@
-
-
+
Tag — Music Tools documentation
@@ -33,9 +32,9 @@
-
+
Tag
-
+
Router
@@ -43,8 +42,8 @@
Tag router for directing between tag list and new
-
-
+
Cards List
@@ -120,8 +119,8 @@
-
-
+
New Tag Card
@@ -155,8 +154,8 @@
-
-
+
View/Edit Tag
@@ -274,8 +273,8 @@
-
-
+
+
@@ -294,7 +293,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -350,7 +349,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/MusicTools.html b/src/MusicTools.html
index 843caef..6c3293d 100644
--- a/src/MusicTools.html
+++ b/src/MusicTools.html
@@ -4,8 +4,7 @@
-
-
+
React Frontend — Music Tools documentation
@@ -33,7 +32,7 @@
-
+
@@ -129,7 +128,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -183,7 +182,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/admin.html b/src/admin.html
index 62daff3..96068ed 100644
--- a/src/admin.html
+++ b/src/admin.html
@@ -4,8 +4,7 @@
-
-
+
admin script — Music Tools documentation
@@ -33,7 +32,7 @@
-
+
admin script
@@ -234,7 +233,7 @@ run_all_tags
admin.
test
( )
-
+
@@ -253,7 +252,7 @@ run_all_tags
Navigation
-Contents:
+Contents:
Py
Js
@@ -296,7 +295,7 @@ run_all_tags
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/modules.html b/src/modules.html
index 7d7ead2..c0e1fdb 100644
--- a/src/modules.html
+++ b/src/modules.html
@@ -4,8 +4,7 @@
-
-
+
Music Tools Modules — Music Tools documentation
@@ -32,7 +31,7 @@
@@ -143,7 +142,7 @@
Navigation
-Contents:
+Contents:
Py
Js
@@ -189,7 +188,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/music.api.html b/src/music.api.html
index af7b856..842dc14 100644
--- a/src/music.api.html
+++ b/src/music.api.html
@@ -4,8 +4,7 @@
-
-
+
music.api — Music Tools documentation
@@ -33,21 +32,21 @@
-
+
music.api
-
+
Module contents
Flask blueprints for loading the app endpoints
-
-
+
api.admin
music.api.admin.
get_tasks
( user = None )
-
-
+
api.api
@@ -121,8 +120,8 @@
music.api.api.
user_route
( user = None )
-
-
+
api.decorators
@@ -184,16 +183,16 @@
music.api.decorators.
validate_json
( * expected_args )
-
-
+
api.fm
music.api.fm.
daily_scrobbles
( user = None )
-
-
+
api.player
@@ -215,8 +214,8 @@
music.api.player.
volume
( user = None )
-
-
+
api.spotfm
@@ -258,16 +257,16 @@
music.api.spotfm.
run_users
( user = None )
-
-
+
api.spotify
music.api.spotify.
sort
( user = None )
-
-
+
api.tag
@@ -309,8 +308,8 @@
music.api.tag.
tags
( user = None )
-
-
+
+
@@ -329,7 +328,7 @@
Navigation
-Contents:
+Contents:
Py
music.api
@@ -387,7 +386,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/music.auth.html b/src/music.auth.html
index 051cb79..04b5896 100644
--- a/src/music.auth.html
+++ b/src/music.auth.html
@@ -4,8 +4,7 @@
-
-
+
music.auth — Music Tools documentation
@@ -33,13 +32,13 @@
-
+
music.auth
-
+
Module contents
Security related endpoints including login/logout and reset password
-
-
+
auth.auth
@@ -80,8 +79,8 @@
music.auth.auth.
token
( )
-
-
+
+
@@ -100,7 +99,7 @@
Navigation
-Contents:
+Contents:
Py
music.api
@@ -158,7 +157,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/music.cloud.html b/src/music.cloud.html
index 98601b1..c37e16d 100644
--- a/src/music.cloud.html
+++ b/src/music.cloud.html
@@ -4,8 +4,7 @@
-
-
+
music.cloud — Music Tools documentation
@@ -33,9 +32,9 @@
-
+
music.cloud
-
+
Module contents
Infrastucture code include handing off tasks to Cloud Tasks or Cloud Functions
@@ -48,8 +47,8 @@
music.cloud.
queue_run_user_playlist
( username : str , playlist_name : str )
-
-
+
cloud.function
@@ -79,8 +78,8 @@
-
-
+
cloud.tasks
Functions for creating GCP Cloud Tasks for long running operatings
@@ -167,8 +166,8 @@
-
-
+
+
@@ -187,7 +186,7 @@
Navigation
-Contents:
+Contents:
Py
music.api
@@ -245,7 +244,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/music.db.html b/src/music.db.html
index 223a0aa..75b0e96 100644
--- a/src/music.db.html
+++ b/src/music.db.html
@@ -4,8 +4,7 @@
-
-
+
music.db — Music Tools documentation
@@ -33,13 +32,13 @@
-
+
music.db
-
+
Module contents
Database interfacing components aside from the music.model ORM layer
-
-
+
db.database
@@ -99,8 +98,8 @@
-
-
+
db.part_generator
@@ -154,8 +153,8 @@
-
-
+
+
@@ -174,7 +173,7 @@
Navigation
-Contents:
+Contents:
Py
music.api
@@ -232,7 +231,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/music.html b/src/music.html
index b97a27e..325e7a6 100644
--- a/src/music.html
+++ b/src/music.html
@@ -4,8 +4,7 @@
-
-
+
Flask Backend — Music Tools documentation
@@ -33,7 +32,7 @@
-
+
Flask Backend
-
+
music Root Module
Root module containing Music Tools backend
Top level module with functions for creating app with loaded blueprints and initialising the logging stack
@@ -107,8 +106,8 @@
-
-
+
+
@@ -127,7 +126,7 @@
Navigation
-Contents:
+Contents:
Py
music.api
@@ -183,7 +182,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/music.model.html b/src/music.model.html
index c88b52e..3cfe962 100644
--- a/src/music.model.html
+++ b/src/music.model.html
@@ -4,8 +4,7 @@
-
-
+
music.model — Music Tools documentation
@@ -33,13 +32,13 @@
-
+
music.model
-
+
Module contents
ORM layer containing the data model
-
-
+
model.config
@@ -96,8 +95,8 @@
-
-
+
model.playlist
@@ -296,8 +295,8 @@
-
-
+
model.tag
@@ -397,8 +396,8 @@
-
-
+
model.user
@@ -528,8 +527,8 @@
-
-
+
+
@@ -548,7 +547,7 @@
Navigation
-Contents:
+Contents:
Py
music.api
@@ -606,7 +605,7 @@
©2021, Sarsoo.
|
- Powered by Sphinx 3.5.3
+ Powered by Sphinx 3.5.4
& Alabaster 0.7.12
|
diff --git a/src/music.tasks.html b/src/music.tasks.html
index 2283023..9d53063 100644
--- a/src/music.tasks.html
+++ b/src/music.tasks.html
@@ -4,8 +4,7 @@
-
-
+
music.tasks — Music Tools documentation
@@ -33,13 +32,13 @@
-
+
music.tasks
-
+
Module contents
Long running operations of the app including playlist generation and tag update functions
-
-
+
tasks.create_playlist
@@ -62,8 +61,8 @@
-
-
+
tasks.refresh_lastfm_stats
@@ -80,8 +79,8 @@
music.tasks.refresh_lastfm_stats.
refresh_lastfm_track_stats
( username , playlist_name )
-
-
+
tasks.run_user_playlist
@@ -114,16 +113,16 @@
-
-
+
tasks.update_tag
music.tasks.update_tag.
update_tag
( user , tag , spotnet = None , fmnet = None )
-
-
+
+
@@ -142,7 +141,7 @@
Navigation
-Contents:
+Contents: