renaming music tools to mixonomer
This commit is contained in:
parent
0fe7d8f117
commit
649e77acb5
10
README.md
10
README.md
@ -1,12 +1,12 @@
|
|||||||
[Music Tools](https://music.sarsoo.xyz)
|
[Mixonomer](https://music.sarsoo.xyz)
|
||||||
==================
|
==================
|
||||||
|
|
||||||
![Python Tests](https://github.com/sarsoo/music-tools/workflows/test%20and%20deploy/badge.svg)
|
![Python Tests](https://github.com/sarsoo/Mixonomer/workflows/test%20and%20deploy/badge.svg)
|
||||||
|
|
||||||
Set of utility tools for Spotify and Last.fm.
|
Set of utility tools for Spotify and Last.fm.
|
||||||
Built on my other libraries for Spotify ([spotframework](https://github.com/Sarsoo/spotframework)), Last.fm ([fmframework](https://github.com/Sarsoo/pyfmframework)) and interfacing utility tools for the two ([spotfm](https://github.com/Sarsoo/pyfmframework)). Currently running on a suite of Google Cloud Platform services. An iOS client is currently under development [here](https://github.com/Sarsoo/Music-Tools-iOS).
|
Built on my other libraries for Spotify ([spotframework](https://github.com/Sarsoo/spotframework)), Last.fm ([fmframework](https://github.com/Sarsoo/pyfmframework)) and interfacing utility tools for the two ([spotfm](https://github.com/Sarsoo/pyfmframework)). Currently running on a suite of Google Cloud Platform services. An iOS client is currently under development [here](https://github.com/Sarsoo/Mixonomer-iOS).
|
||||||
|
|
||||||
Read the full documentation [here](https://sarsoo.github.io/Music-Tools/).
|
Read the full documentation [here](https://sarsoo.github.io/Mixonomer/).
|
||||||
|
|
||||||
# Smart Playlists
|
# Smart Playlists
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Playlists can pull tracks from multiple sources with some extra ones based on th
|
|||||||
* Spotify playlists
|
* Spotify playlists
|
||||||
- Currently referenced by case-sensitive names of those followed by the user
|
- Currently referenced by case-sensitive names of those followed by the user
|
||||||
- Plan to include reference by Spotify URI
|
- Plan to include reference by Spotify URI
|
||||||
* Other Music Tools playlists
|
* Other Mixonomer playlists
|
||||||
- Dynamically include the Spotify playlists of other managed playlists
|
- Dynamically include the Spotify playlists of other managed playlists
|
||||||
- Used to allow hierarchy playlists such as for genre (as seen above for multiple rap playlists)
|
- Used to allow hierarchy playlists such as for genre (as seen above for multiple rap playlists)
|
||||||
* Spotify Library Tracks
|
* Spotify Library Tracks
|
||||||
|
2
admin.py
2
admin.py
@ -35,7 +35,7 @@ COMPONENTS:
|
|||||||
|
|
||||||
|
|
||||||
class Admin(Cmd):
|
class Admin(Cmd):
|
||||||
intro = 'Music Tools Admin... ? for help'
|
intro = 'Mixonomer Admin... ? for help'
|
||||||
prompt = '> '
|
prompt = '> '
|
||||||
|
|
||||||
locals = ['spotframework', 'fmframework', 'spotfm']
|
locals = ['spotframework', 'fmframework', 'spotfm']
|
||||||
|
@ -6,3 +6,9 @@ dispatch:
|
|||||||
- url: "music.sarsoo.xyz/*"
|
- url: "music.sarsoo.xyz/*"
|
||||||
service: spotify
|
service: spotify
|
||||||
|
|
||||||
|
- url: "mixonomer.sarsoo.xyz/*"
|
||||||
|
service: spotify
|
||||||
|
|
||||||
|
- url: "mix.sarsoo.xyz/*"
|
||||||
|
service: spotify
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 122 KiB |
Binary file not shown.
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 130 KiB |
Binary file not shown.
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 88 KiB |
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
# -- Project information -----------------------------------------------------
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
project = 'Music Tools'
|
project = 'Mixonomer'
|
||||||
copyright = '2021, Sarsoo'
|
copyright = '2021, Sarsoo'
|
||||||
author = 'Sarsoo'
|
author = 'Sarsoo'
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Music Tools
|
Mixonomer
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
@ -10,12 +10,12 @@ Music Tools
|
|||||||
Admin Script <src/admin>
|
Admin Script <src/admin>
|
||||||
All Modules <src/modules>
|
All Modules <src/modules>
|
||||||
|
|
||||||
`Music Tools <https://music.sarsoo.xyz>`_
|
`Mixonomer <https://music.sarsoo.xyz>`_
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
.. image:: https://github.com/sarsoo/music-tools/workflows/test%20and%20deploy/badge.svg
|
.. image:: https://github.com/sarsoo/Mixonomer/workflows/test%20and%20deploy/badge.svg
|
||||||
|
|
||||||
Music Tools is a web app for creating smart Spotify playlists. The app is based on `spotframework <https://github.com/Sarsoo/spotframework>`_ and `fmframework <https://github.com/Sarsoo/pyfmframework>`_ for interfacing with Spotify and Last.fm. The app is currently hosted on Google's Cloud Platform.
|
Mixonomer is a web app for creating smart Spotify playlists. The app is based on `spotframework <https://github.com/Sarsoo/spotframework>`_ and `fmframework <https://github.com/Sarsoo/pyfmframework>`_ for interfacing with Spotify and Last.fm. The app is currently hosted on Google's Cloud Platform.
|
||||||
|
|
||||||
The backend is composed of a Flask web server with a Fireo ORM layer and longer tasks dispatched to Cloud Tasks or Functions. The frontend is a React app with material UI components and Axios for HTTP requests.
|
The backend is composed of a Flask web server with a Fireo ORM layer and longer tasks dispatched to Cloud Tasks or Functions. The frontend is a React app with material UI components and Axios for HTTP requests.
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ todonotes
|
|||||||
\begin_body
|
\begin_body
|
||||||
|
|
||||||
\begin_layout Title
|
\begin_layout Title
|
||||||
Sarsoo Music Tools: A cloud-based web app for smarter playlists
|
Sarsoo Mixonomer: A cloud-based web app for smarter playlists
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Author
|
\begin_layout Author
|
||||||
@ -101,7 +101,7 @@ Online music streaming services have allowed the consumption of a wider
|
|||||||
breadth of music than ever before.
|
breadth of music than ever before.
|
||||||
These services, however, typically do not lend themselves to the structured
|
These services, however, typically do not lend themselves to the structured
|
||||||
listening of a library of music categorised by genre and sub-genre.
|
listening of a library of music categorised by genre and sub-genre.
|
||||||
Sarsoo Music Tools presents a method for doing so via smart playlists with
|
Sarsoo Mixonomer presents a method for doing so via smart playlists with
|
||||||
emphasis on drawing tracks from other playlists facilitating a hierarchy
|
emphasis on drawing tracks from other playlists facilitating a hierarchy
|
||||||
well suited to listening by genre.
|
well suited to listening by genre.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Music Tools Modules
|
Mixonomer Modules
|
||||||
======================
|
======================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
"""Root module containing Music Tools backend
|
"""Root module containing Mixonomer backend
|
||||||
|
|
||||||
Top level module with functions for creating app with loaded blueprints and initialising the logging stack
|
Top level module with functions for creating app with loaded blueprints and initialising the logging stack
|
||||||
|
|
||||||
|
@ -102,5 +102,5 @@ def get_authed_lastfm_network(user: User) -> Optional[FmNetwork]:
|
|||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class DatabaseUser(NetworkUser):
|
class DatabaseUser(NetworkUser):
|
||||||
"""Adding Music Tools username to spotframework network user"""
|
"""Adding Mixonomer username to spotframework network user"""
|
||||||
user_id: str = None
|
user_id: str = None
|
||||||
|
@ -15,7 +15,7 @@ def create_app():
|
|||||||
"""Generate and retrieve a ready-to-run flask app
|
"""Generate and retrieve a ready-to-run flask app
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Flask App: Music Tools app
|
Flask App: Mixonomer app
|
||||||
"""
|
"""
|
||||||
|
|
||||||
app = Flask(__name__, static_folder=os.path.join(os.path.dirname(__file__), '..', 'build'), template_folder="templates")
|
app = Flask(__name__, static_folder=os.path.join(os.path.dirname(__file__), '..', 'build'), template_folder="templates")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>sarsoo/music</title>
|
<title>sarsoo/mixonomer</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
<link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
||||||
<link href="https://fonts.googleapis.com/css?family=Pirata+One|Lato" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css?family=Pirata+One|Lato" rel="stylesheet">
|
||||||
@ -16,7 +16,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="title">sarsoo</h1>
|
<h1 class="title">Mixonomer</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% with messages = get_flashed_messages() %}
|
{% with messages = get_flashed_messages() %}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>sarsoo/{% block title %}{% endblock %}</title>
|
<title>Mixonomer/{% block title %}{% endblock %}</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
<link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
||||||
<link href="https://fonts.googleapis.com/css?family=Pirata+One|Roboto" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css?family=Pirata+One|Roboto" rel="stylesheet">
|
||||||
@ -19,12 +19,12 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="title">sarsoo</h1>
|
<h1 class="title">Mixonomer</h1>
|
||||||
</div>
|
</div>
|
||||||
<br><br>
|
<br><br>
|
||||||
<ul class="navbar">
|
<ul class="navbar">
|
||||||
<li><a href="/">Home</a></li>
|
<li><a href="/">Home</a></li>
|
||||||
<li><a href="https://sarsoo.xyz">Sarsoo.xyz</a></li>
|
<li><a href="https://sarsoo.xyz">sarsoo.xyz</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="{% if logged_in %}pad-12{% else %}pad-9{% endif %} card">
|
<div class="{% if logged_in %}pad-12{% else %}pad-9{% endif %} card">
|
||||||
<h1 class="center-text">Music Tools</h1>
|
<!-- <h1 class="center-text">Mixonomer</h1> -->
|
||||||
|
|
||||||
<p class="center-text">A set of tools using Spotify and Last.fm to create smart playlists and calculate listening statistics</p>
|
<p class="center-text">A set of tools using Spotify and Last.fm to create smart playlists and calculate listening statistics</p>
|
||||||
<p class="center-text">Playlists are updated multiple times a day to keep tracks up to date</p>
|
<p class="center-text">Playlists are updated multiple times a day to keep tracks up to date</p>
|
||||||
@ -24,8 +24,8 @@
|
|||||||
<p class="center-text">Written in Python and Javascript, based on the <a href="https://github.com/Sarsoo/spotframework">spotframework</a> and <a href="https://github.com/Sarsoo/pyfmframework">fmframework</a> libraries</p>
|
<p class="center-text">Written in Python and Javascript, based on the <a href="https://github.com/Sarsoo/spotframework">spotframework</a> and <a href="https://github.com/Sarsoo/pyfmframework">fmframework</a> libraries</p>
|
||||||
|
|
||||||
<div style="padding:10px">
|
<div style="padding:10px">
|
||||||
<a class="button" style="padding:15px;width:49%" href="https://github.com/Sarsoo/Music-Tools">View Source</a>
|
<a class="button" style="padding:15px;width:49%" href="https://github.com/Sarsoo/Mixonomer">View Source</a>
|
||||||
<a class="button" style="padding:15px;width:49%" href="https://github.com/Sarsoo/Music-Tools-iOS">iOS Client Source</a>
|
<a class="button" style="padding:15px;width:49%" href="https://github.com/Sarsoo/Mixonomer-iOS">iOS Client Source</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if logged_in %}
|
{% if logged_in %}
|
||||||
@ -49,7 +49,7 @@
|
|||||||
<ul style="text-align:left" >
|
<ul style="text-align:left" >
|
||||||
<li style="padding:10px">Spotify Playlists</li>
|
<li style="padding:10px">Spotify Playlists</li>
|
||||||
<li style="padding:10px">Spotify Library Tracks</li>
|
<li style="padding:10px">Spotify Library Tracks</li>
|
||||||
<li style="padding:10px">Music Tools Playlists</li>
|
<li style="padding:10px">Mixonomer Playlists</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="pad-6 card">
|
<div class="pad-6 card">
|
||||||
|
549
package-lock.json
generated
549
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "music-tools",
|
"name": "mixonomer",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "web app for spotify playlist management with last.fm integration",
|
"description": "web app for spotify playlist management with last.fm integration",
|
||||||
"private": true,
|
"private": true,
|
||||||
@ -10,14 +10,14 @@
|
|||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/Sarsoo/Music-Tools.git"
|
"url": "git+https://github.com/Sarsoo/Mixonomer.git"
|
||||||
},
|
},
|
||||||
"author": "sarsoo",
|
"author": "sarsoo",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/Sarsoo/Music-Tools/issues"
|
"url": "https://github.com/Sarsoo/Mixonomer/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/Sarsoo/Music-Tools#readme",
|
"homepage": "https://github.com/Sarsoo/Mixonomer#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@material-ui/core": "^4.11.3",
|
"@material-ui/core": "^4.11.3",
|
||||||
"@material-ui/icons": "^4.11.2",
|
"@material-ui/icons": "^4.11.2",
|
||||||
|
@ -5,7 +5,7 @@ description = "Spotify smart playlist generator. Last.fm integration for listeni
|
|||||||
authors = ["andy <andy@sarsoo.xyz>"]
|
authors = ["andy <andy@sarsoo.xyz>"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
homepage = "https://music.sarsoo.xyz/"
|
homepage = "https://music.sarsoo.xyz/"
|
||||||
repository = "https://github.com/Sarsoo/Music-Tools"
|
repository = "https://github.com/Sarsoo/Mixonomer"
|
||||||
|
|
||||||
[tool.poetry.scripts]
|
[tool.poetry.scripts]
|
||||||
test = 'admin:test'
|
test = 'admin:test'
|
||||||
|
@ -100,7 +100,7 @@ class MusicTools extends Component {
|
|||||||
<MenuIcon />
|
<MenuIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Typography variant="h6">
|
<Typography variant="h6">
|
||||||
<Link to='/app/playlists' style={{textDecoration: 'none'}}>Music Tools</Link>
|
<Link to='/app/playlists' style={{textDecoration: 'none'}}>Mixes</Link>
|
||||||
</Typography>
|
</Typography>
|
||||||
</Toolbar>
|
</Toolbar>
|
||||||
</AppBar>
|
</AppBar>
|
||||||
|
@ -263,7 +263,7 @@ export class Edit extends Component{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle adding new watched music tools playlist reference
|
* Handle adding new watched Mixonomer playlist reference
|
||||||
* @param {*} event Event data
|
* @param {*} event Event data
|
||||||
*/
|
*/
|
||||||
handleAddReference(event){
|
handleAddReference(event){
|
||||||
@ -320,7 +320,7 @@ export class Edit extends Component{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle removing watched music tools playlist reference
|
* Handle removing watched Mixonomer playlist reference
|
||||||
* @param {*} id Subject playlist name
|
* @param {*} id Subject playlist name
|
||||||
* @param {*} event Event data
|
* @param {*} event Event data
|
||||||
*/
|
*/
|
||||||
|
@ -3,6 +3,6 @@ import ReactDOM from "react-dom";
|
|||||||
|
|
||||||
import MusicTools from "./MusicTools";
|
import MusicTools from "./MusicTools";
|
||||||
|
|
||||||
// ROOT file for bootstrapping the Music Tools component and app
|
// ROOT file for bootstrapping the Mixonomer component and app
|
||||||
|
|
||||||
ReactDOM.render(<MusicTools />, document.getElementById('react'));
|
ReactDOM.render(<MusicTools />, document.getElementById('react'));
|
@ -145,7 +145,7 @@ h1.title {
|
|||||||
background-color: white;
|
background-color: white;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
/*font-size: 16em;*/
|
/*font-size: 16em;*/
|
||||||
width: 3.5em;
|
width: 5em;
|
||||||
height: 1.3em;
|
height: 1.3em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
Loading…
Reference in New Issue
Block a user