From 4509d69971aa2112d6c16092d818b6efef53894b Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Sat, 25 Jun 2022 15:26:49 -0700 Subject: [PATCH] Repalce codecs.open with open Since Python 3, using codecs.open() is unnecessary as the builtin supports an encoding argument. Use the simpler and more conventional pattern. --- codespell_lib/_codespell.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/codespell_lib/_codespell.py b/codespell_lib/_codespell.py index 7065e0b4d39..4b967761af0 100644 --- a/codespell_lib/_codespell.py +++ b/codespell_lib/_codespell.py @@ -18,7 +18,6 @@ """ import argparse -import codecs import configparser import fnmatch import os @@ -175,7 +174,7 @@ def open(self, filename): def open_with_chardet(self, filename): self.encdetector.reset() - with codecs.open(filename, 'rb') as f: + with open(filename, 'rb') as f: for line in f: self.encdetector.feed(line) if self.encdetector.done: @@ -184,7 +183,7 @@ def open_with_chardet(self, filename): encoding = self.encdetector.result['encoding'] try: - f = codecs.open(filename, 'r', encoding=encoding) + f = open(filename, encoding=encoding) except UnicodeDecodeError: print("ERROR: Could not detect encoding: %s" % filename, file=sys.stderr) @@ -203,7 +202,7 @@ def open_with_internal(self, filename): curr = 0 while True: try: - f = codecs.open(filename, 'r', encoding=encodings[curr]) + f = open(filename, encoding=encodings[curr]) except UnicodeDecodeError: if not self.quiet_level & QuietLevels.ENCODING: print("WARNING: Decoding file using encoding=%s failed: %s" @@ -439,19 +438,19 @@ def parse_ignore_words_option(ignore_words_option): def build_exclude_hashes(filename, exclude_lines): - with codecs.open(filename, 'r') as f: + with open(filename) as f: for line in f: exclude_lines.add(line) def build_ignore_words(filename, ignore_words): - with codecs.open(filename, mode='r', encoding='utf-8') as f: + with open(filename, encoding='utf-8') as f: for line in f: ignore_words.add(line.strip()) def build_dict(filename, misspellings, ignore_words): - with codecs.open(filename, mode='r', encoding='utf-8') as f: + with open(filename, encoding='utf-8') as f: for line in f: [key, data] = line.split('->') # TODO for now, convert both to lower. Someday we can maybe add @@ -737,7 +736,7 @@ def parse_file(filename, colors, summary, misspellings, exclude_lines, print("%sFIXED:%s %s" % (colors.FWORD, colors.DISABLE, filename), file=sys.stderr) - with codecs.open(filename, 'w', encoding=encoding) as f: + with open(filename, 'w', encoding=encoding) as f: f.writelines(lines) return bad_count