srtfilter
Parser for SubRip (SRT) subtitle format and framework for utilities that manipulate it.
Install from PyPI: srtfilter
.
Usage
CLI tool
Parse and reproduce an SRT file (output goes to stdout):
srtfilter input.srt
Break lines automatically (to handle existing files with poor line breaks):
srtfilter --filter rebreak_lines input.srt
More filters can be added in the src/srtfilter/filters
directory.
Library
import srtfilter.parse as srtparse
import sys
with open("input.srt") as f:
= srtparse.SRT.from_str(f.read())
srt
for event in srt.events:
# Make every event start and end a second later
+= 1
event.start.second += 1
event.end.second # Capitalize all the displayed text
= event.content.upper()
event.content
# SRT.__str__() produces a valid SRT file from the parsed representation
str(srt)) sys.stdout.write(
License
MIT License; see LICENSE.txt
.
Roadmap
- Parse SRT
- Make CLI tool modular
- Add filter for breaking lines
- Parse timecodes into their numeric components
- More filters? As and when use-cases emerge