lsst-resources 30.0.0__tar.gz → 30.0.1rc1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. {lsst_resources-30.0.0/python/lsst_resources.egg-info → lsst_resources-30.0.1rc1}/PKG-INFO +2 -1
  2. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/pyproject.toml +1 -0
  3. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/eups.py +2 -2
  4. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/version.py +1 -1
  5. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1/python/lsst_resources.egg-info}/PKG-INFO +2 -1
  6. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_eups.py +7 -0
  7. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/COPYRIGHT +0 -0
  8. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/LICENSE +0 -0
  9. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/MANIFEST.in +0 -0
  10. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/README.md +0 -0
  11. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/doc/lsst.resources/CHANGES.rst +0 -0
  12. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/doc/lsst.resources/dav.rst +0 -0
  13. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/doc/lsst.resources/index.rst +0 -0
  14. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/doc/lsst.resources/internal-api.rst +0 -0
  15. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/doc/lsst.resources/s3.rst +0 -0
  16. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/__init__.py +0 -0
  17. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/__init__.py +0 -0
  18. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/_resourceHandles/__init__.py +0 -0
  19. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/_resourceHandles/_baseResourceHandle.py +0 -0
  20. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/_resourceHandles/_davResourceHandle.py +0 -0
  21. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/_resourceHandles/_fileResourceHandle.py +0 -0
  22. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/_resourceHandles/_httpResourceHandle.py +0 -0
  23. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/_resourceHandles/_s3ResourceHandle.py +0 -0
  24. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/_resourcePath.py +0 -0
  25. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/dav.py +0 -0
  26. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/davutils.py +0 -0
  27. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/file.py +0 -0
  28. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/gs.py +0 -0
  29. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/http.py +0 -0
  30. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/location.py +0 -0
  31. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/mem.py +0 -0
  32. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/packageresource.py +0 -0
  33. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/proxied.py +0 -0
  34. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/py.typed +0 -0
  35. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/s3.py +0 -0
  36. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/s3utils.py +0 -0
  37. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/schemeless.py +0 -0
  38. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/tests.py +0 -0
  39. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst/resources/utils.py +0 -0
  40. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst_resources.egg-info/SOURCES.txt +0 -0
  41. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst_resources.egg-info/dependency_links.txt +0 -0
  42. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst_resources.egg-info/requires.txt +0 -0
  43. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst_resources.egg-info/top_level.txt +0 -0
  44. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/python/lsst_resources.egg-info/zip-safe +0 -0
  45. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/setup.cfg +0 -0
  46. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_dav.py +0 -0
  47. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_file.py +0 -0
  48. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_gs.py +0 -0
  49. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_http.py +0 -0
  50. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_location.py +0 -0
  51. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_mem.py +0 -0
  52. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_resource.py +0 -0
  53. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_s3.py +0 -0
  54. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_s3utils.py +0 -0
  55. {lsst_resources-30.0.0 → lsst_resources-30.0.1rc1}/tests/test_schemeless.py +0 -0
@@ -1,10 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-resources
3
- Version: 30.0.0
3
+ Version: 30.0.1rc1
4
4
  Summary: An abstraction layer for reading and writing from URI file resources.
5
5
  Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
6
6
  License-Expression: BSD-3-Clause
7
7
  Project-URL: Homepage, https://github.com/lsst/resources
8
+ Project-URL: Source, https://github.com/lsst/resources
8
9
  Keywords: lsst
9
10
  Classifier: Intended Audience :: Developers
10
11
  Classifier: Operating System :: OS Independent
@@ -28,6 +28,7 @@ requires-python = ">=3.11.0"
28
28
 
29
29
  [project.urls]
30
30
  "Homepage" = "https://github.com/lsst/resources"
31
+ "Source" = "https://github.com/lsst/resources"
31
32
 
32
33
  [project.optional-dependencies]
33
34
  s3 = [
@@ -65,7 +65,7 @@ class EupsResourcePath(ProxiedResourcePath):
65
65
  # Must convert this path into a file URI.
66
66
  new_path = posixpath.join(os2posix(eups_path), os2posix(self.path.lstrip("/")))
67
67
  parsed = self._uri._replace(path=urllib.parse.quote(new_path), scheme="file", netloc="")
68
- self._proxy = ResourcePath(parsed)
68
+ self._proxy = ResourcePath(parsed, forceDirectory=self.dirLike, forceAbsolute=True)
69
69
  return
70
70
 
71
71
  # If there is no _DIR env var we need to look for python package
@@ -89,7 +89,7 @@ class EupsResourcePath(ProxiedResourcePath):
89
89
  if proxy.exists():
90
90
  self._proxy = proxy
91
91
  if self.path:
92
- self._proxy = self._proxy.join(self.path.lstrip("/"))
92
+ self._proxy = self._proxy.join(self.path.lstrip("/"), forceDirectory=self.dirLike)
93
93
  log.debug(f"Found variant {variant}")
94
94
  return
95
95
 
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "30.0.0"
2
+ __version__ = "30.0.1rc1"
@@ -1,10 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-resources
3
- Version: 30.0.0
3
+ Version: 30.0.1rc1
4
4
  Summary: An abstraction layer for reading and writing from URI file resources.
5
5
  Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
6
6
  License-Expression: BSD-3-Clause
7
7
  Project-URL: Homepage, https://github.com/lsst/resources
8
+ Project-URL: Source, https://github.com/lsst/resources
8
9
  Keywords: lsst
9
10
  Classifier: Intended Audience :: Developers
10
11
  Classifier: Operating System :: OS Independent
@@ -94,6 +94,7 @@ class EupsReadTestCase(unittest.TestCase):
94
94
  self.assertTrue(d.dirLike)
95
95
 
96
96
  d = self.root_uri.join("config/", forceDirectory=True)
97
+ self.assertTrue(d._proxy.dirLike) # Ensure that dir-ness propagates to proxy.
97
98
  self.assertTrue(d.exists(), f"Check directory {d} exists")
98
99
  self.assertTrue(d.isdir())
99
100
 
@@ -149,6 +150,12 @@ class EupsReadTestCase(unittest.TestCase):
149
150
  resource = ResourcePath(f"{self.scheme}://{self.netloc}/")
150
151
  resources = set(ResourcePath.findFileResources([resource]))
151
152
 
153
+ # Make sure that walk() can run and knows this is a directory.
154
+ cfg = resource.join("config/")
155
+ _, dirs, files = next(cfg.walk())
156
+ self.assertEqual(dirs, [])
157
+ self.assertEqual(set(files), {"test.txt", "test2.yaml"})
158
+
152
159
  # Do not try to list all possible options. Files can move around
153
160
  # and cache files can appear.
154
161
  subset = {