yutto icon indicating copy to clipboard operation
yutto copied to clipboard

✨是否可以增加作为包调用的 api?

Open astro-jingtao opened this issue 2 years ago • 3 comments

特性描述

增加作为包调用的 api?比如

from yutto import yutto_api

output = yutto_api(url, c='******************', danmaku='xml') # 等价于 yutto <url> -c '******************' --danmaku xml

print(output.log) # 用命令行下载时输出在屏幕上的内容
print(output.danmaku) # xml

建议解决方案

No response

额外信息

No response

一点点的自我检查

  • [X] 充分阅读 README.md,特别是与本 issue 相关的部分
  • [X] 本 issue 在 issuesdiscussion 中并没有重复问题

astro-jingtao avatar Dec 22 '22 03:12 astro-jingtao

唔,暂时没有相关计划,可以暂时使用 subprocess 来实现部分相似的效果……(可参考 e2e test https://github.com/yutto-dev/yutto/blob/main/tests/test_e2e.py )

SigureMo avatar Dec 22 '22 12:12 SigureMo

唔,暂时没有相关计划,可以暂时使用 subprocess 来实现部分相似的效果……(可参考 e2e test https://github.com/yutto-dev/yutto/blob/main/tests/test_e2e.py )

感谢回复,我尝试了 subprocess 但可能是因为我用 conda 管理环境,每次都要用 subprocess 都要重新激活,有点低效。而且不知道我是哪里搞错了 subprocess 即便提供登录信息也没法下载 1080p (之前我用 youget,就是因为它现在下载不了高分辨率的视频所以找到了这个包)。

我现在的做法是参考 yutto/__main__.pyargs = parser.parse_args() 那步传参数,然后重定向输出到变量,我的需求也比较简单,暂时没有发现什么问题。

以上供有同样需求的朋友参考。

astro-jingtao avatar Dec 22 '22 15:12 astro-jingtao

import sys
from yutto import __main__ as yutto

sys.argv = ['yutto', url, '-c', SESSDATA, '-d', path]
yutto.main()

dd178 avatar Apr 02 '23 08:04 dd178