#56 Bugfix: Fix api change of playlist, use v6 version.
This commit is contained in:
parent
5c572751b7
commit
6f610e62f6
|
@ -91,7 +91,7 @@ class CloudApi(object):
|
|||
"""
|
||||
url = get_playlist_url(playlist_id)
|
||||
result = self.get_request(url)
|
||||
return result['result']['tracks'], result['result']['name']
|
||||
return result['playlist']['trackIds'], result['playlist']['name']
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -31,4 +31,4 @@ def get_artist_url(artist_id):
|
|||
|
||||
|
||||
def get_playlist_url(playlist_id):
|
||||
return 'http://music.163.com/api/playlist/detail?id={}'.format(playlist_id)
|
||||
return 'http://music.163.com/api/v6/playlist/detail?id={}'.format(playlist_id)
|
||||
|
|
|
@ -10,10 +10,15 @@ from ncm.file_util import add_metadata_to_song
|
|||
from ncm.file_util import resize_img
|
||||
|
||||
|
||||
def download_song_by_id(song_id, download_folder, sub_folder=True):
|
||||
# get song info
|
||||
def get_song_info_by_id(song_id):
|
||||
api = CloudApi()
|
||||
song = api.get_song(song_id)
|
||||
return song
|
||||
|
||||
|
||||
def download_song_by_id(song_id, download_folder, sub_folder=True):
|
||||
# get song info
|
||||
song = get_song_info_by_id(song_id)
|
||||
download_song_by_song(song, download_folder, sub_folder)
|
||||
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import os
|
|||
from urllib.parse import urlparse, parse_qs
|
||||
from ncm import config
|
||||
from ncm.api import CloudApi
|
||||
from ncm.downloader import get_song_info_by_id
|
||||
from ncm.downloader import download_song_by_id
|
||||
from ncm.downloader import download_song_by_song
|
||||
from ncm.downloader import format_string
|
||||
|
@ -38,8 +39,9 @@ def download_playlist_songs(playlist_id):
|
|||
folder_name = format_string(playlist_name) + ' - playlist'
|
||||
folder_path = os.path.join(config.DOWNLOAD_DIR, folder_name)
|
||||
for i, song in enumerate(songs):
|
||||
print('{}: {}'.format(i + 1, song['name']))
|
||||
download_song_by_song(song, folder_path, False)
|
||||
song_detail = get_song_info_by_id(song['id'])
|
||||
print('{}: {}'.format(i + 1, song_detail['name']))
|
||||
download_song_by_song(song_detail, folder_path, False)
|
||||
|
||||
|
||||
def get_parse_id(song_id):
|
||||
|
|
Loading…
Reference in New Issue