def paragraph(self):
"""Return the index within self.text of the current paragraph and of
the current line and current character (number of characters since the
start of the paragraph) within the paragraph
Returns: namedtuple (para_index, line_index, char_index)
"""
idx_para = idx_buffer = idx_line = idx_char = 0
done = False
for para in self.text:
for idx_line, line in enumerate(para):
if idx_buffer == self.buffer_idx_y:
done = True
break
idx_buffer += 1
if done is True:
break
idx_para += 1
idx_char = sum(map(len, self.text[idx_para][:idx_line])) + \
self.buffer_idx_x
p = namedtuple("para", ['para_index', 'line_index', 'char_index'])
return p(idx_para, idx_line, idx_char)
评论列表
文章目录