#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)
|
url = get_playlist_url(playlist_id)
|
||||||
result = self.get_request(url)
|
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):
|
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
|
from ncm.file_util import resize_img
|
||||||
|
|
||||||
|
|
||||||
def download_song_by_id(song_id, download_folder, sub_folder=True):
|
def get_song_info_by_id(song_id):
|
||||||
# get song info
|
|
||||||
api = CloudApi()
|
api = CloudApi()
|
||||||
song = api.get_song(song_id)
|
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)
|
download_song_by_song(song, download_folder, sub_folder)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import os
|
||||||
from urllib.parse import urlparse, parse_qs
|
from urllib.parse import urlparse, parse_qs
|
||||||
from ncm import config
|
from ncm import config
|
||||||
from ncm.api import CloudApi
|
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_id
|
||||||
from ncm.downloader import download_song_by_song
|
from ncm.downloader import download_song_by_song
|
||||||
from ncm.downloader import format_string
|
from ncm.downloader import format_string
|
||||||
|
@ -38,8 +39,9 @@ def download_playlist_songs(playlist_id):
|
||||||
folder_name = format_string(playlist_name) + ' - playlist'
|
folder_name = format_string(playlist_name) + ' - playlist'
|
||||||
folder_path = os.path.join(config.DOWNLOAD_DIR, folder_name)
|
folder_path = os.path.join(config.DOWNLOAD_DIR, folder_name)
|
||||||
for i, song in enumerate(songs):
|
for i, song in enumerate(songs):
|
||||||
print('{}: {}'.format(i + 1, song['name']))
|
song_detail = get_song_info_by_id(song['id'])
|
||||||
download_song_by_song(song, folder_path, False)
|
print('{}: {}'.format(i + 1, song_detail['name']))
|
||||||
|
download_song_by_song(song_detail, folder_path, False)
|
||||||
|
|
||||||
|
|
||||||
def get_parse_id(song_id):
|
def get_parse_id(song_id):
|
||||||
|
|
Loading…
Reference in New Issue