Alir3z4 / Alir3z4/html2text

IndexError when padding nested tables

未关闭
#370 2 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
2.2k
派生
296
PR 合并指标
30 天内没有已合并 PR

描述

I use html2text with the `--pad-tables` flag in my mailcap to read HTML email. Occasionally, html2text will fail when attempting to process an unholy nested table mess.

For example, the following html demonstrates the problem:

```







foo





```

Attempting to process this with the `--pad-tables` flag results in an `IndexError`:

```
Traceback (most recent call last):
File "/usr/bin/html2text", line 33, in
sys.exit(load_entry_point('html2text==2020.1.16', 'console_scripts', 'html2text')())
File "/usr/lib/python3.9/site-packages/html2text/cli.py", line 306, in main
sys.stdout.write(h.handle(html))
File "/usr/lib/python3.9/site-packages/html2text/__init__.py", line 146, in handle
return pad_tables_in_text(markdown)
File "/usr/lib/python3.9/site-packages/html2text/utils.py", line 273, in pad_tables_in_text
table = reformat_table(table_buffer, right_margin)
File "/usr/lib/python3.9/site-packages/html2text/utils.py", line 223, in reformat_table
max_width = [len(x.rstrip()) + right_margin for x in lines[0].split("|")]
IndexError: list index out of range
```

It works fine without `--pad-tables`. If html2text cannot figure out the padding, I would prefer it to just fall back to rendering as if `--pad-tables` was not given.

- Version: 2020.1.16
- Python version: 3.9.6

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。