Files
project_whispertrans_code/main.py
T

51 lines
1.5 KiB
Python

import json
import logging
import os
from argparse import ArgumentParser, Namespace
from pathlib import Path
from src.logger import setup_logger
from src.transcript_generator import TranscriptGenerator
def main():
parser: ArgumentParser = ArgumentParser(
description="Transcript Generator for Videos"
)
parser.add_argument("--job", type=str, help="The name of the job", required=True)
arguments: Namespace = parser.parse_args()
with open(f"data/jobs/{arguments.job}", "r") as f:
job_config = json.load(f)
log_directory: Path = Path("data/logs")
os.makedirs(log_directory, exist_ok=True)
log_file_path: Path = log_directory / f"{arguments.job}.log"
setup_logger(__name__, log_file=log_file_path)
logger: logging.Logger = logging.getLogger(__name__)
logger.info("Starting the transcript generation.")
hf_token = os.environ.get("HF_TOKEN")
if not hf_token:
hf_token = input("Please enter your HF_TOKEN: ")
os.environ["HF_TOKEN"] = hf_token
transcript_generator: TranscriptGenerator = TranscriptGenerator(
job_name=job_config["name"],
language_code=job_config.get("language_code", "en"),
get_txt_version=job_config["transcript_version"]["get_txt_version"],
get_json_version=job_config["transcript_version"]["get_json_version"],
get_sentence_level_json=job_config["transcript_version"][
"get_sentence_level_json_version"
],
)
transcript_generator.generate(job_config["source"])
if __name__ == "__main__":
main()