跳转到主要内容

将本地专辑保存到Spotify

项目描述

PyPI PyPI - Python Version Code style: black

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在两个路径中查找配置文件:

  1. $PROJECT_ROOT/config.yaml
  2. $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-idspotify-client-secret填写到相应的字段中,并将spotify-redirect-uri设置为您的应用中已白名单的任何重定向URI。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

slats-1.0.0.tar.gz (8.3 kB 查看散列)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面