Minimal import (#963)

* allowed u+00b0 u+30FB

* fix error

* change val name

* fix wrong ffmpeg output format

* minimal import

* no folder created when the parameter is stop

* update
This commit is contained in:
XuanRan_Nyan authored and GitHub committed 2024-06-21 01:38:12 +00:00
1 parent fb21fe8e17
commit 108badbffa
3 files changed
+26 -17

No files matched your search

+23 -16
View File
@@ -8,7 +8,6 @@ import shutil
import biliup.common.reload
from biliup.config import config
from biliup.database.db import SessionLocal, init
from biliup import __version__, LOG_CONF
from biliup.common.Daemon import Daemon
from biliup.common.reload import AutoReload
@@ -39,25 +38,33 @@ def arg_parser():
parser.set_defaults(func=lambda: asyncio.run(main(args)))
args = parser.parse_args()
biliup.common.reload.program_args = args.__dict__
# 初始化数据库
with SessionLocal() as db:
if init(args.no_http):
is_stop = args.func == daemon.stop
if not is_stop:
from biliup.database.db import SessionLocal, init
# 初始化数据库
with SessionLocal() as db:
try:
config.load(args.config)
config.save_to_db(db)
# 如果配置文件不存在,不修改已有数据库
if init(args.no_http):
config.save_to_db(db)
except FileNotFoundError:
print(f'新版本不依赖配置文件,请访问 WebUI 修改配置')
config.load_from_db(db)
# db.remove()
LOG_CONF.update(config.get('LOGGING', {}))
if args.verbose:
LOG_CONF['loggers']['biliup']['level'] = args.verbose
LOG_CONF['root']['level'] = args.verbose
logging.config.dictConfig(LOG_CONF)
logging.getLogger('httpx').addFilter(DebugLevelFilter())
# logging.getLogger('hpack').setLevel(logging.CRITICAL)
# logging.getLogger('httpx').setLevel(logging.CRITICAL)
print(f'新版本不依赖配置文件,请访问 WebUI 修改配置')
config.load_from_db(db)
# db.remove()
LOG_CONF.update(config.get('LOGGING', {}))
if args.verbose:
LOG_CONF['loggers']['biliup']['level'] = args.verbose
LOG_CONF['root']['level'] = args.verbose
logging.config.dictConfig(LOG_CONF)
logging.getLogger('httpx').addFilter(DebugLevelFilter())
# logging.getLogger('hpack').setLevel(logging.CRITICAL)
# logging.getLogger('httpx').setLevel(logging.CRITICAL)
if platform.system() == 'Windows':
if is_stop:
return
return asyncio.run(main(args))
args.func()
+2 -1
View File
@@ -5,7 +5,6 @@ import os
from collections import UserDict
from sqlalchemy import select
from biliup.database.models import Configuration, LiveStreamers, UploadStreamers
try:
import tomllib
@@ -30,6 +29,7 @@ class Config(UserDict):
self.data["user"]["access_token"] = s["token_info"]["access_token"]
def load_from_db(self, db):
from biliup.database.models import Configuration, LiveStreamers
context = {
'url_upload_count': self.data.get('url_upload_count', {}),
'upload_filename': self.data.get('upload_filename', []),
@@ -55,6 +55,7 @@ class Config(UserDict):
# config.data[con.key] = con.value
def save_to_db(self, db):
from biliup.database.models import Configuration, LiveStreamers, UploadStreamers
for k, v in self['streamers'].items():
us = UploadStreamers(**UploadStreamers.filter_parameters(
{"template_name": k, "tags": v.pop('tags', [k]), ** v}))
+1
View File
@@ -80,6 +80,7 @@ class DownloadBase(ABC):
raise NotImplementedError()
def download(self):
logger.debug(f"{self.plugin_msg}: Start downloading {self.raw_stream_url}")
if self.is_download:
if not shutil.which("ffmpeg"):
logger.error("未安装 FFMpeg 或不存在于 PATH 内")