Alir3z4 / Alir3z4/html2text

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

Abierto
#315 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
2.2k
Forks
296
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

$

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.