Разработать программу, которая осуществляет разбор и упорядочивание субтитров, прочитанных из файла в простом формате SRT.
Файл в формате SRT.
Пример.
1
00:00:01,000 --> 00:00:05,500
Раз
два
три
2
00:00:06,000 --> 00:00:09,500
четыре пять
3
00:00:10,000 --> 00:00:15,500
вышел
зайчик
погулять
4
00:00:11,000 --> 00:00:19,500
белый зайчик
5
00:00:12,000 --> 00:00:14,500
наглый зайчик
6
00:00:13,000 --> 00:00:16,500
вышел
и ушел
7
00:00:15,000 --> 00:00:17,500
топтун
8
00:00:19,500 --> 00:00:19,600
вот и всё
Необходимо реализовать программу, которая вычитывает субтитры из файла, и превращает их в отсортированный по времени набор команд SHOW TEXT
\ HIDE TEXT
(см. пример в выходных данных). При этом не гарантируется, что во входном файле субтитры будут в корректном, отсортированном по времени порядке. Так же допускается наличие во входном файле "пересекающихся" и даже "вложенных" по времени субтитров (см. пример во входных данных).
Необходимо реализовать набор тестов, проверяющих работу модулей. В частности необходимо проверить корректность методов чтения и упорядочивания субтитров для ряда частных случаев:
и другие случаи на усмотрение студента.
Файл с командами показа / скрытия субтитров.
Для приведённого выше примера вывод должен быть примерно следующим:
at 1,00 show 'Раз
два
три'
at 5,50 show ''
at 6,00 show 'четыре пять'
at 9,50 show ''
at 10,00 show 'вышел
зайчик
погулять'
at 11,00 show 'вышел
зайчик
погулять
белый зайчик'
at 12,00 show 'вышел
зайчик
погулять
белый зайчик
наглый зайчик'
at 13,00 show 'вышел
зайчик
погулять
белый зайчик
наглый зайчик
вышел
и ушел'
at 14,50 show 'вышел
зайчик
погулять
белый зайчик
вышел
и ушел'
at 15,00 show 'вышел
зайчик
погулять
белый зайчик
вышел
и ушел
топтун'
at 15,50 show 'белый зайчик
вышел
и ушел
топтун'
at 16,50 show 'белый зайчик
топтун'
at 17,50 show 'белый зайчик'
at 19,50 show 'вот и всё'
at 19,60 show ''