You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bazarr/libs/srt_tools/srt-normalise

29 lines
790 B

#!/usr/bin/env python
"""Takes a badly formatted SRT file and outputs a strictly valid one."""
import srt_tools.utils
import logging
log = logging.getLogger(__name__)
def main():
examples = {"Normalise a subtitle": "srt normalise -i bad.srt -o good.srt"}
args = srt_tools.utils.basic_parser(
description=__doc__, examples=examples, hide_no_strict=True
).parse_args()
logging.basicConfig(level=args.log_level)
srt_tools.utils.set_basic_args(args)
output = srt_tools.utils.compose_suggest_on_fail(args.input, strict=args.strict)
try:
args.output.write(output)
except (UnicodeEncodeError, TypeError): # Python 2 fallback
args.output.write(output.encode(args.encoding))
if __name__ == "__main__": # pragma: no cover
main()