SYMBOL INDEX (288 symbols across 17 files) FILE: tests/test_cli.py class CLITestCase (line 10) | class CLITestCase(unittest.TestCase): method test_cli (line 12) | def test_cli(self): FILE: tests/test_models.py class TestTimestamp (line 7) | class TestTimestamp(unittest.TestCase): method test_instantiation (line 9) | def test_instantiation(self): method test_from_string (line 18) | def test_from_string(self): method test_from_string_single_digits (line 25) | def test_from_string_single_digits(self): method test_from_string_missing_hours (line 32) | def test_from_string_missing_hours(self): method test_from_string_wrong_minutes (line 39) | def test_from_string_wrong_minutes(self): method test_from_string_wrong_seconds (line 43) | def test_from_string_wrong_seconds(self): method test_from_string_wrong_type (line 47) | def test_from_string_wrong_type(self): method test_from_string_wrong_value (line 51) | def test_from_string_wrong_value(self): method test_to_tuple (line 55) | def test_to_tuple(self): method test_equality (line 63) | def test_equality(self): method test_not_equality (line 71) | def test_not_equality(self): method test_greater_than (line 79) | def test_greater_than(self): method test_less_than (line 87) | def test_less_than(self): method test_greater_or_equal_than (line 95) | def test_greater_or_equal_than(self): method test_less_or_equal_than (line 109) | def test_less_or_equal_than(self): method test_repr (line 123) | def test_repr(self): class TestCaption (line 137) | class TestCaption(unittest.TestCase): method test_instantiation (line 139) | def test_instantiation(self): method test_timestamp_wrong_type (line 151) | def test_timestamp_wrong_type(self): method test_identifier_is_optional (line 160) | def test_identifier_is_optional(self): method test_multi_lines (line 168) | def test_multi_lines(self): method test_multi_lines_accepts_list (line 181) | def test_multi_lines_accepts_list(self): method test_cuetags (line 194) | def test_cuetags(self): method test_in_seconds (line 211) | def test_in_seconds(self): method test_wrong_start_timestamp (line 221) | def test_wrong_start_timestamp(self): method test_wrong_type_start_timestamp (line 230) | def test_wrong_type_start_timestamp(self): method test_wrong_end_timestamp (line 239) | def test_wrong_end_timestamp(self): method test_wrong_type_end_timestamp (line 248) | def test_wrong_type_end_timestamp(self): method test_equality (line 257) | def test_equality(self): method test_repr (line 299) | def test_repr(self): method test_str (line 313) | def test_str(self): method test_accept_comments (line 326) | def test_accept_comments(self): method test_timestamp_update (line 341) | def test_timestamp_update(self): method test_timestamp_format (line 349) | def test_timestamp_format(self): method test_update_text (line 358) | def test_update_text(self): method test_update_text_multiline (line 366) | def test_update_text_multiline(self): method test_update_text_wrong_type (line 380) | def test_update_text_wrong_type(self): method test_manipulate_lines (line 391) | def test_manipulate_lines(self): method test_malformed_start_timestamp (line 399) | def test_malformed_start_timestamp(self): method test_voice_span (line 406) | def test_voice_span(self): method test_voice_span_with_classes (line 412) | def test_voice_span_with_classes(self): method test_voice_span_is_invalid (line 421) | def test_voice_span_is_invalid(self): method test_voice_span_injected (line 430) | def test_voice_span_injected(self): method test_voice_span_removed (line 440) | def test_voice_span_removed(self): class TestStyle (line 451) | class TestStyle(unittest.TestCase): method test_instantiation (line 453) | def test_instantiation(self): method test_text_accept_list_of_strings (line 461) | def test_text_accept_list_of_strings(self): method test_accept_comments (line 469) | def test_accept_comments(self): method test_get_text (line 479) | def test_get_text(self): FILE: tests/test_sbv.py class TestSBVCueBlock (line 9) | class TestSBVCueBlock(unittest.TestCase): method test_is_valid (line 11) | def test_is_valid(self): method test_from_lines (line 66) | def test_from_lines(self): method test_from_lines_shorter_timestamps (line 86) | def test_from_lines_shorter_timestamps(self): class TestSBVModule (line 103) | class TestSBVModule(unittest.TestCase): method test_parse_invalid_format (line 105) | def test_parse_invalid_format(self): method test_parse_captions (line 119) | def test_parse_captions(self): FILE: tests/test_segmenter.py class TestSegmenter (line 12) | class TestSegmenter(unittest.TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 17) | def tearDown(self): method test_segmentation_with_defaults (line 20) | def test_segmentation_with_defaults(self): method test_segmentation_with_custom_values (line 197) | def test_segmentation_with_custom_values(self): method test_segment_with_no_captions (line 319) | def test_segment_with_no_captions(self): FILE: tests/test_srt.py class TestSRTCueBlock (line 10) | class TestSRTCueBlock(unittest.TestCase): method test_is_valid (line 12) | def test_is_valid(self): method test_from_lines (line 63) | def test_from_lines(self): class TestSRTModule (line 86) | class TestSRTModule(unittest.TestCase): method test_parse_invalid_format (line 88) | def test_parse_invalid_format(self): method test_parse_captions (line 101) | def test_parse_captions(self): method test_write (line 127) | def test_write(self): FILE: tests/test_utils.py class TestUtils (line 7) | class TestUtils(unittest.TestCase): method test_open_file (line 9) | def test_open_file(self): method test_open_file_with_bom (line 17) | def test_open_file_with_bom(self): FILE: tests/test_vtt.py class TestWebVTTCueBlock (line 10) | class TestWebVTTCueBlock(unittest.TestCase): method test_is_valid (line 12) | def test_is_valid(self): method test_from_lines (line 58) | def test_from_lines(self): class TestWebVTTCommentBlock (line 75) | class TestWebVTTCommentBlock(unittest.TestCase): method test_is_valid (line 77) | def test_is_valid(self): method test_from_lines (line 117) | def test_from_lines(self): class TestWebVTTStyleBlock (line 136) | class TestWebVTTStyleBlock(unittest.TestCase): method test_is_valid (line 138) | def test_is_valid(self): method test_from_lines (line 195) | def test_from_lines(self): class TestVTTModule (line 221) | class TestVTTModule(unittest.TestCase): method test_parse_invalid_format (line 223) | def test_parse_invalid_format(self): method test_parse_captions (line 236) | def test_parse_captions(self): method test_parse_styles (line 265) | def test_parse_styles(self): method test_parse_content (line 309) | def test_parse_content(self): method test_write (line 412) | def test_write(self): method test_to_str (line 488) | def test_to_str(self): FILE: tests/test_webvtt.py class TestWebVTT (line 17) | class TestWebVTT(unittest.TestCase): method test_from_string (line 19) | def test_from_string(self): method test_write_captions (line 56) | def test_write_captions(self): method test_write_captions_in_srt (line 84) | def test_write_captions_in_srt(self): method test_write_captions_in_srt_no_cuetags (line 111) | def test_write_captions_in_srt_no_cuetags(self): method test_write_captions_in_unsupported_format (line 135) | def test_write_captions_in_unsupported_format(self): method test_save_captions (line 143) | def test_save_captions(self): method test_srt_conversion (line 173) | def test_srt_conversion(self): method test_sbv_conversion (line 195) | def test_sbv_conversion(self): method test_save_to_other_location (line 223) | def test_save_to_other_location(self): method test_save_specific_filename (line 233) | def test_save_specific_filename(self): method test_save_specific_filename_no_extension (line 245) | def test_save_specific_filename_no_extension(self): method test_from_buffer (line 257) | def test_from_buffer(self): method test_deprecated_read_buffer (line 283) | def test_deprecated_read_buffer(self): method test_read_memory_buffer (line 295) | def test_read_memory_buffer(self): method test_read_memory_buffer_carriage_return (line 305) | def test_read_memory_buffer_carriage_return(self): method test_read_malformed_buffer (line 326) | def test_read_malformed_buffer(self): method test_read_buffer_for_vtt_content (line 333) | def test_read_buffer_for_vtt_content(self): method test_read_buffer_for_srt_content (line 363) | def test_read_buffer_for_srt_content(self): method test_read_buffer_for_sbv_content (line 394) | def test_read_buffer_for_sbv_content(self): method test_read_buffer_unsupported_format (line 422) | def test_read_buffer_unsupported_format(self): method test_read_bytesio_buffer_for_srt_content (line 430) | def test_read_bytesio_buffer_for_srt_content(self): method test_captions (line 461) | def test_captions(self): method test_sequence_iteration (line 469) | def test_sequence_iteration(self): method test_save_no_filename (line 474) | def test_save_no_filename(self): method test_save_with_path_to_dir_no_filename (line 480) | def test_save_with_path_to_dir_no_filename(self): method test_set_styles_from_text (line 488) | def test_set_styles_from_text(self): method test_save_identifiers (line 495) | def test_save_identifiers(self): method test_save_updated_identifiers (line 530) | def test_save_updated_identifiers(self): method test_content_formatting (line 576) | def test_content_formatting(self): method test_repr (line 606) | def test_repr(self): method test_str (line 613) | def test_str(self): method test_parse_invalid_file (line 636) | def test_parse_invalid_file(self): method test_file_not_found (line 643) | def test_file_not_found(self): method test_total_length (line 650) | def test_total_length(self): method test_total_length_no_captions (line 656) | def test_total_length_no_captions(self): method test_parse_empty_file (line 662) | def test_parse_empty_file(self): method test_parse_invalid_timeframe_line (line 669) | def test_parse_invalid_timeframe_line(self): method test_parse_invalid_timeframe_in_cue_text (line 675) | def test_parse_invalid_timeframe_in_cue_text(self): method test_parse_get_caption_data (line 682) | def test_parse_get_caption_data(self): method test_caption_without_timeframe (line 691) | def test_caption_without_timeframe(self): method test_caption_without_cue_text (line 695) | def test_caption_without_cue_text(self): method test_timestamps_format (line 699) | def test_timestamps_format(self): method test_parse_timestamp (line 704) | def test_parse_timestamp(self): method test_captions_attribute (line 710) | def test_captions_attribute(self): method test_metadata_headers (line 713) | def test_metadata_headers(self): method test_metadata_headers_multiline (line 717) | def test_metadata_headers_multiline(self): method test_parse_identifiers (line 721) | def test_parse_identifiers(self): method test_parse_comments (line 729) | def test_parse_comments(self): method test_parse_styles (line 764) | def test_parse_styles(self): method test_parse_styles_with_comments (line 773) | def test_parse_styles_with_comments(self): method test_multiple_comments_everywhere (line 810) | def test_multiple_comments_everywhere(self): method test_comments_in_new_file (line 898) | def test_comments_in_new_file(self): method test_clean_cue_tags (line 980) | def test_clean_cue_tags(self): method test_parse_captions_with_bom (line 991) | def test_parse_captions_with_bom(self): method test_empty_lines_are_not_included_in_result (line 995) | def test_empty_lines_are_not_included_in_result(self): method test_can_parse_youtube_dl_files (line 1003) | def test_can_parse_youtube_dl_files(self): method test_parse_voice_spans (line 1010) | def test_parse_voice_spans(self): method test_parse_caption_not_a_voice_span (line 1050) | def test_parse_caption_not_a_voice_span(self): class TestParseSRT (line 1066) | class TestParseSRT(unittest.TestCase): method test_parse_empty_file (line 1068) | def test_parse_empty_file(self): method test_invalid_format (line 1076) | def test_invalid_format(self): method test_total_length (line 1084) | def test_total_length(self): method test_parse_captions (line 1090) | def test_parse_captions(self): method test_missing_timeframe_line (line 1095) | def test_missing_timeframe_line(self): method test_empty_caption_text (line 1103) | def test_empty_caption_text(self): method test_empty_gets_removed (line 1109) | def test_empty_gets_removed(self): method test_invalid_timestamp (line 1115) | def test_invalid_timestamp(self): method test_timestamps_format (line 1123) | def test_timestamps_format(self): method test_parse_get_caption_data (line 1128) | def test_parse_get_caption_data(self): class TestParseSBV (line 1138) | class TestParseSBV(unittest.TestCase): method test_parse_empty_file (line 1140) | def test_parse_empty_file(self): method test_invalid_format (line 1148) | def test_invalid_format(self): method test_total_length (line 1155) | def test_total_length(self): method test_parse_captions (line 1161) | def test_parse_captions(self): method test_missing_timeframe_line (line 1167) | def test_missing_timeframe_line(self): method test_missing_caption_text (line 1175) | def test_missing_caption_text(self): method test_invalid_timestamp (line 1182) | def test_invalid_timestamp(self): method test_timestamps_format (line 1190) | def test_timestamps_format(self): method test_timestamps_in_seconds (line 1195) | def test_timestamps_in_seconds(self): method test_get_caption_text (line 1200) | def test_get_caption_text(self): method test_get_caption_text_multiline (line 1204) | def test_get_caption_text_multiline(self): method test_convert_from_srt_to_vtt_and_back_gives_same_file (line 1215) | def test_convert_from_srt_to_vtt_and_back_gives_same_file(self): method test_save_file_with_bom (line 1226) | def test_save_file_with_bom(self): method test_save_file_with_bom_keeps_bom (line 1241) | def test_save_file_with_bom_keeps_bom(self): method test_save_file_with_bom_removes_bom_if_requested (line 1265) | def test_save_file_with_bom_removes_bom_if_requested(self): method test_save_file_with_encoding (line 1289) | def test_save_file_with_encoding(self): method test_save_file_with_encoding_and_bom (line 1306) | def test_save_file_with_encoding_and_bom(self): method test_save_new_file_utf_8_default_encoding_no_bom (line 1324) | def test_save_new_file_utf_8_default_encoding_no_bom(self): method test_save_new_file_utf_8_default_encoding_with_bom (line 1345) | def test_save_new_file_utf_8_default_encoding_with_bom(self): method test_iter_slice (line 1368) | def test_iter_slice(self): method test_iter_slice_no_start_time (line 1384) | def test_iter_slice_no_start_time(self): method test_iter_slice_no_end_time (line 1400) | def test_iter_slice_no_end_time(self): FILE: webvtt/cli.py function main (line 9) | def main(argv: typing.Optional[typing.Sequence] = None): FILE: webvtt/errors.py class MalformedFileError (line 4) | class MalformedFileError(Exception): class MalformedCaptionError (line 8) | class MalformedCaptionError(Exception): class MissingFilenameError (line 12) | class MissingFilenameError(Exception): FILE: webvtt/models.py class Timestamp (line 9) | class Timestamp: method __init__ (line 14) | def __init__( method __str__ (line 27) | def __str__(self): method to_tuple (line 34) | def to_tuple(self) -> typing.Tuple[int, int, int, int]: method __repr__ (line 38) | def __repr__(self): method __eq__ (line 47) | def __eq__(self, other): method __ne__ (line 51) | def __ne__(self, other): method __gt__ (line 55) | def __gt__(self, other): method __lt__ (line 59) | def __lt__(self, other): method __ge__ (line 63) | def __ge__(self, other): method __le__ (line 67) | def __le__(self, other): method from_string (line 72) | def from_string(cls, value: str) -> 'Timestamp': method in_seconds (line 91) | def in_seconds(self) -> int: class Caption (line 99) | class Caption: method __init__ (line 105) | def __init__(self, method __repr__ (line 132) | def __repr__(self): method __str__ (line 142) | def __str__(self): method __eq__ (line 147) | def __eq__(self, other): method start (line 159) | def start(self): method start (line 164) | def start(self, value: str): method end (line 169) | def end(self): method end (line 174) | def end(self, value: str): method start_in_seconds (line 179) | def start_in_seconds(self) -> int: method end_in_seconds (line 184) | def end_in_seconds(self): method raw_text (line 189) | def raw_text(self) -> str: method text (line 194) | def text(self) -> str: method text (line 199) | def text(self, value: str): method voice (line 209) | def voice(self) -> typing.Optional[str]: class Style (line 219) | class Style: method __init__ (line 222) | def __init__(self, text: typing.Union[str, typing.List[str]]): method text (line 231) | def text(self): FILE: webvtt/sbv.py class SBVCueBlock (line 11) | class SBVCueBlock: method __init__ (line 18) | def __init__( method is_valid (line 36) | def is_valid( method from_lines (line 53) | def from_lines( function parse (line 71) | def parse(lines: typing.Sequence[str]) -> typing.List[Caption]: function _is_valid_content (line 84) | def _is_valid_content(lines: typing.Sequence[str]) -> bool: function _parse_captions (line 98) | def _parse_captions(lines: typing.Sequence[str]) -> typing.List[Caption]: FILE: webvtt/segmenter.py function segment (line 14) | def segment( function slice_segments (line 38) | def slice_segments( function write_segments (line 72) | def write_segments( function write_manifest (line 98) | def write_manifest( FILE: webvtt/srt.py class SRTCueBlock (line 11) | class SRTCueBlock: method __init__ (line 18) | def __init__( method is_valid (line 38) | def is_valid( method from_lines (line 55) | def from_lines( function parse (line 75) | def parse(lines: typing.Sequence[str]) -> typing.List[Caption]: function is_valid_content (line 88) | def is_valid_content(lines: typing.Sequence[str]) -> bool: function parse_captions (line 103) | def parse_captions(lines: typing.Sequence[str]) -> typing.List[Caption]: function write (line 128) | def write( FILE: webvtt/utils.py class FileWrapper (line 15) | class FileWrapper: method __init__ (line 18) | def __init__( method open (line 40) | def open( method __enter__ (line 55) | def __enter__(self): method __exit__ (line 66) | def __exit__(self, exc_type, exc_val, exc_tb): method detect_bom_encoding (line 71) | def detect_bom_encoding(file_path: str) -> typing.Optional[str]: function iter_blocks_of_lines (line 86) | def iter_blocks_of_lines( FILE: webvtt/vtt.py class ParserOutput (line 13) | class ParserOutput: method from_data (line 22) | def from_data( class WebVTTCueBlock (line 41) | class WebVTTCueBlock: method __init__ (line 48) | def __init__( method is_valid (line 68) | def is_valid( method from_lines (line 93) | def from_lines( method format_lines (line 121) | def format_lines(caption: Caption) -> typing.List[str]: class WebVTTCommentBlock (line 136) | class WebVTTCommentBlock: method __init__ (line 141) | def __init__(self, text: str): method is_valid (line 150) | def is_valid( method from_lines (line 163) | def from_lines( method format_lines (line 177) | def format_lines(lines: str) -> typing.List[str]: class WebVTTStyleBlock (line 192) | class WebVTTStyleBlock: method __init__ (line 197) | def __init__(self, text: str): method is_valid (line 206) | def is_valid( method from_lines (line 222) | def from_lines( method format_lines (line 236) | def format_lines(lines: typing.List[str]) -> typing.List[str]: function parse (line 246) | def parse( function is_valid_content (line 261) | def is_valid_content(lines: typing.Sequence[str]) -> bool: function parse_items (line 271) | def parse_items( function parse_item (line 304) | def parse_item( function write (line 327) | def write( function to_str (line 352) | def to_str( FILE: webvtt/webvtt.py class WebVTT (line 18) | class WebVTT: method __init__ (line 32) | def __init__( method __len__ (line 57) | def __len__(self): method __getitem__ (line 61) | def __getitem__(self, index): method __repr__ (line 65) | def __repr__(self): method __str__ (line 71) | def __str__(self): method read (line 76) | def read( method read_buffer (line 96) | def read_buffer( method from_buffer (line 118) | def from_buffer( method from_srt (line 161) | def from_srt( method from_sbv (line 180) | def from_sbv( method from_string (line 199) | def from_string(cls, string: str) -> 'WebVTT': method _get_lines (line 215) | def _get_lines(lines: typing.Iterable[str]) -> typing.List[str]: method _get_destination_file (line 224) | def _get_destination_file( method save (line 264) | def save( method save_as_srt (line 297) | def save_as_srt( method write (line 314) | def write( method iter_slice (line 339) | def iter_slice( method total_length (line 362) | def total_length(self): method content (line 372) | def content(self) -> str: