2121import _io # pytype: disable=import-error
2222import io
2323import sys
24- import weakref
2524from enum import Enum
2625from typing import (
2726 Any ,
@@ -71,18 +70,10 @@ def __init__(self, filesystem: FakeFilesystem):
7170 Args:
7271 filesystem: FakeFilesystem used to provide file system information.
7372 """
74- self ._filesystem : weakref .ReferenceType [FakeFilesystem ] = weakref .ref (
75- filesystem
76- )
73+ self .filesystem = filesystem
7774 self .skip_names : list [str ] = []
7875 self ._io_module = io
7976
80- @property
81- def filesystem (self ) -> FakeFilesystem :
82- fs = self ._filesystem ()
83- assert fs is not None
84- return fs
85-
8677 def open (
8778 self ,
8879 file : AnyStr | int ,
@@ -98,10 +89,8 @@ def open(
9889 """Redirect the call to FakeFileOpen.
9990 See FakeFileOpen.call() for description.
10091 """
101- fs = self .filesystem
102- assert fs is not None
10392 return fake_open (
104- fs ,
93+ self . filesystem ,
10594 self .skip_names ,
10695 file ,
10796 mode ,
@@ -170,9 +159,7 @@ def __init__(self, filesystem: FakeFilesystem):
170159 filesystem: FakeFilesystem used to provide file system
171160 information (currently not used).
172161 """
173- self .filesystem : weakref .ReferenceType [FakeFilesystem ] = weakref .ref (
174- filesystem
175- )
162+ self .filesystem = filesystem
176163 self ._fcntl_module = fcntl
177164
178165 def fcntl (self , fd : int , cmd : int , arg : int = 0 ) -> int | bytes :
@@ -193,7 +180,7 @@ def lockf(
193180
194181 def __getattribute__ (self , name ):
195182 """Prevents patching of skipped modules."""
196- fs : FakeFilesystem = object .__getattribute__ (self , "filesystem" )()
183+ fs : FakeFilesystem = object .__getattribute__ (self , "filesystem" )
197184 if fs .has_patcher :
198185 fnctl_module = object .__getattribute__ (self , "_fcntl_module" )
199186 if is_called_from_skipped_module (
0 commit comments