diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 13:08:40 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 13:08:40 +0000 |
commit | e394479589d52e369cb8b60e7514094b0fd009a7 (patch) | |
tree | ef91730d87bab8f5daa2b083c8ec67d688690edc | |
parent | 7cdaecdc19e3bc2c68f40c6f04d9e03b2699eee2 (diff) |
automatic import of python-pyncmopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pyncm.spec | 478 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 480 insertions, 0 deletions
@@ -0,0 +1 @@ +/pyncm-1.6.8.9.1.tar.gz diff --git a/python-pyncm.spec b/python-pyncm.spec new file mode 100644 index 0000000..bc071f7 --- /dev/null +++ b/python-pyncm.spec @@ -0,0 +1,478 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyncm +Version: 1.6.8.9.1 +Release: 1 +Summary: NeteaseCloudMusic APIs for Python 3.x 适用于 Python 3 的网易云音乐 API +License: Apache Software License +URL: https://github.com/greats3an/pyncm +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d1/ef/ef3d6a1d9f4397e668340ae88f2f012c9097749e65c15d1411b0c9eaa611/pyncm-1.6.8.9.1.tar.gz +BuildArch: noarch + +Requires: python3-requests + +%description + + +# PyNCM + +# 安装 + pip install pyncm +可选 (若不考虑使用CLI则请忽略) +- `mutagen` : 为下载的音乐打上封面等 +- `tqdm` : 显示实时下载进度 +- `coloredlogs` : 彩色日志输出 + +**Windows 用户**: 在 [Releases](https://github.com/mos9527/pyncm/releases) 可下载已打包 `.exe` 版本 +# 命令行使用 + positional arguments: + 链接 网易云音乐分享链接 + + options: + -h, --help show this help message and exit + + 下载: + --max-workers 最多同时下载任务数, -m 最多同时下载任务数 + --output-name 保存文件名模板, --template 保存文件名模板, -t 保存文件名模板 + 保存文件名模板 + 参数: + id - 网易云音乐资源 ID + year - 出版年份 + no - 专辑中编号 + album - 专辑标题 + track - 单曲标题 + title - 完整标题 + artists- 艺术家名 + 例: + {track} - {artists} 等效于 {title} + -o 输出, --output 输出 输出文件夹 + 注:该参数也可使用模板,格式同 保存文件名模板 + --quality 音质 音频音质(高音质需要 CVIP) + 参数: + hires - Hi-Res + lossless- “无损” + exhigh - 较高 + standard- 标准 + --no-overwrite 不重复下载已经存在的音频文件 + + 歌词: + --lyric-no 跳过歌词 [跳过歌词 ...] + 跳过某些歌词类型的合并 + 参数: + lrc - 源语言歌词 + tlyric - 翻译后歌词 + romalrc- 罗马音歌词 + 例: + --lyric-no tlyric --lyric-no romalrc 将只下载源语言歌词 + + 登陆: + --phone 手机 网易账户手机号 + --pwd 密码, --password 密码 + 网易账户密码 + --save [保存到] 写本次登录信息于文件 + --load [保存的登陆信息文件] 从文件读取登录信息供本次登陆使用 + --http 优先使用 HTTP,不保证不被升级 + --log-level LOG_LEVEL + 日志等级 + + 限量及过滤(注:只适用于*每单个*链接 / ID): + -n 下载总量, --count 下载总量 + 限制下载歌曲总量,n=0即不限制 + --sort-by 歌曲排序 【限制总量时】歌曲排序方式 (default: 默认排序 hot: 热度高(相对于其所在专辑)在前 time: 发行时间新在前) + --reverse-sort 【限制总量时】倒序排序歌曲 + + 工具: + --save-m3u 保存M3U播放列表文件名 + 将本次下载的歌曲文件名依一定顺序保存在M3U文件中;写入的文件目录相对于该M3U文件 + 文件编码为 UTF-8 + 顺序为:链接先后优先——每个连接的所有歌曲依照歌曲排序设定 (--sort-by)排序 + +## 环境变量 +|变量名|说明| +|-|-| +|`PYNCM_DEBUG`|调试日志输出等级,`'CRITICAL', 'DEBUG', 'ERROR','FATAL','INFO','WARNING'` 之一| +### 使用示例 +## 下载单曲 +[](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1) +## 使用 [UNM](https://github.com/UnblockNeteaseMusic/server) 下载灰色歌曲 +[](https://asciinema.org/a/AX4cdzD7YcgQlTebAdCTKZQnb) +其他功能详见 +- [Demo](https://github.com/mos9527/pyncm/tree/master/demos) + +# API 使用示例 +```python +>>> from pyncm import apis +# 获取歌曲信息 +>>> apis.track.GetTrackAudio(29732235) +{'data': [{'id': 29732235, 'url': 'http://m701.music... +# 获取歌曲详情 +>>> apis.track.GetTrackDetail(29732235) +{'songs': [{'name': 'Supernova', 'id': 2... +# 获取歌曲评论 +>>> apis.track.GetTrackComments(29732235) +{'isMusician': False, 'userId': -1, 'topComments': [], 'moreHot': True, 'hotComments': [{'user': {'locationInfo': None, 'liveIn ... +``` +- 多 Session 示例 +```python +LoginViaEmail(...) +# 利用全局 Session 完成该 API Call +session = CreateNewSession() # 建立新的 Session +with session: # 进入该 Session, 在 `with` 内的 API 将由该 Session 完成 + LoginViaCellPhone(...) + result = GetTrackAudio(...) +# 离开 Session. 此后 API 将继续由全局 Session 管理 +GetTrackComments(...) +``` +详见 [Session 说明](https://github.com/mos9527/pyncm/blob/master/pyncm/__init__.py#L52) +## API 说明 +大部分 API 函数已经详细注释,可读性较高。推荐参阅 [API 源码](https://github.com/mos9527/pyncm/tree/master/pyncm) 获得支持 + +## FAQ +- 为什么 `GetTrackAudio` 几乎拿不到音频 URL? + +你需要[进行登陆](https://github.com/mos9527/pyncm/blob/master/pyncm/apis/login.py)。若身边没有合适的账号,也可选择匿名登陆: +```python +>>> from pyncm.apis.login import LoginViaAnonymousAccount +>>> LoginViaAnonymousAccount() +{'tick': 1662870122.1159196, + 'content': {'code': 200, + 'userId': 8023914528, + 'createTime': 1662868134354, + 'profile': {'nickname': 'Ano... +``` +# 感谢 +[Android逆向——网易云音乐排行榜api(上)](https://juejin.im/post/6844903586879520775) + +[Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) + +### 衍生项目 +[PyNCMd](https://github.com/mos9527/pyncmd) + + +%package -n python3-pyncm +Summary: NeteaseCloudMusic APIs for Python 3.x 适用于 Python 3 的网易云音乐 API +Provides: python-pyncm +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyncm + + +# PyNCM + +# 安装 + pip install pyncm +可选 (若不考虑使用CLI则请忽略) +- `mutagen` : 为下载的音乐打上封面等 +- `tqdm` : 显示实时下载进度 +- `coloredlogs` : 彩色日志输出 + +**Windows 用户**: 在 [Releases](https://github.com/mos9527/pyncm/releases) 可下载已打包 `.exe` 版本 +# 命令行使用 + positional arguments: + 链接 网易云音乐分享链接 + + options: + -h, --help show this help message and exit + + 下载: + --max-workers 最多同时下载任务数, -m 最多同时下载任务数 + --output-name 保存文件名模板, --template 保存文件名模板, -t 保存文件名模板 + 保存文件名模板 + 参数: + id - 网易云音乐资源 ID + year - 出版年份 + no - 专辑中编号 + album - 专辑标题 + track - 单曲标题 + title - 完整标题 + artists- 艺术家名 + 例: + {track} - {artists} 等效于 {title} + -o 输出, --output 输出 输出文件夹 + 注:该参数也可使用模板,格式同 保存文件名模板 + --quality 音质 音频音质(高音质需要 CVIP) + 参数: + hires - Hi-Res + lossless- “无损” + exhigh - 较高 + standard- 标准 + --no-overwrite 不重复下载已经存在的音频文件 + + 歌词: + --lyric-no 跳过歌词 [跳过歌词 ...] + 跳过某些歌词类型的合并 + 参数: + lrc - 源语言歌词 + tlyric - 翻译后歌词 + romalrc- 罗马音歌词 + 例: + --lyric-no tlyric --lyric-no romalrc 将只下载源语言歌词 + + 登陆: + --phone 手机 网易账户手机号 + --pwd 密码, --password 密码 + 网易账户密码 + --save [保存到] 写本次登录信息于文件 + --load [保存的登陆信息文件] 从文件读取登录信息供本次登陆使用 + --http 优先使用 HTTP,不保证不被升级 + --log-level LOG_LEVEL + 日志等级 + + 限量及过滤(注:只适用于*每单个*链接 / ID): + -n 下载总量, --count 下载总量 + 限制下载歌曲总量,n=0即不限制 + --sort-by 歌曲排序 【限制总量时】歌曲排序方式 (default: 默认排序 hot: 热度高(相对于其所在专辑)在前 time: 发行时间新在前) + --reverse-sort 【限制总量时】倒序排序歌曲 + + 工具: + --save-m3u 保存M3U播放列表文件名 + 将本次下载的歌曲文件名依一定顺序保存在M3U文件中;写入的文件目录相对于该M3U文件 + 文件编码为 UTF-8 + 顺序为:链接先后优先——每个连接的所有歌曲依照歌曲排序设定 (--sort-by)排序 + +## 环境变量 +|变量名|说明| +|-|-| +|`PYNCM_DEBUG`|调试日志输出等级,`'CRITICAL', 'DEBUG', 'ERROR','FATAL','INFO','WARNING'` 之一| +### 使用示例 +## 下载单曲 +[](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1) +## 使用 [UNM](https://github.com/UnblockNeteaseMusic/server) 下载灰色歌曲 +[](https://asciinema.org/a/AX4cdzD7YcgQlTebAdCTKZQnb) +其他功能详见 +- [Demo](https://github.com/mos9527/pyncm/tree/master/demos) + +# API 使用示例 +```python +>>> from pyncm import apis +# 获取歌曲信息 +>>> apis.track.GetTrackAudio(29732235) +{'data': [{'id': 29732235, 'url': 'http://m701.music... +# 获取歌曲详情 +>>> apis.track.GetTrackDetail(29732235) +{'songs': [{'name': 'Supernova', 'id': 2... +# 获取歌曲评论 +>>> apis.track.GetTrackComments(29732235) +{'isMusician': False, 'userId': -1, 'topComments': [], 'moreHot': True, 'hotComments': [{'user': {'locationInfo': None, 'liveIn ... +``` +- 多 Session 示例 +```python +LoginViaEmail(...) +# 利用全局 Session 完成该 API Call +session = CreateNewSession() # 建立新的 Session +with session: # 进入该 Session, 在 `with` 内的 API 将由该 Session 完成 + LoginViaCellPhone(...) + result = GetTrackAudio(...) +# 离开 Session. 此后 API 将继续由全局 Session 管理 +GetTrackComments(...) +``` +详见 [Session 说明](https://github.com/mos9527/pyncm/blob/master/pyncm/__init__.py#L52) +## API 说明 +大部分 API 函数已经详细注释,可读性较高。推荐参阅 [API 源码](https://github.com/mos9527/pyncm/tree/master/pyncm) 获得支持 + +## FAQ +- 为什么 `GetTrackAudio` 几乎拿不到音频 URL? + +你需要[进行登陆](https://github.com/mos9527/pyncm/blob/master/pyncm/apis/login.py)。若身边没有合适的账号,也可选择匿名登陆: +```python +>>> from pyncm.apis.login import LoginViaAnonymousAccount +>>> LoginViaAnonymousAccount() +{'tick': 1662870122.1159196, + 'content': {'code': 200, + 'userId': 8023914528, + 'createTime': 1662868134354, + 'profile': {'nickname': 'Ano... +``` +# 感谢 +[Android逆向——网易云音乐排行榜api(上)](https://juejin.im/post/6844903586879520775) + +[Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) + +### 衍生项目 +[PyNCMd](https://github.com/mos9527/pyncmd) + + +%package help +Summary: Development documents and examples for pyncm +Provides: python3-pyncm-doc +%description help + + +# PyNCM + +# 安装 + pip install pyncm +可选 (若不考虑使用CLI则请忽略) +- `mutagen` : 为下载的音乐打上封面等 +- `tqdm` : 显示实时下载进度 +- `coloredlogs` : 彩色日志输出 + +**Windows 用户**: 在 [Releases](https://github.com/mos9527/pyncm/releases) 可下载已打包 `.exe` 版本 +# 命令行使用 + positional arguments: + 链接 网易云音乐分享链接 + + options: + -h, --help show this help message and exit + + 下载: + --max-workers 最多同时下载任务数, -m 最多同时下载任务数 + --output-name 保存文件名模板, --template 保存文件名模板, -t 保存文件名模板 + 保存文件名模板 + 参数: + id - 网易云音乐资源 ID + year - 出版年份 + no - 专辑中编号 + album - 专辑标题 + track - 单曲标题 + title - 完整标题 + artists- 艺术家名 + 例: + {track} - {artists} 等效于 {title} + -o 输出, --output 输出 输出文件夹 + 注:该参数也可使用模板,格式同 保存文件名模板 + --quality 音质 音频音质(高音质需要 CVIP) + 参数: + hires - Hi-Res + lossless- “无损” + exhigh - 较高 + standard- 标准 + --no-overwrite 不重复下载已经存在的音频文件 + + 歌词: + --lyric-no 跳过歌词 [跳过歌词 ...] + 跳过某些歌词类型的合并 + 参数: + lrc - 源语言歌词 + tlyric - 翻译后歌词 + romalrc- 罗马音歌词 + 例: + --lyric-no tlyric --lyric-no romalrc 将只下载源语言歌词 + + 登陆: + --phone 手机 网易账户手机号 + --pwd 密码, --password 密码 + 网易账户密码 + --save [保存到] 写本次登录信息于文件 + --load [保存的登陆信息文件] 从文件读取登录信息供本次登陆使用 + --http 优先使用 HTTP,不保证不被升级 + --log-level LOG_LEVEL + 日志等级 + + 限量及过滤(注:只适用于*每单个*链接 / ID): + -n 下载总量, --count 下载总量 + 限制下载歌曲总量,n=0即不限制 + --sort-by 歌曲排序 【限制总量时】歌曲排序方式 (default: 默认排序 hot: 热度高(相对于其所在专辑)在前 time: 发行时间新在前) + --reverse-sort 【限制总量时】倒序排序歌曲 + + 工具: + --save-m3u 保存M3U播放列表文件名 + 将本次下载的歌曲文件名依一定顺序保存在M3U文件中;写入的文件目录相对于该M3U文件 + 文件编码为 UTF-8 + 顺序为:链接先后优先——每个连接的所有歌曲依照歌曲排序设定 (--sort-by)排序 + +## 环境变量 +|变量名|说明| +|-|-| +|`PYNCM_DEBUG`|调试日志输出等级,`'CRITICAL', 'DEBUG', 'ERROR','FATAL','INFO','WARNING'` 之一| +### 使用示例 +## 下载单曲 +[](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1) +## 使用 [UNM](https://github.com/UnblockNeteaseMusic/server) 下载灰色歌曲 +[](https://asciinema.org/a/AX4cdzD7YcgQlTebAdCTKZQnb) +其他功能详见 +- [Demo](https://github.com/mos9527/pyncm/tree/master/demos) + +# API 使用示例 +```python +>>> from pyncm import apis +# 获取歌曲信息 +>>> apis.track.GetTrackAudio(29732235) +{'data': [{'id': 29732235, 'url': 'http://m701.music... +# 获取歌曲详情 +>>> apis.track.GetTrackDetail(29732235) +{'songs': [{'name': 'Supernova', 'id': 2... +# 获取歌曲评论 +>>> apis.track.GetTrackComments(29732235) +{'isMusician': False, 'userId': -1, 'topComments': [], 'moreHot': True, 'hotComments': [{'user': {'locationInfo': None, 'liveIn ... +``` +- 多 Session 示例 +```python +LoginViaEmail(...) +# 利用全局 Session 完成该 API Call +session = CreateNewSession() # 建立新的 Session +with session: # 进入该 Session, 在 `with` 内的 API 将由该 Session 完成 + LoginViaCellPhone(...) + result = GetTrackAudio(...) +# 离开 Session. 此后 API 将继续由全局 Session 管理 +GetTrackComments(...) +``` +详见 [Session 说明](https://github.com/mos9527/pyncm/blob/master/pyncm/__init__.py#L52) +## API 说明 +大部分 API 函数已经详细注释,可读性较高。推荐参阅 [API 源码](https://github.com/mos9527/pyncm/tree/master/pyncm) 获得支持 + +## FAQ +- 为什么 `GetTrackAudio` 几乎拿不到音频 URL? + +你需要[进行登陆](https://github.com/mos9527/pyncm/blob/master/pyncm/apis/login.py)。若身边没有合适的账号,也可选择匿名登陆: +```python +>>> from pyncm.apis.login import LoginViaAnonymousAccount +>>> LoginViaAnonymousAccount() +{'tick': 1662870122.1159196, + 'content': {'code': 200, + 'userId': 8023914528, + 'createTime': 1662868134354, + 'profile': {'nickname': 'Ano... +``` +# 感谢 +[Android逆向——网易云音乐排行榜api(上)](https://juejin.im/post/6844903586879520775) + +[Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) + +### 衍生项目 +[PyNCMd](https://github.com/mos9527/pyncmd) + + +%prep +%autosetup -n pyncm-1.6.8.9.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pyncm -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.8.9.1-1 +- Package Spec generated @@ -0,0 +1 @@ +29f5c39d6dbfc64904829fc21058bf9c pyncm-1.6.8.9.1.tar.gz |