Skip to content

Commit

Permalink
Drop sequence length check
Browse files Browse the repository at this point in the history
  • Loading branch information
BoboTiG committed Oct 5, 2021
1 parent 252fe02 commit d52a483
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 12 deletions.
13 changes: 5 additions & 8 deletions httpie/encoding.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from typing import Union

from charset_normalizer import from_bytes
from charset_normalizer.constant import TOO_SMALL_SEQUENCE

UTF8 = 'utf-8'

Expand All @@ -16,16 +15,14 @@ def detect_encoding(content: ContentBytes) -> str:
>>> too_short = ']"foo"'
>>> detected = from_bytes(too_short.encode()).best().encoding
>>> detected
'utf_16_be'
'ascii'
>>> too_short.encode().decode(detected)
'崢景漢'
']"foo"'
"""
encoding = UTF8
if len(content) > TOO_SMALL_SEQUENCE:
match = from_bytes(bytes(content)).best()
if match:
encoding = match.encoding
match = from_bytes(bytes(content)).best()
if match:
encoding = match.encoding
return encoding


Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
'wheel',
]
install_requires = [
'charset_normalizer>=2.0.0',
'charset_normalizer>=2.0.5',
'defusedxml>=0.6.0',
'requests[socks]>=2.22.0',
'Pygments>=2.5.2',
Expand Down
4 changes: 1 addition & 3 deletions tests/test_encoding.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"""
import pytest
import responses
from charset_normalizer.constant import TOO_SMALL_SEQUENCE

from httpie.cli.constants import PRETTY_MAP
from httpie.encoding import UTF8
Expand All @@ -13,8 +12,7 @@
from .fixtures import UNICODE


CZECH_TEXT = 'Všichni lidé jsou si rovni. Všichni lidé jsou si rovni.'
assert len(CZECH_TEXT) > TOO_SMALL_SEQUENCE
CZECH_TEXT = 'Všichni lidé jsou si rovni.'
CZECH_TEXT_SPECIFIC_CHARSET = 'windows-1250'
ENCODINGS = [UTF8, CZECH_TEXT_SPECIFIC_CHARSET]

Expand Down

0 comments on commit d52a483

Please sign in to comment.