Skip to content

Commit 61ac33c

Browse files
committed
skip alias/prefix variables
1 parent 090fe72 commit 61ac33c

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

lib/bald/__init__.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -541,9 +541,12 @@ def load_netcdf(afilepath, uri=None):
541541
hasattr(fhandle, 'bald__isPrefixedBy') else {})
542542
prefixes = {}
543543

544+
skipped_variables = []
544545
if prefix_group != {}:
545546
prefixes = (dict([(prefix, getattr(prefix_group, prefix)) for
546547
prefix in prefix_group.ncattrs()]))
548+
if isinstance(prefix_group, netCDF4._netCDF4.Variable):
549+
skipped_variables.append(prefix_group.name)
547550
else:
548551
for k in fhandle.ncattrs():
549552
if k.endswith('__'):
@@ -554,6 +557,8 @@ def load_netcdf(afilepath, uri=None):
554557
if alias_group != {}:
555558
aliases = (dict([(alias, getattr(alias_group, alias))
556559
for alias in alias_group.ncattrs()]))
560+
if isinstance(alias_group, netCDF4._netCDF4.Variable):
561+
skipped_variables.append(alias_group.name)
557562

558563
attrs = {}
559564
for k in fhandle.ncattrs():
@@ -578,13 +583,16 @@ def load_netcdf(afilepath, uri=None):
578583
fhandle.variables[name].dimensions[0] == name):
579584
sattrs['bald__array'] = name
580585
sattrs['rdf__type'] = 'bald__Reference'
581-
582586
if fhandle.variables[name].shape:
583587
sattrs['bald__shape'] = fhandle.variables[name].shape
584588
var = Array(identity, sattrs, prefixes=prefixes, aliases=aliases)
585589
else:
586590
var = Subject(identity, sattrs, prefixes=prefixes, aliases=aliases)
587-
root_container.attrs['bald__contains'].append(var)
591+
if name not in skipped_variables:
592+
# Don't include skipped variables, such as prefix or alias
593+
# variables, within the containment relation.
594+
root_container.attrs['bald__contains'].append(var)
595+
588596
file_variables[name] = var
589597

590598

0 commit comments

Comments
 (0)