udemy-downloader/vtt_to_srt.py
2021-05-28 23:04:56 -04:00

20 lines
631 B
Python

from webvtt import WebVTT
import html, os
from pysrt.srtitem import SubRipItem
from pysrt.srttime import SubRipTime
def convert(directory, filename):
index = 0
vtt_filepath = os.path.join(directory, f"{filename}.vtt")
srt_filepath = os.path.join(directory, f"{filename}.srt")
srt = open(srt_filepath, "w")
for caption in WebVTT().read(vtt_filepath):
index += 1
start = SubRipTime(0, 0, caption.start_in_seconds)
end = SubRipTime(0, 0, caption.end_in_seconds)
srt.write(
SubRipItem(index, start, end, html.unescape(
caption.text)).__str__() + "\n")