summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 13:08:40 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 13:08:40 +0000
commite394479589d52e369cb8b60e7514094b0fd009a7 (patch)
treeef91730d87bab8f5daa2b083c8ec67d688690edc
parent7cdaecdc19e3bc2c68f40c6f04d9e03b2699eee2 (diff)
automatic import of python-pyncmopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-pyncm.spec478
-rw-r--r--sources1
3 files changed, 480 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f988a23 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
+![Logo](https://github.com/greats3an/pyncm/raw/master/demos/_logo.png)
+
+# 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'` 之一|
+### 使用示例
+## 下载单曲
+[![asciicast](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1.svg)](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1)
+## 使用 [UNM](https://github.com/UnblockNeteaseMusic/server) 下载灰色歌曲
+[![asciicast](https://asciinema.org/a/AX4cdzD7YcgQlTebAdCTKZQnb.svg)](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
+![Logo](https://github.com/greats3an/pyncm/raw/master/demos/_logo.png)
+
+# 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'` 之一|
+### 使用示例
+## 下载单曲
+[![asciicast](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1.svg)](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1)
+## 使用 [UNM](https://github.com/UnblockNeteaseMusic/server) 下载灰色歌曲
+[![asciicast](https://asciinema.org/a/AX4cdzD7YcgQlTebAdCTKZQnb.svg)](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
+![Logo](https://github.com/greats3an/pyncm/raw/master/demos/_logo.png)
+
+# 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'` 之一|
+### 使用示例
+## 下载单曲
+[![asciicast](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1.svg)](https://asciinema.org/a/4PEC5977rTcm4hp9jLuPFYUM1)
+## 使用 [UNM](https://github.com/UnblockNeteaseMusic/server) 下载灰色歌曲
+[![asciicast](https://asciinema.org/a/AX4cdzD7YcgQlTebAdCTKZQnb.svg)](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
diff --git a/sources b/sources
new file mode 100644
index 0000000..dc5b8d9
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+29f5c39d6dbfc64904829fc21058bf9c pyncm-1.6.8.9.1.tar.gz