Skip to content

Commit 3be5638

Browse files
authored
Run pyupgrade --py37-plus (#1035)
- Discards rewrites of `io.open`, see #1020
1 parent 9e3a927 commit 3be5638

14 files changed

+53
-67
lines changed

pyfakefs/fake_file.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class FakeLargeFileIoException(Exception):
7575
"""
7676

7777
def __init__(self, file_path: str) -> None:
78-
super(FakeLargeFileIoException, self).__init__(
78+
super().__init__(
7979
"Read and write operations not supported for "
8080
"fake large file: %s" % file_path
8181
)
@@ -395,7 +395,7 @@ def __setattr__(self, key: str, value: Any) -> None:
395395
return super().__setattr__(key, value)
396396

397397
def __str__(self) -> str:
398-
return "%r(%o)" % (self.name, self.st_mode)
398+
return f"{self.name!r}({self.st_mode:o})"
399399

400400
def has_permission(self, permission_bits: int) -> bool:
401401
"""Checks if the given permissions are set in the fake file.
@@ -416,7 +416,7 @@ def has_permission(self, permission_bits: int) -> bool:
416416
class FakeNullFile(FakeFile):
417417
def __init__(self, filesystem: "FakeFilesystem") -> None:
418418
devnull = "nul" if filesystem.is_windows_fs else "/dev/null"
419-
super(FakeNullFile, self).__init__(devnull, filesystem=filesystem, contents="")
419+
super().__init__(devnull, filesystem=filesystem, contents="")
420420

421421
@property
422422
def byte_contents(self) -> bytes:
@@ -466,7 +466,7 @@ def byte_contents(self) -> Optional[bytes]:
466466

467467
def set_contents(self, contents, encoding=None):
468468
self.contents_read = True
469-
super(FakeFileFromRealFile, self).set_contents(contents, encoding)
469+
super().set_contents(contents, encoding)
470470

471471
def is_large_file(self):
472472
"""The contents are never faked."""
@@ -650,7 +650,7 @@ def has_parent_object(self, dir_object: "FakeDirectory") -> bool:
650650
return False
651651

652652
def __str__(self) -> str:
653-
description = super(FakeDirectory, self).__str__() + ":\n"
653+
description = super().__str__() + ":\n"
654654
for item in self.entries:
655655
item_desc = self.entries[item].__str__()
656656
for line in item_desc.split("\n"):
@@ -688,7 +688,7 @@ def __init__(
688688
"""
689689
target_path = target_path or source_path
690690
real_stat = os.stat(source_path)
691-
super(FakeDirectoryFromRealDirectory, self).__init__(
691+
super().__init__(
692692
name=to_string(os.path.split(target_path)[1]),
693693
perm_bits=real_stat.st_mode,
694694
filesystem=filesystem,
@@ -730,7 +730,7 @@ def size(self) -> int:
730730
# we cannot get the size until the contents are loaded
731731
if not self.contents_read:
732732
return 0
733-
return super(FakeDirectoryFromRealDirectory, self).size
733+
return super().size
734734

735735
@size.setter
736736
def size(self, st_size: int) -> None:

pyfakefs/fake_pathlib.py

+4-11
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ def __init__(self, filesystem):
231231
self.sep = filesystem.path_separator
232232
self.altsep = filesystem.alternative_path_separator
233233
self.has_drv = filesystem.is_windows_fs
234-
super(_FakeFlavour, self).__init__()
234+
super().__init__()
235235

236236
@staticmethod
237237
def _split_extended_path(path, ext_prefix=ext_namespace_prefix):
@@ -442,7 +442,7 @@ def make_uri(self, path):
442442
if len(drive) == 2 and drive[1] == ":":
443443
# It's a path on a local drive => 'file:///c:/a/b'
444444
rest = path.as_posix()[2:].lstrip("/")
445-
return "file:///%s/%s" % (
445+
return "file:///{}/{}".format(
446446
drive,
447447
urlquote_from_bytes(rest.encode("utf-8")),
448448
)
@@ -618,15 +618,8 @@ def resolve(self, strict=None):
618618
Raises:
619619
OSError: if the path doesn't exist (strict=True)
620620
"""
621-
if sys.version_info >= (3, 6):
622-
if strict is None:
623-
strict = False
624-
else:
625-
if strict is not None:
626-
raise TypeError(
627-
"resolve() got an unexpected keyword argument 'strict'"
628-
)
629-
strict = True
621+
if strict is None:
622+
strict = False
630623
self._raise_on_closed()
631624
path = self._flavour.resolve(
632625
self, strict=strict

pyfakefs/fake_scandir.py

+9-14
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,8 @@ def stat(self, follow_symlinks=True):
104104
self._statresult.st_nlink = 0
105105
return self._statresult
106106

107-
if sys.version_info >= (3, 6):
108-
109-
def __fspath__(self):
110-
return self.path
107+
def __fspath__(self):
108+
return self.path
111109

112110
if sys.version_info >= (3, 12):
113111

@@ -155,16 +153,14 @@ def __next__(self):
155153
dir_entry._islink = self.filesystem.islink(dir_entry._abspath)
156154
return dir_entry
157155

158-
if sys.version_info >= (3, 6):
159-
160-
def __enter__(self):
161-
return self
156+
def __enter__(self):
157+
return self
162158

163-
def __exit__(self, exc_type, exc_val, exc_tb):
164-
self.close()
159+
def __exit__(self, exc_type, exc_val, exc_tb):
160+
self.close()
165161

166-
def close(self):
167-
pass
162+
def close(self):
163+
pass
168164

169165

170166
def scandir(filesystem, path=""):
@@ -249,8 +245,7 @@ def do_walk(top_dir, top_most=False):
249245
path = filesystem.joinpaths(top_dir, directory)
250246
if not followlinks and filesystem.islink(path):
251247
continue
252-
for contents in do_walk(path):
253-
yield contents
248+
yield from do_walk(path)
254249
if not topdown:
255250
yield top_contents
256251

pyfakefs/pytest_tests/io.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ def __init__(self, name):
1010
self.name = name
1111

1212
def read(self):
13-
with open(self.name, "r") as f:
13+
with open(self.name) as f:
1414
return f.readline()

pyfakefs/pytest_tests/pytest_doctest_test.py

-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
Add `-s` option to enable print statements.
1010
"""
1111

12-
from __future__ import unicode_literals
13-
1412

1513
def make_file_factory(func_name, fake, result):
1614
"""Return a simple function with parametrized doctest."""

pyfakefs/tests/dynamic_patch_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def setUp(self):
2828

2929
class DynamicImportPatchTest(TestPyfakefsUnittestBase):
3030
def __init__(self, methodName="runTest"):
31-
super(DynamicImportPatchTest, self).__init__(methodName)
31+
super().__init__(methodName)
3232

3333
def test_os_patch(self):
3434
import os

pyfakefs/tests/example.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def create_file(path):
6767
'It was created using open().\\n']
6868
"""
6969
with open(path, "w", encoding="utf8") as f:
70-
f.write("This is test file '{0}'.\n".format(path))
70+
f.write(f"This is test file '{path}'.\n")
7171
f.write("It was created using open().\n")
7272

7373

pyfakefs/tests/fake_filesystem_shutil_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ def use_real_fs(self):
411411

412412
class FakeCopyFileTest(RealFsTestCase):
413413
def tearDown(self):
414-
super(FakeCopyFileTest, self).tearDown()
414+
super().tearDown()
415415

416416
def test_common_case(self):
417417
src_file = self.make_path("xyzzy")

pyfakefs/tests/fake_filesystem_vs_real_test.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ def _compare_behaviors(
179179
def _error_class(exc):
180180
if exc:
181181
if hasattr(exc, "errno"):
182-
return "{}({})".format(exc.__class__.__name__, exc.errno)
182+
return f"{exc.__class__.__name__}({exc.errno})"
183183
return exc.__class__.__name__
184184
return "None"
185185

@@ -192,26 +192,26 @@ def _error_class(exc):
192192
# is almost always different because of the file paths.
193193
if _error_class(real_err) != _error_class(fake_err):
194194
if real_err is None:
195-
return "%s: real version returned %s, fake raised %s" % (
195+
return "{}: real version returned {}, fake raised {}".format(
196196
method_call,
197197
real_value,
198198
_error_class(fake_err),
199199
)
200200
if fake_err is None:
201-
return "%s: real version raised %s, fake returned %s" % (
201+
return "{}: real version raised {}, fake returned {}".format(
202202
method_call,
203203
_error_class(real_err),
204204
fake_value,
205205
)
206-
return "%s: real version raised %s, fake raised %s" % (
206+
return "{}: real version raised {}, fake raised {}".format(
207207
method_call,
208208
_error_class(real_err),
209209
_error_class(fake_err),
210210
)
211211
real_errno = _get_errno(real_err)
212212
fake_errno = _get_errno(fake_err)
213213
if real_errno != fake_errno:
214-
return "%s(%s): both raised %s, real errno %s, fake errno %s" % (
214+
return "{}({}): both raised {}, real errno {}, fake errno {}".format(
215215
method_name,
216216
path,
217217
_error_class(real_err),
@@ -230,7 +230,7 @@ def _error_class(exc):
230230
real_value = real_value[len(self.real_base) :]
231231
fake_value = fake_value[len(self.fake_base) :]
232232
if real_value != fake_value:
233-
return "%s: real return %s, fake returned %s" % (
233+
return "{}: real return {}, fake returned {}".format(
234234
method_call,
235235
real_value,
236236
fake_value,
@@ -472,7 +472,7 @@ def assertFileHandleOpenBehaviorsMatch(self, *args, **kwargs):
472472
)
473473

474474
if not is_exception_equal:
475-
msg = "Behaviors don't match on open with args %s & kwargs %s.\n" % (
475+
msg = "Behaviors don't match on open with args {} & kwargs {}.\n".format(
476476
args,
477477
kwargs,
478478
)

pyfakefs/tests/fake_open_test.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
class FakeFileOpenTestBase(RealFsTestCase):
3535
def setUp(self):
36-
super(FakeFileOpenTestBase, self).setUp()
36+
super().setUp()
3737
if self.use_real_fs():
3838
self.open = io.open
3939
else:
@@ -46,11 +46,11 @@ def path_separator(self):
4646

4747
class FakeFileOpenTest(FakeFileOpenTestBase):
4848
def setUp(self):
49-
super(FakeFileOpenTest, self).setUp()
49+
super().setUp()
5050
self.orig_time = time.time
5151

5252
def tearDown(self):
53-
super(FakeFileOpenTest, self).tearDown()
53+
super().tearDown()
5454
time.time = self.orig_time
5555

5656
def test_open_no_parent_dir(self):
@@ -1056,7 +1056,7 @@ def use_real_fs(self):
10561056
@unittest.skipIf(sys.version_info < (3, 8), "open_code only present since Python 3.8")
10571057
class FakeFilePatchedOpenCodeTest(FakeFileOpenTestBase):
10581058
def setUp(self):
1059-
super(FakeFilePatchedOpenCodeTest, self).setUp()
1059+
super().setUp()
10601060
if self.use_real_fs():
10611061
self.open_code = io.open_code
10621062
else:
@@ -1066,7 +1066,7 @@ def setUp(self):
10661066
def tearDown(self):
10671067
if not self.use_real_fs():
10681068
self.filesystem.patch_open_code = False
1069-
super(FakeFilePatchedOpenCodeTest, self).tearDown()
1069+
super().tearDown()
10701070

10711071
@unittest.skipIf(IS_PYPY, "Different behavior in PyPy")
10721072
def test_invalid_path(self):
@@ -1104,7 +1104,7 @@ def use_real_fs(self):
11041104
@unittest.skipIf(sys.version_info < (3, 8), "open_code only present since Python 3.8")
11051105
class FakeFileUnpatchedOpenCodeTest(FakeFileOpenTestBase):
11061106
def setUp(self):
1107-
super(FakeFileUnpatchedOpenCodeTest, self).setUp()
1107+
super().setUp()
11081108
if self.use_real_fs():
11091109
self.open_code = io.open_code
11101110
else:
@@ -1377,7 +1377,7 @@ class OpenFileWithEncodingTest(FakeFileOpenTestBase):
13771377
an explicit text encoding."""
13781378

13791379
def setUp(self):
1380-
super(OpenFileWithEncodingTest, self).setUp()
1380+
super().setUp()
13811381
self.file_path = self.make_path("foo")
13821382

13831383
def test_write_str_read_bytes(self):
@@ -1536,7 +1536,7 @@ def use_real_fs(self):
15361536

15371537
class FakeFileOpenLineEndingTest(FakeFileOpenTestBase):
15381538
def setUp(self):
1539-
super(FakeFileOpenLineEndingTest, self).setUp()
1539+
super().setUp()
15401540

15411541
def test_read_default_newline_mode(self):
15421542
file_path = self.make_path("some_file")
@@ -1656,7 +1656,7 @@ def use_real_fs(self):
16561656

16571657
class FakeFileOpenLineEndingWithEncodingTest(FakeFileOpenTestBase):
16581658
def setUp(self):
1659-
super(FakeFileOpenLineEndingWithEncodingTest, self).setUp()
1659+
super().setUp()
16601660

16611661
def test_read_standard_newline_mode(self):
16621662
file_path = self.make_path("some_file")
@@ -1769,7 +1769,7 @@ def use_real_fs(self):
17691769

17701770
class OpenWithFlagsTestBase(FakeFileOpenTestBase):
17711771
def setUp(self):
1772-
super(OpenWithFlagsTestBase, self).setUp()
1772+
super().setUp()
17731773
self.file_path = self.make_path("some_file")
17741774
self.file_contents = None
17751775

@@ -1795,7 +1795,7 @@ def write_and_reopen_file(self, fake_file, mode="r", encoding=None):
17951795

17961796
class OpenWithBinaryFlagsTest(OpenWithFlagsTestBase):
17971797
def setUp(self):
1798-
super(OpenWithBinaryFlagsTest, self).setUp()
1798+
super().setUp()
17991799
self.file_contents = b"real binary contents: \x1f\x8b"
18001800
self.create_file(self.file_path, contents=self.file_contents)
18011801

@@ -1830,7 +1830,7 @@ def use_real_fs(self):
18301830

18311831
class OpenWithTextModeFlagsTest(OpenWithFlagsTestBase):
18321832
def setUp(self):
1833-
super(OpenWithTextModeFlagsTest, self).setUp()
1833+
super().setUp()
18341834
self.setUpFileSystem()
18351835

18361836
def setUpFileSystem(self):

pyfakefs/tests/fake_os_test.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1641,7 +1641,7 @@ def test_mkdir(self):
16411641
self.assertTrue(self.filesystem.exists("/%s" % directory))
16421642
self.os.chdir(directory)
16431643
self.os.mkdir(directory)
1644-
self.assertTrue(self.filesystem.exists("/%s/%s" % (directory, directory)))
1644+
self.assertTrue(self.filesystem.exists(f"/{directory}/{directory}"))
16451645
self.os.chdir(directory)
16461646
self.os.mkdir("../abccb")
16471647
self.assertTrue(self.os.path.exists("/%s/abccb" % directory))
@@ -1662,7 +1662,7 @@ def test_mkdir_raises_if_empty_directory_name(self):
16621662
def test_mkdir_raises_if_no_parent(self):
16631663
"""mkdir raises exception if parent directory does not exist."""
16641664
parent = "xyzzy"
1665-
directory = "%s/foo" % (parent,)
1665+
directory = f"{parent}/foo"
16661666
self.assertFalse(self.os.path.exists(parent))
16671667
self.assert_raises_os_error(errno.ENOENT, self.os.mkdir, directory)
16681668

pyfakefs/tests/fake_pathlib_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ def use_real_fs(self):
304304

305305
class FakePathlibFileObjectPropertyTest(RealPathlibTestCase):
306306
def setUp(self):
307-
super(FakePathlibFileObjectPropertyTest, self).setUp()
307+
super().setUp()
308308
self.umask = self.os.umask(0o022)
309309
self.file_path = self.make_path("home", "jane", "test.py")
310310
self.create_file(self.file_path, contents=b"a" * 100)

0 commit comments

Comments
 (0)