TextGridTools icon indicating copy to clipboard operation
TextGridTools copied to clipboard

Loading fails if `DEL` present in multi-line interval annotation

Open mr-martian opened this issue 2 years ago • 3 comments

The following TextGrid does not load: DEL.TextGrid.txt

If either the DEL (ASCII 7f) character or the newline is removed from the annotation, the file loads fine, but if both are present I get

>>> tgt.io.read_textgrid('DEL.TextGrid')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/daniel/.local/lib/python3.8/site-packages/tgt/io3.py", line 51, in read_textgrid
    return read_long_textgrid(filename, stg, include_empty_intervals)
  File "/home/daniel/.local/lib/python3.8/site-packages/tgt/io3.py", line 158, in read_long_textgrid
    num_obj = int(get_attr_val(stg[index + 5]))
IndexError: list index out of range

mr-martian avatar Apr 19 '22 17:04 mr-martian

It looks like the issue is that the parser assumes that if there is a newline in an annotation, then it will be the last character before the quotation, but the textgrid that raised the issue for some reason had a DEL after the \n. (It's also entirely unclear to me why Praat generated this in the file.)

mr-martian avatar Apr 20 '22 20:04 mr-martian

Could you perhaps provide a sample file where the problem occurs?

hbuschme avatar Apr 22 '22 05:04 hbuschme

That's DEL.TextGrid from the post (added .txt so github would allow it).

mr-martian avatar Apr 22 '22 13:04 mr-martian