mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-09-09 01:36:41 +08:00
first commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import enum
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Optional, Union
|
||||
|
||||
from app.enmus.note_enums import DownloadQuality
|
||||
from app.models.notes_model import AudioDownloadResult
|
||||
from os import getenv
|
||||
QUALITY_MAP = {
|
||||
"fast": "32",
|
||||
"medium": "64",
|
||||
"slow": "128"
|
||||
}
|
||||
|
||||
|
||||
class Downloader(ABC):
|
||||
def __init__(self):
|
||||
#TODO 需要修改为可配置
|
||||
self.quality = QUALITY_MAP.get('fast')
|
||||
self.cache_data=getenv('DATA_DIR')
|
||||
|
||||
@abstractmethod
|
||||
def download(self, video_url: str, output_dir: str = None,
|
||||
quality: DownloadQuality = "fast", need_video: Optional[bool] = False) -> AudioDownloadResult:
|
||||
'''
|
||||
|
||||
:param need_video:
|
||||
:param video_url: 资源链接
|
||||
:param output_dir: 输出路径 默认根目录data
|
||||
:param quality: 音频质量 fast | medium | slow
|
||||
:return:返回一个 AudioDownloadResult 类
|
||||
'''
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def download_video(self, video_url: str,
|
||||
output_dir: Union[str, None] = None) -> str:
|
||||
pass
|
||||
Reference in New Issue
Block a user