Skip to content

Commit

Permalink
Remove text file object support
Browse files Browse the repository at this point in the history
  • Loading branch information
hukkin committed Oct 21, 2021
1 parent 8917fe3 commit ac49062
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 21 deletions.
1 change: 0 additions & 1 deletion README.md
Expand Up @@ -67,7 +67,6 @@ with open("path_to_file/conf.toml", "rb") as f:
The file must be opened in binary mode (with the `"rb"` flag).
Binary mode will enforce decoding the file as UTF-8 with universal newlines disabled,
both of which are required to correctly parse TOML.
Support for text file objects is deprecated for removal in the next major release.

### Handle invalid TOML<a name="handle-invalid-toml"></a>

Expand Down
9 changes: 0 additions & 9 deletions tests/test_misc.py
Expand Up @@ -3,8 +3,6 @@
from decimal import Decimal as D
from pathlib import Path

import pytest

import tomli


Expand All @@ -14,13 +12,6 @@ def test_load(tmp_path):
file_path = tmp_path / "test.toml"
file_path.write_text(content)

# Test text mode
with open(file_path, encoding="utf-8", newline="") as f:
with pytest.warns(DeprecationWarning):
actual = tomli.load(f) # type: ignore[arg-type]
assert actual == expected

# Test binary mode
with open(file_path, "rb") as bin_f:
actual = tomli.load(bin_f)
assert actual == expected
Expand Down
12 changes: 1 addition & 11 deletions tomli/_parser.py
Expand Up @@ -11,7 +11,6 @@
Optional,
Tuple,
)
import warnings

from tomli._re import (
RE_DATETIME,
Expand Down Expand Up @@ -65,16 +64,7 @@ class TOMLDecodeError(ValueError):
def load(fp: BinaryIO, *, parse_float: ParseFloat = float) -> Dict[str, Any]:
"""Parse TOML from a binary file object."""
s_bytes = fp.read()
try:
s = s_bytes.decode()
except AttributeError:
warnings.warn(
"Text file object support is deprecated in favor of binary file objects."
' Use `open("foo.toml", "rb")` to open the file in binary mode.',
DeprecationWarning,
stacklevel=2,
)
s = s_bytes # type: ignore[assignment]
s = s_bytes.decode()
return loads(s, parse_float=parse_float)


Expand Down

0 comments on commit ac49062

Please sign in to comment.