Class: Subber::Parser::Srt

Inherits:
Base
  • Object
show all
Defined in:
lib/subber/parser/srt.rb

Constant Summary collapse

SUBTITLE_REGEX =
/([^\n]*)\n([^\n]*)(\n(.*))?/m
COUNTER_REGEX =
/(\d+)$/
TIME_RANGE_REGEX =
/(\d{2}:\d{2}:\d{2},\d{3})\s*-->\s*(\d{2}:\d{2}:\d{2},\d{3})/
TIMECODE_REGEX =
/(\d{2}):(\d{2}):(\d{2}),(\d{3})/
DELIMITER_REGEX =
/\n?\n\n/
WINDOW_LINE_BREAK_REGEX =
/\r/

Instance Attribute Summary

Attributes inherited from Base

#raw_content

Class Method Summary collapse

Class Method Details

.parse(file_content) ⇒ Array<Subber::Subtitle>

Parameters:

  • file_content (String)

Returns:



15
16
17
18
19
20
21
22
# File 'lib/subber/parser/srt.rb', line 15

def parse(file_content)
  file_content = remove_window_line_break(file_content)

  subtitle_texts = file_content.split(DELIMITER_REGEX)
  subtitle_texts.map do |subtitle_text|
    convert_text_to_subtitle(subtitle_text)
  end
end