Files
video-trend-spotter/main.py

52 lines
933 B
Python

import time
import click
from loguru import logger
from yt_dlp import DownloadError
from downloader import VideoToAudioDownloader
from transcriber import Transcriber
@click.group()
def cli():
pass
@cli.command()
@click.argument('url', nargs=-1)
@click.option('--proxy', default=None, is_flag=False)
def download(url, proxy):
params = None
if proxy:
params = {"proxy": proxy}
vad = VideoToAudioDownloader(params=params)
try:
logger.info(f"attempting to download: {url}")
vad.download_audio_from_yt(url)
except DownloadError as de:
logger.warning(f"failed to download {url} b/c: {de}")
@cli.command()
def transcribe():
t = Transcriber()
t.load_model()
t.DataHandler.get_audio_files()
for af in t.audio_files:
logger.info(f"transcribing: {af}")
t.transcribe(af)
t.persist()
t.cleanup()
if __name__ == "__main__":
cli()