|
29 | 29 | from enum import Enum |
30 | 30 | from operator import attrgetter |
31 | 31 |
|
| 32 | +from lsst.daf.butler import ButlerURI |
32 | 33 | from lsst.utils import doImport |
33 | 34 |
|
34 | 35 | OverrideTypes = Enum("OverrideTypes", "Value File Python Instrument") |
@@ -147,10 +148,11 @@ def addFileOverride(self, filename): |
147 | 148 |
|
148 | 149 | Parameters |
149 | 150 | ---------- |
150 | | - filename : str |
151 | | - Path to the override file. |
| 151 | + filename : `str` or `ButlerURI` |
| 152 | + Path or URI to the override file. All URI schemes supported by |
| 153 | + `ButlerURI` are supported. |
152 | 154 | """ |
153 | | - self._overrides.append((OverrideTypes.File, filename)) |
| 155 | + self._overrides.append((OverrideTypes.File, ButlerURI(filename))) |
154 | 156 |
|
155 | 157 | def addValueOverride(self, field, value): |
156 | 158 | """Add override for a specific field. |
@@ -234,7 +236,8 @@ def applyTo(self, config): |
234 | 236 |
|
235 | 237 | for otype, override in self._overrides: |
236 | 238 | if otype is OverrideTypes.File: |
237 | | - config.load(override) |
| 239 | + with override.open("r") as buffer: |
| 240 | + config.loadFromStream(buffer, filename=str(override)) |
238 | 241 | elif otype is OverrideTypes.Value: |
239 | 242 | field, value = override |
240 | 243 | if isinstance(value, str): |
|
0 commit comments