将本地专辑保存到Spotify
项目描述
slats
slats将本地专辑保存到Spotify。
使用方法
首先,您需要编写一个JSON文件,列出您想要保存到Spotify账户的专辑(最好以某种自动化的方式)。例如,
[
{ "album_artist": "Biosphere", "album": "Seti Project" },
{ "album_artist": "Biosphere", "album": "Shenzhou" },
{ "album_artist": "Biosphere", "album": "Substrata" },
{ "album_artist": "Biosphere", "album": "Dropsonde" },
{
"album_artist": "Darcy James Argue's Secret Society",
"album": "Infernal Machines"
},
{ "album_artist": "Haruka Nakamura", "album": "Grace" },
{ "album_artist": "Haruka Nakamura", "album": "Twilight" },
{ "album_artist": "Jens Lekman", "album": "I Know What Love Isn't" },
{ "album_artist": "Jens Lekman", "album": "Night Falls Over Kortedala" }
]
请注意,您提供的JSON需要遵循以下架构
{
"type": "array",
"items": {
"type": "object",
"properties": {
"album_artist": { "type": "string" },
"album": { "type": "string" }
}
}
}
准备好JSON文件后,运行slats,
slats --albums-json my_json_file.json
slats将在您喜欢的浏览器中打开Spotify身份验证页面,然后您需要同意slats修改您的账户。身份验证后,slats将要求您输入身份验证后重定向到的URL。
然后slats将尝试查找JSON文件中的每个专辑,如果它能在Spotify上找到相应的专辑并且您尚未保存该专辑,它将把该专辑保存到您的账户。slats会给出丰富的彩色输出,以便您确切了解正在发生什么。
有什么问题吗?
Spotify歌曲限制
Spotify限制您账户中可以保存的歌曲数量为10,000首——至少在本写作时如此(2019-05-02)。这意味着如果您想将庞大的音乐库导入Spotify,遗憾的是这只会保存该库的一小部分。更糟糕的是,当发生这种情况时,Spotify API不会返回任何合理的错误。当我导入我的音乐库时,出现502错误是一个相当一致的迹象,表明我已经达到了歌曲限制。所以如果你的运行失败并出现502错误,也许你已经达到了歌曲限制。
如果您担心达到Spotify的歌曲限制,一种解决方法是将您想导入的专辑分成几部分,并分别对每个部分运行slats。
Spotify API速率限制
Spotify没有关于其API速率限制(单位时间内的请求数)的透明度。因为我不知道速率限制是多少,所以我没有在代码中对其进行保护。所以如果您的运行因速率限制错误而崩溃,请稍等一下,然后重试(也许您可以在您的JSON文件中移除已经处理过的专辑,这样在下一个迭代中使用的请求就会更少)。
安装
您可以使用以下命令使用pip安装slats:
sudo pip3 install slats
或者直接使用源代码运行run_slats.py
脚本。
配置
slats在两个路径中查找配置文件:
$PROJECT_ROOT/config.yaml
$XDG_CONFIG_HOME/slats/config.yaml
其中$PROJECT_ROOT
是slats项目的根目录(您通常只在从源运行时使用它),而$XDG_CONFIG_HOME
默认为$HOME/.config
,如果您没有定义它。
要开始,请将示例配置文件config.yaml.example
复制到上述位置之一(确保将其重命名为config.yaml
)。
接下来,您需要获取您的Spotify用户名并注册一个Spotify应用(这对于slats工作来说是必需的)。您可以在Spotify主站上的账户页面找到您的Spotify用户名;有关注册Spotify应用的详细信息,请参阅此页面。
在您复制的配置文件中,将spotify-username
填写为您的Spotify用户名,将注册应用后获得的spotify-client-id
和spotify-client-secret
填写到相应的字段中,并将spotify-redirect-uri
设置为您的应用中已白名单的任何重定向URI。
项目详情
slats-1.0.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 804d71d3d73de1a0e363b09bd2af36fa031ab4fd5cd21b950626aafd7ec707f2 |
|
MD5 | 21145a109cc92fad604cc4f828847d95 |
|
BLAKE2b-256 | 5ac1a79a5f826ba646d4815f660560a586763c1e7793c702f12038942b1ed242 |