示例#1
0
def before_request():
    token = None

    if path.exists(TOKEN_FILE):
        with open(TOKEN_FILE, 'rb') as f:
            token = pickle.load(f)
        g.kkbox = KKBOXAPI(token)
        return

    auth = KKBOXOAuth(app.config['CLIENT_ID'], app.config['CLIENT_SECRET'])
    token = auth.fetch_access_token_by_client_credentials()
    g.kkbox = KKBOXAPI(token)

    with open(TOKEN_FILE, 'wb') as f:
        pickle.dump(token, f)
def getSongID(songname, token):
    kkboxapi = KKBOXAPI(token)
    search_results = kkboxapi.search_fetcher.search(songname,
                                                    types=['track'],
                                                    terr='TW')
    songID = search_results['tracks']['data']
    return songID[0]['id']
示例#3
0
def connect_kkbox():
    #call kkbox api to search song url
    auth = KKBOXOAuth(
        config.client_id, config.client_secret
    )  # Replace CLIENT_ID and CLIENT_SECRET with your ID and Secret
    token = auth.fetch_access_token_by_client_credentials()
    kkboxapi = KKBOXAPI(token)
    return kkboxapi
示例#4
0
 def testReadMeExample(self):
     from kkbox_developer_sdk.auth_flow import KKBOXOAuth
     from .env import ClientInfo
     auth = KKBOXOAuth(ClientInfo.client_id, ClientInfo.client_secret)
     token = auth.fetch_access_token_by_client_credentials()
     from kkbox_developer_sdk.api import KKBOXAPI
     kkboxapi = KKBOXAPI(token)
     artist_id = '8q3_xzjl89Yakn_7GB'
     artist = kkboxapi.artist_fetcher.fetch_artist(artist_id)
     assert(artist != None)
def search_playlists(token, keyword):
    """Search playlists using the given keyword.

    This function returns a list of playlist object directly.
    """
    kkboxapi = KKBOXAPI(token)
    data = kkboxapi.search_fetcher.search(keyword,
                                          types=['playlist'],
                                          terr='TW')
    return data['playlists']['data']
def init():
    global auth, token, kkboxapi
    auth = KKBOXOAuth(CLIENT_ID, CLIENT_SECRET)
    token = auth.fetch_access_token_by_client_credentials()
    kkboxapi = KKBOXAPI(token)
示例#7
0
import lyricsgenius
import requests
import pandas as pd
from tqdm import tqdm
import time
import datetime
from bs4 import BeautifulSoup
from kkbox_developer_sdk.auth_flow import KKBOXOAuth

# KKBOX API setup
auth = KKBOXOAuth('70c7e34eb87791c22919e8022ff8ef2a',
                  '874a427a0829434c423f69e9f364e644')
token = auth.fetch_access_token_by_client_credentials()

from kkbox_developer_sdk.api import KKBOXAPI
kkboxapi = KKBOXAPI(token)

# Genius API setup
genius = lyricsgenius.Genius(
    "s1t9yyg-jOQWjkHZ7nNEEp4iHYlyMMWw7GNtV3xk3t2m8CAC-lDQoZEl4jHCvL-M")
genius.verbose = False
genius.skip_non_songs = True

script_dir = os.path.dirname(__file__)
chunk_size = 50
pbar = 0


def lyric_wikia(artist, song):
    try:
        return "\"" + lyricwikia.get_lyrics(artist, song) + "\""
示例#8
0
文件: app.py 项目: zonble/k2y
    """Converts newlines into <p> and <br />s."""
    value = re.sub(r'\r\n|\r|\n', '\n', value)  # normalize newlines
    paras = re.split('\n{2,}', value)
    paras = [u'<p>%s</p>' % p.replace('\n', '<br />') for p in paras]
    paras = u'\n\n'.join(paras)
    return Markup(paras)


# refers to application_top
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
APP_STATIC = os.path.join(APP_ROOT, 'static')
CLIENT_ID = 'YOUR_API_KEY'
CLIENT_SECRET = 'YOUR_API_SECRET'
auth = KKBOXOAuth(CLIENT_ID, CLIENT_SECRET)
token = auth.fetch_access_token_by_client_credentials()
api = KKBOXAPI(token)
youtube = Youtube()


def get_chart_category():
    try:
        categories = api.chart_fetcher.fetch_charts().get('data')
        cache.set('chart_category', categories, timeout=60 * 60 * 12)
        return categories
    except Exception as e:
        return []


def get_playlist_category():
    try:
        categories = api.feature_playlist_category_fetcher.fetch_categories_of_feature_playlist(