Skip to content

Commit

Permalink
Supply encoding parameter, suppressing EncodingWarnings.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaraco committed Jan 28, 2023
1 parent 055795c commit 776db92
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 7 deletions.
5 changes: 5 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
v3.11.1
=======

Fixed ``EncodingWarnings`` when reading/writing text.

v3.11.0
=======

Expand Down
12 changes: 7 additions & 5 deletions jaraco/text/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,9 @@ def unwrap(s):
return '\n'.join(cleaned)


lorem_ipsum: str = files(__name__).joinpath('Lorem ipsum.txt').read_text()
lorem_ipsum: str = (
files(__name__).joinpath('Lorem ipsum.txt').read_text(encoding='utf-8')
)


class Splitter(object):
Expand Down Expand Up @@ -607,16 +609,16 @@ def read_newlines(filename, limit=1024):
r"""
>>> tmp_path = getfixture('tmp_path')
>>> filename = tmp_path / 'out.txt'
>>> _ = filename.write_text('foo\n', newline='')
>>> _ = filename.write_text('foo\n', newline='', encoding='utf-8')
>>> read_newlines(filename)
'\n'
>>> _ = filename.write_text('foo\r\n', newline='')
>>> _ = filename.write_text('foo\r\n', newline='', encoding='utf-8')
>>> read_newlines(filename)
'\r\n'
>>> _ = filename.write_text('foo\r\nbar\nbing\r', newline='')
>>> _ = filename.write_text('foo\r\nbar\nbing\r', newline='', encoding='utf-8')
>>> read_newlines(filename)
('\r', '\n', '\r\n')
"""
with open(filename) as fp:
with open(filename, encoding='utf-8') as fp:
fp.read(limit)
return fp.newlines
4 changes: 2 additions & 2 deletions jaraco/text/show-newlines.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ def report_newlines(filename):
>>> tmp_path = getfixture('tmp_path')
>>> filename = tmp_path / 'out.txt'
>>> _ = filename.write_text('foo\nbar\n', newline='')
>>> _ = filename.write_text('foo\nbar\n', newline='', encoding='utf-8')
>>> report_newlines(filename)
newline is '\n'
>>> filename = tmp_path / 'out.txt'
>>> _ = filename.write_text('foo\nbar\r\n', newline='')
>>> _ = filename.write_text('foo\nbar\r\n', newline='', encoding='utf-8')
>>> report_newlines(filename)
newlines are ('\n', '\r\n')
"""
Expand Down

0 comments on commit 776db92

Please sign in to comment.