diff --git a/README.md b/README.md index 40d9304..d5901a2 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,12 @@ ![GitHub](https://img.shields.io/github/license/ForgQi/bilibiliupload) [![Telegram](https://img.shields.io/badge/Telegram-Group-blue.svg?logo=telegram)](https://t.me/+IkpIABHqy6U0ZTQ5) -**文档地址**: - -详细安装过程可看 [@waitsaber](https://github.com/waitsaber) 写的 [Ubuntu](https://blog.waitsaber.org/archives/129) 和 [CentOS](https://blog.waitsaber.org/archives/163) 教程 +详细安装过程可看 [@waitsaber](https://github.com/waitsaber) 写的 [Ubuntu](https://blog.waitsaber.org/archives/129) 、[CentOS](https://blog.waitsaber.org/archives/163) +、[Windows](https://blog.waitsaber.org/archives/169) 教程 与 [常见问题](https://blog.waitsaber.org/archives/167) 解决方案 +**文档地址**: + * 支持自动录制各大直播平台实时流,上传到bilibili。 * 支持YouTube频道自动搬运 * 支持twitch直播回放列表自动搬运至b站,如链接https://www.twitch.tv/xxxx/videos?filter=archives&sort=time diff --git a/biliup/handler.py b/biliup/handler.py index d74027a..fcac098 100644 --- a/biliup/handler.py +++ b/biliup/handler.py @@ -56,7 +56,7 @@ def process_upload(stream_info): url = stream_info['url'] yield Event(BE_MODIFIED, (url, 2)) try: - upload(config.get("uploader") if config.get("uploader") else "bili_web", stream_info) + upload(stream_info) finally: yield Event(BE_MODIFIED, args=(url, 0)) diff --git a/biliup/plugins/noop_uploader.py b/biliup/plugins/noop_uploader.py new file mode 100644 index 0000000..4931071 --- /dev/null +++ b/biliup/plugins/noop_uploader.py @@ -0,0 +1,9 @@ +from ..engine.upload import UploadBase, logger +from ..engine import Plugin + + +@Plugin.upload(platform="Noop") +class NoopUploader(UploadBase): + def upload(self, file_list): + logger.info("NoopUploader") + return file_list diff --git a/biliup/uploader.py b/biliup/uploader.py index 75768ab..56bb60b 100644 --- a/biliup/uploader.py +++ b/biliup/uploader.py @@ -8,7 +8,7 @@ from .engine.decorators import Plugin logger = logging.getLogger('biliup') -def upload(platform, data): +def upload(data): """ 上传入口 :param platform: @@ -16,13 +16,14 @@ def upload(platform, data): :param data: 现在需包含内容{url,date} 完整包含内容{url,date,format_title} :return: """ - index = data['name'] try: + index = data['name'] + context = {**engine.config, **engine.config['streamers'][index]} + platform = context.get("uploader") if context.get("uploader") else "bili_web" cls = Plugin.upload_plugins.get(platform) if cls is None: return logger.error(f"No such uploader: {platform}") sig = inspect.signature(cls) - context = {**engine.config, **engine.config['streamers'][index]} kwargs = {} for k in sig.parameters: v = context.get(k) diff --git a/config(demo).yaml b/config(demo).yaml index 455fb30..fccbd45 100644 --- a/config(demo).yaml +++ b/config(demo).yaml @@ -11,8 +11,8 @@ user: # 在填了cookies的情况下优先使用cookies上传,如需使用用 # app_key: bca7e84c2d947ac6 # 若账号密码方式无法登录可尝试更改此值 # appsec: 60698ba2f68e01ce44738920a0ffe768 -# 选择上传插件 -uploader: bili_web +# 选择全局默认上传插件,Noop为不上传,但会执行后处理 +#uploader: Noop # b站上传线路选择,默认为自动模式,目前可手动切换为bda2, kodo, ws, qn lines: AUTO # b站提交接口,默认自动选择,可选web,client @@ -44,6 +44,8 @@ streamers: copyright: 2 # 1为自制 cover_path: /cover/up.jpg description: 视频简介 + # 覆盖全局默认上传插件,Noop为不上传,但会执行后处理 + uploader: bili_web postprocessor: # 上传完成后,将按自定义顺序执行自定义操作 - run: echo hello! # 执行任意命令,等同于在shell中运行,视频文件路径作为标准输入传入 - mv: backup/ # 移动文件到backup目录下