二手歌曲数据库的api包装
second_hand_songs_wrapper的Python项目详细描述
为[secondhandsongs](http://www.secondhandsongs.com/)数据库[api](http://www.secondhandsongs.com/wiki/API/Main)提供各种版本和歌曲封面的信息的一个简单包装器。它不是手动构造搜索字符串、获取json和构建模型,而是通过函数创建模型来获取某些类型的数据。
注意:SHS API仍在测试阶段!幸运的是,这个库使用了数据验证(非常好的[voluptuous library](http://pypi.python.org/pypi/voluptuous/))所以它将通过抛出异常来中断,而不是在api更改时返回奇怪的结果。api目前没有指定版本,可能是因为它是beta版。
这些类基于[api page](http://www.secondhandsongs.com/wiki/API/Main)中列出的数据类型。这些字段与json响应中的字典键相匹配,在从获取的json数据动态设置字段以允许eclipse/pydev的autocomplete等静态工具对其进行操作之前,它们也会逐个初始化为none。 除了表演、创作和释放一个什萨特人的钥匙。json api返回uri,从中获取这些键的数据,而不是实际数据。包装器库将uri存储在performance_uri、creditedworks_uri下,并释放_uri字段,只有在performance_data、creditedworks_data和releases_data下首次请求时才获取实际数据。shsartist没有性能、信誉作品或发布字段。
每个模型类都有一个get_from_resource_id factory函数来获取与该id相关联的资源:
示例:second_hand_songs.shsartist.get_from_resource_id(360)返回有关“iggy pop”的数据
当然,大多数资源不是由资源id标识的,而是由uri标识的,因此您还可以直接使用以下命令下载资源:
二手歌曲。getshsresource(uri)
您还可以搜索表演或作品:
例如:二手歌曲。二手搜索(“blackbird”,performer=“beatles”)