Alir3z4 / Alir3z4/html2text

text wrapped at 78 characters ignoring body_width setting and partially ignoring -b option

オープン
#315 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
2.2k
フォーク
296
PR マージ指標
30日以内にマージされた PR はありません

説明

I am using html2text version 2020.1.16 with Python 3.8.1. html2text wraps the text at 78 characters regardless of the setting of BODY_WIDTH in config.py or body_width in the parser. I set BODY_WIDTH = 0 in config.py, then:

>>> html = 'This line is longer than seventy-eight characters. It seems to be getting wrapped with backslash n line breaks at seventy-eight characters regardless of the body_width setting in config.py or in the parser.'
>>> len(html)
228

>>> plainmd = html2text.html2text(html)
>>> plainmd
'This line is longer than **seventy-eight** characters. It seems to be getting\nwrapped with backslash n line breaks at _seventy-eight_ characters regardless\nof the _body_width_ setting in config.py or in the parser.\n\n'
>>> len('This line is longer than **seventy-eight** characters. It seems to be getting')
77

>>> parser = html2text.HTML2Text()
>>> parser.body_width = 0
>>> parser.body_width
0
>>> plainmd = html2text.html2text(html)
>>> plainmd
'This line is longer than **seventy-eight** characters. It seems to be getting\nwrapped with backslash n line breaks at _seventy-eight_ characters regardless\nof the _body_width_ setting in config.py or in the parser.\n\n'

>>> parser.body_width = 22
>>> parser.body_width
22
>>> plainmd = html2text.html2text(html)
>>> plainmd
'This line is longer than **seventy-eight** characters. It seems to be getting\nwrapped with backslash n line breaks at _seventy-eight_ characters regardless\nof the _body_width_ setting in config.py or in the parser.\n\n'

>>> parser.body_width = 99
>>> parser.body_width
99
>>> plainmd
'This line is longer than **seventy-eight** characters. It seems to be getting\nwrapped with backslash n line breaks at _seventy-eight_ characters regardless\nof the _body_width_ setting in config.py or in the parser.\n\n'

However, at the command line, it wraps on the screen at the value specified with -b, but still puts a newline character in after 78 characters:
$ cat /tmp/test.html
This line is longer than **seventy-eight** characters. It seems to be getting\nwrapped with backslash n line breaks at _seventy-eight_ characters regardless\nof the _body_width_ setting in config.py or in the parser.
$
$ wc -l /tmp/test.html; wc -c /tmp/test.html
1 /tmp/test.html
217 /tmp/test.html
$
$ python3.8 -m html2text -b 0 /tmp/test.html
This line is longer than **seventy-eight** characters. It seems to be getting\nwrapped with backslash n line breaks at _seventy-eight_ characters regardless\nof the _body_width_ setting in config.py or in the parser.
$
$ echo 'This line is longer than **seventy-eight** characters. It seems to be getting' | wc -c
78
$
$ python3.8 -m html2text -b 22 /tmp/test.html
This line is longer
than **seventy-eight**
characters. It seems
to be getting\nwrapped
with backslash n line
breaks at _seventy-
eight_ characters
regardless\nof the
_body_width_ setting
in config.py or in the
parser.

$ python3.8 -m html2text -b 99 /tmp/test.html
This line is longer than **seventy-eight** characters. It seems to be getting\nwrapped with
backslash n line breaks at _seventy-eight_ characters regardless\nof the _body_width_ setting in
config.py or in the parser.

$

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。