From 90355661bf21475515180f75c337b940e455b766 Mon Sep 17 00:00:00 2001 From: Matthias Jacob Date: Sun, 18 Sep 2022 16:41:07 +0200 Subject: [PATCH] cleanup, refactor sources into enum --- main.py | 51 ++++++++++++++++++++++-------------------------- requirements.txt | 3 ++- 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/main.py b/main.py index 7e4f7df..a8ecba2 100644 --- a/main.py +++ b/main.py @@ -1,43 +1,43 @@ import os import re -import pandas as pd - +from enum import Enum +from pprint import pprint from urllib.parse import urlparse +import pandas as pd + import spotipy -#from spotipy.oauth2 import SpotifyClientCredentials from spotipy.oauth2 import SpotifyOAuth -from pprint import pprint from config import * -SRC_SPOTIFY = 'spotify' -SRC_YOUTUBE = 'youtube' -SRC_SOUNDCLOUD = 'soundcloud' -SRC_BANDCAMP = 'bandcamp' -SRC_OTHER = 'other' +class MusicSource(Enum): + SPOTIFY = 'spotify' + YOUTUBE = 'youtube' + SOUNDCLOUD = 'soundcloud' + BANDCAMP = 'bandcamp' + OTHER = 'other' os.environ['SPOTIPY_CLIENT_ID'] = SPOTIPY_CLIENT_ID os.environ['SPOTIPY_CLIENT_SECRET'] = SPOTIPY_CLIENT_SECRET SERVICES = { - 'open.spotify.com': SRC_SPOTIFY, - 'youtu.be': SRC_YOUTUBE, - 'www.youtube.com': SRC_YOUTUBE, - 'soundcloud.app.goo.gl': SRC_SOUNDCLOUD, - 'on.soundcloud.com': SRC_SOUNDCLOUD, - 'm.soundcloud.com': SRC_SOUNDCLOUD, - 'soundcloud.com': SRC_SOUNDCLOUD + 'open.spotify.com': MusicSource.SPOTIFY, + 'youtu.be': MusicSource.YOUTUBE, + 'www.youtube.com': MusicSource.YOUTUBE, + 'soundcloud.app.goo.gl': MusicSource.SOUNDCLOUD, + 'on.soundcloud.com': MusicSource.SOUNDCLOUD, + 'm.soundcloud.com': MusicSource.SOUNDCLOUD, + 'soundcloud.com': MusicSource.SOUNDCLOUD } def echo(link): o = urlparse(link) - #print(o.hostname) if re.match(r'([A-Za-z0-9\-]*\.)?bandcamp.com', o.hostname): - return {'source': SRC_BANDCAMP, 'link': link} + return {'source': MusicSource.BANDCAMP, 'link': link} - return {'source': SERVICES.get(o.hostname, SRC_OTHER), 'link': link} + return {'source': SERVICES.get(o.hostname, MusicSource.OTHER), 'link': link} @@ -58,13 +58,13 @@ def update_spotify_from_export(): other_links = [] for i in links_w_source: - if i['source'] == 'spotify': + if i['source'] == MusicSource.SPOTIFY: spotify_links.append(i['link']) - elif i['source'] == 'youtube': + elif i['source'] == MusicSource.YOUTUBE: yt_links.append(i['link']) - elif i['source'] == 'soundcloud': + elif i['source'] == MusicSource.SOUNDCLOUD: soundcloud_links.append(i['link']) - elif i['source'] == 'bandcamp': + elif i['source'] == MusicSource.BANDCAMP: bandcamp.append(i['link']) else: other_links.append(i['link']) @@ -75,11 +75,6 @@ def update_spotify_from_export(): print(bandcamp) print(other_links) - - - #birdy_uri = 'spotify:artist:2WX2uTcsvV5OnS0inACecP' - #spotify = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) - scope = "playlist-modify-private" os.environ['SPOTIPY_REDIRECT_URI'] = 'https://example.com/callback' diff --git a/requirements.txt b/requirements.txt index 658cadf..4e4b359 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ #python-telegram-bot -spotipy \ No newline at end of file +spotipy +pandas