modified: app.py
This commit is contained in:
20
app.py
20
app.py
@@ -17,20 +17,34 @@ app.secret_key = os.getenv("SECRET_KEY")
|
||||
SCOPE = "user-library-read playlist-read-private streaming user-read-email user-read-private"
|
||||
|
||||
def get_spotify_client():
|
||||
return spotipy.Spotify(auth_manager=SpotifyOAuth(
|
||||
token_info = session.get("token_info", None)
|
||||
if not token_info:
|
||||
# Kein Token, redirect handled elsewhere
|
||||
return None
|
||||
# Prüfen, ob Token abgelaufen ist
|
||||
sp_oauth = SpotifyOAuth(
|
||||
client_id=os.getenv("SPOTIPY_CLIENT_ID"),
|
||||
client_secret=os.getenv("SPOTIPY_CLIENT_SECRET"),
|
||||
redirect_uri=os.getenv("SPOTIPY_REDIRECT_URI"),
|
||||
scope=SCOPE,
|
||||
cache_path=".cache"
|
||||
))
|
||||
)
|
||||
if sp_oauth.is_token_expired(token_info):
|
||||
token_info = sp_oauth.refresh_access_token(token_info['refresh_token'])
|
||||
session["token_info"] = token_info
|
||||
return spotipy.Spotify(auth=token_info['access_token'])
|
||||
|
||||
def similarity(a, b):
|
||||
return SequenceMatcher(None, a.lower(), b.lower()).ratio()
|
||||
|
||||
def clean_title(title):
|
||||
# Entfernt alles in () oder []
|
||||
return re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title).strip()
|
||||
title = re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title)
|
||||
# Vereinheitliche Apostrophen und Anführungszeichen
|
||||
title = title.replace("’", "'").replace("‘", "'").replace("`", "'")
|
||||
title = title.replace('"', '').replace("„", '').replace("“", '').replace("”", '')
|
||||
title = title.replace("'", "") # Optional: alle Apostrophen entfernen
|
||||
return title.strip()
|
||||
|
||||
def get_all_playlist_tracks(sp, playlist_id):
|
||||
tracks = []
|
||||
|
||||
Reference in New Issue
Block a user