Alir3z4 / Alir3z4/html2text

WRAP_LIST_ITEMS setting is not respected

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

描述

- Version 2020.1.16
- Python version 3.8.7

```python
body = """
1. Error exercitationem debitis magni tenetur dolorum inventore ex. Voluptatibus possimus voluptas quibusdam vel facere eaque sit. Et et hic totam aliquam et ut numquam. Omnis qui consectetur reiciendis. Deserunt qui aut mollitia qui. Dolores omnis aut facere sint et rerum.
2. Modi excepturi velit ab fuga dignissimos qui. Et dolorem ut quam consequatur. Quia repellat deleniti et aut quae in. Cum quidem maiores sint suscipit nobis ipsam.
3. Et tenetur sapiente velit. Neque culpa perspiciatis et molestias voluptatem officia rem. Dolorem reprehenderit recusandae nostrum voluptatem nihil et modi neque. Libero et tempore odit. Saepe quo dolorum voluptas. Aliquam illo nam eos qui eum.
"""
h = html2text.HTML2Text()
h.body_width = 80
h.wrap_list_items = True
print(h.handle(body))
```

Should normally render

```text
1. Error exercitationem debitis magni tenetur dolorum inventore ex.
Voluptatibus possimus voluptas quibusdam vel facere eaque sit. Et et hic totam
aliquam et ut numquam. Omnis qui consectetur reiciendis. Deserunt qui aut
mollitia qui. Dolores omnis aut facere sint et rerum.

2. Modi excepturi velit ab fuga dignissimos qui. Et dolorem ut quam
consequatur. Quia repellat deleniti et aut quae in. Cum quidem maiores sint
suscipit nobis ipsam.

3. Et tenetur sapiente velit. Neque culpa perspiciatis et molestias voluptatem
officia rem. Dolorem reprehenderit recusandae nostrum voluptatem nihil et modi
neque. Libero et tempore odit. Saepe quo dolorum voluptas. Aliquam illo nam eos
qui eum.
```

But instead it return unwrapped text

I suggest changing `skipwrap()` end of function to:

```python
# If the text begins with a single -, *, or +, followed by a space,
# or an integer, followed by a ., followed by a space (in either
# case optionally proceeded by whitespace), it's a list; don't wrap,
# unless explicitly specified.
return bool(
config.RE_ORDERED_LIST_MATCHER.match(stripped)
or config.RE_UNORDERED_LIST_MATCHER.match(stripped)
) and not wrap_list_items
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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