File tree Expand file tree Collapse file tree 3 files changed +58
-4
lines changed Expand file tree Collapse file tree 3 files changed +58
-4
lines changed Original file line number Diff line number Diff line change
1
+ v5.12.0
2
+ =======
3
+
4
+ * #257: ``importlib_resources `` (backport) now gives
5
+ precedence to built-in readers (file system, zip,
6
+ namespace packages), providing forward-compatibility
7
+ of behaviors like ``MultiplexedPath ``.
8
+
1
9
v5.11.1
2
10
=======
3
11
Original file line number Diff line number Diff line change @@ -72,9 +72,6 @@ def _file_reader(spec):
72
72
return readers .FileReader (self )
73
73
74
74
return (
75
- # native reader if it supplies 'files'
76
- _native_reader (self .spec )
77
- or
78
75
# local ZipReader if a zip module
79
76
_zip_reader (self .spec )
80
77
or
@@ -83,8 +80,12 @@ def _file_reader(spec):
83
80
or
84
81
# local FileReader
85
82
_file_reader (self .spec )
83
+ or
84
+ # native reader if it supplies 'files'
85
+ _native_reader (self .spec )
86
+ or
86
87
# fallback - adapt the spec ResourceReader to TraversableReader
87
- or _adapters .CompatibilityFiles (self .spec )
88
+ _adapters .CompatibilityFiles (self .spec )
88
89
)
89
90
90
91
Original file line number Diff line number Diff line change
1
+ import unittest
2
+ import contextlib
3
+ import pathlib
4
+
5
+ import importlib_resources as resources
6
+ from ..abc import TraversableResources , ResourceReader
7
+ from . import util
8
+ from ._compat import os_helper
9
+
10
+
11
+ class SimpleLoader :
12
+ """
13
+ A simple loader that only implements a resource reader.
14
+ """
15
+
16
+ def __init__ (self , reader : ResourceReader ):
17
+ self .reader = reader
18
+
19
+ def get_resource_reader (self , package ):
20
+ return self .reader
21
+
22
+
23
+ class MagicResources (TraversableResources ):
24
+ """
25
+ Magically returns the resources at path.
26
+ """
27
+
28
+ def __init__ (self , path : pathlib .Path ):
29
+ self .path = path
30
+
31
+ def files (self ):
32
+ return self .path
33
+
34
+
35
+ class CustomTraversableResourcesTests (unittest .TestCase ):
36
+ def setUp (self ):
37
+ self .fixtures = contextlib .ExitStack ()
38
+ self .addCleanup (self .fixtures .close )
39
+
40
+ def test_custom_loader (self ):
41
+ temp_dir = self .fixtures .enter_context (os_helper .temp_dir ())
42
+ loader = SimpleLoader (MagicResources (temp_dir ))
43
+ pkg = util .create_package_from_loader (loader )
44
+ files = resources .files (pkg )
45
+ assert files is temp_dir
You can’t perform that action at this time.
0 commit comments