Skip to content

Commit 9d3da9c

Browse files
committed
Log local import loads
1 parent d547374 commit 9d3da9c

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

ogc/bblocks/models.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def __init__(self, identifier: str, metadata_file: Path,
5252
self.metadata_file = metadata_file
5353

5454
with open(metadata_file) as f:
55-
self.metadata = json.load(f)
55+
self.metadata: dict[str, Any] = json.load(f)
5656

5757
try:
5858
jsonschema.validate(self.metadata, get_schema('bblock'))
@@ -352,11 +352,20 @@ def load(self, metadata_url: str) -> tuple[list[str], str]:
352352
tested_locations: dict[str | Path, Any] = {}
353353

354354
if self.local_mappings and metadata_url in self.local_mappings:
355+
metadata_url = self.local_mappings[metadata_url]
356+
if metadata_url.startswith('file://'):
357+
metadata_url = metadata_url[len('file://'):]
358+
elif metadata_url.startswith('https://') or metadata_url.startswith('http://'):
359+
raise ValueError(
360+
f"Local import mapping for {metadata_url} points to a remote URL, "
361+
f"which is not supported. Please use a local path instead."
362+
)
355363
metadata_path = Path(self.local_mappings[metadata_url])
356364
for path in (metadata_path, metadata_path / 'build/register.json', metadata_path / 'register.json'):
357365
try:
358366
tested_locations[path] = True
359367
if path.is_file():
368+
print('Using local import mapping for', metadata_url, '(from file', path , ')', file=sys.stderr)
360369
imported = load_yaml(filename=path)
361370
if (isinstance(imported, dict) and 'bblocks' in imported) or isinstance(imported, list):
362371
break

0 commit comments

Comments
 (0)