Skip to content

Commit 1a1a3e3

Browse files
Merge pull request #26 from lupemba/main
Default Base.keys(ds) to varnames(ds)
2 parents 914a9de + 9790750 commit 1a1a3e3

File tree

7 files changed

+13
-5
lines changed

7 files changed

+13
-5
lines changed

src/dataset.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,9 @@ function Base.setindex!(ds::AbstractDataset,data::AbstractVariable,varname::Symb
175175
return defVar(ds, varname, data)
176176
end
177177

178+
function Base.keys(ds::AbstractDataset)
179+
return varnames(ds)
180+
end
178181

179182
function Base.haskey(ds::AbstractDataset,varname)
180183
return Symbol(varname) in Symbol.(keys(ds))

src/defer.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ end
8181
close(dds::DeferDataset) = nothing
8282
groupname(dds::DeferDataset) = dds.groupname
8383
path(dds::DeferDataset) = dds.r.filename
84-
Base.keys(dds::DeferDataset) = collect(keys(dds.data[:var]))
84+
varnames(dds::DeferDataset) = collect(keys(dds.data[:var]))
8585

8686
function Variable(f::Function, dv::DeferVariable{T,N,TDS}) where {T,N,TDS}
8787
TDS(dv.r.filename,dv.r.mode) do ds

src/memory_dataset.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ CDM.name(v::Union{MemoryVariable,MemoryDataset}) = v.name
8787
CDM.dimnames(v::MemoryVariable) = v.dimnames
8888
CDM.dataset(v::MemoryVariable) = v.parent_dataset
8989

90-
Base.keys(md::MemoryDataset) = keys(md.variables)
9190
CDM.variable(md::MemoryDataset,varname::SymbolOrString) = md.variables[String(varname)]
9291
CDM.dimnames(md::MemoryDataset) = keys(md.dimensions)
9392
CDM.maskingvalue(md::MemoryDataset) = md.maskingvalue

src/multifile.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ name(mfds::MFDataset) = name(mfds.ds[1])
168168
# to depreciate?
169169
groupname(mfds::MFDataset) = name(mfds.ds[1])
170170

171-
function Base.keys(mfds::MFDataset)
171+
function varnames(mfds::MFDataset)
172172
if mfds.aggdim == ""
173173
return unique(Iterators.flatten(keys.(mfds.ds)))
174174
else

src/subvariable.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ function variable(ds::SubDataset,varname::Union{AbstractString, Symbol})
170170
end
171171

172172

173-
Base.keys(ds::SubDataset) = keys(ds.ds)
173+
varnames(ds::SubDataset) = keys(ds.ds)
174174
path(ds::SubDataset) = path(ds.ds)
175175
groupname(ds::SubDataset) = groupname(ds.ds)
176176

test/test_multifile.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ ds = TDS(fnames,aggdim = "", deferopen = false);
269269

270270
ds_all = TDS.(fnames)
271271
mfds = CDM.MFDataset(ds_all,aggdim = "")
272+
@test keys(mfds) == CDM.varnames(mfds)
272273
@test sort(keys(mfds)) == ["ampl", "lat", "lon", "time", "vel"]
273274

274275
# save a merged file

test/test_subvariable.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
#import NCDatasets
3-
using CommonDataModel: subsub, SubDataset, SubVariable, chunking, deflate, path, @select
3+
using CommonDataModel: subsub, SubDataset, SubVariable, chunking, deflate, path, @select, varnames
44
using DataStructures
55
using Test
66

@@ -148,6 +148,11 @@ show(io,view(ncvar,:,:));
148148
indices = (lon = 3:4, lat = 1:3)
149149

150150
sds = SubDataset(ds,indices)
151+
152+
#test keys and varnames
153+
@test keys(ds) == varnames(ds)
154+
@test keys(sds) == varnames(sds)
155+
151156
@test size(sds["lon"]) == (2,)
152157
@test size(sds["lat"]) == (3,)
153158
@test size(sds["bat"]) == (2,3)

0 commit comments

Comments
 (0)