feat: actual working stuff for release

This commit is contained in:
Ashhhleyyy 2022-10-03 22:17:35 +01:00
parent 393cd32282
commit ad2b047c05
Signed by: ash
GPG key ID: 83B789081A0878FB
3 changed files with 22 additions and 1 deletions

19
README.md Normal file
View file

@ -0,0 +1,19 @@
# SpotiStats
See the split of artists in your Spotify playlists.
## Hosting
You need to set the following environment variables before running the server:
- `SPOTIPY_CLIENT_ID`
- `SPOTIPY_CLIENT_SECRET`
- `SPOTIPY_REDIRECT_URI`
- `SECRET_KEY`
### Why aren't you hosting a version?
The short answer is: Spotify.
In order to allow uninvited users to use the app, I would have to submit a quota extension request, which requires a bunch of information filling out and can take up to six weeks to process, and is really too much for a simple project I threw together in an evening.
I don't really understand why this process is needed, other than to scare off people from building stuff with their API. Most other services I've worked with (eg. GitHub, Discord) allow anyone to register OAuth apps that can be used by anyone with no restrictions (other than if you were breaking their TOS or something), so this really just feels like Spotify just don't want individuals to build cool things with their platform :/

2
app.py
View file

@ -11,11 +11,13 @@ from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure from matplotlib.figure import Figure
import numpy as np import numpy as np
import io import io
import os
import base64 import base64
load_dotenv() load_dotenv()
app = Flask(__name__) app = Flask(__name__)
app.secret_key = os.environ.get('SECRET_KEY')
def get_spotify() -> Optional[spotipy.Spotify]: def get_spotify() -> Optional[spotipy.Spotify]:
cache_handler = spotipy.cache_handler.FlaskSessionCacheHandler(session) cache_handler = spotipy.cache_handler.FlaskSessionCacheHandler(session)

View file

@ -1,5 +1,5 @@
[tool.poetry] [tool.poetry]
name = "playlist-split" name = "spotistats"
version = "0.1.0" version = "0.1.0"
description = "" description = ""
authors = ["Ashhhleyyy <ash@ashhhleyyy.dev>"] authors = ["Ashhhleyyy <ash@ashhhleyyy.dev>"]