File tree Expand file tree Collapse file tree 2 files changed +4
-20
lines changed Expand file tree Collapse file tree 2 files changed +4
-20
lines changed Original file line number Diff line number Diff line change @@ -93,6 +93,7 @@ def _tempfile(reader, suffix=''):
93
93
try :
94
94
os .write (fd , reader ())
95
95
os .close (fd )
96
+ del reader
96
97
yield Path (raw_path )
97
98
finally :
98
99
try :
@@ -102,22 +103,12 @@ def _tempfile(reader, suffix=''):
102
103
103
104
104
105
@singledispatch
105
- @contextlib .contextmanager
106
106
def as_file (path ):
107
107
"""
108
108
Given a Traversable object, return that object as a
109
109
path on the local file system in a context manager.
110
110
"""
111
- content = path .read_bytes ()
112
- name = path .name
113
-
114
- def reader ():
115
- return content
116
-
117
- del path .root
118
- del path
119
- with _tempfile (reader , suffix = name ) as local :
120
- yield local
111
+ return _tempfile (path .read_bytes , suffix = path .name )
121
112
122
113
123
114
@as_file .register (Path )
Original file line number Diff line number Diff line change @@ -96,18 +96,11 @@ def path(
96
96
return (
97
97
_path_from_reader (reader , resource )
98
98
if reader else
99
- _fallback_path (package , resource )
99
+ _common .as_file (
100
+ _common .files (package ).joinpath (_common .normalize_path (resource )))
100
101
)
101
102
102
103
103
- @contextmanager
104
- def _fallback_path (package , resource ):
105
- files = _common .files (package ).joinpath (_common .normalize_path (resource ))
106
- with _common .as_file (files ) as res :
107
- del files
108
- yield res
109
-
110
-
111
104
@contextmanager
112
105
def _path_from_reader (reader , resource ):
113
106
norm_resource = _common .normalize_path (resource )
You can’t perform that action at this time.
0 commit comments