51 lines
1.5 KiB
Python
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()
|