12345678910111213141516171819202122232425262728 |
- import inflect
- from more_itertools import always_iterable
- import jaraco.text
- def report_newlines(filename):
- r"""
- Report the newlines in the indicated file.
- >>> tmp_path = getfixture('tmp_path')
- >>> filename = tmp_path / 'out.txt'
- >>> _ = 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='', encoding='utf-8')
- >>> report_newlines(filename)
- newlines are ('\n', '\r\n')
- """
- newlines = jaraco.text.read_newlines(filename)
- count = len(tuple(always_iterable(newlines)))
- engine = inflect.engine()
- print(
- engine.plural_noun("newline", count),
- engine.plural_verb("is", count),
- repr(newlines),
- )
|