From b7ae69e388dfe9aade6b188294cd34ace859188f Mon Sep 17 00:00:00 2001 From: tiemvanderdeure Date: Mon, 13 Oct 2025 16:05:37 +0200 Subject: [PATCH 1/4] use startswith instead of indexing --- src/series.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/series.jl b/src/series.jl index 7f2240d9d..8f5c21fed 100644 --- a/src/series.jl +++ b/src/series.jl @@ -182,20 +182,20 @@ function RasterSeries(path::AbstractString, dims; ) if isdir(path) dirpath = path - filepaths = filter_ext(dirpath, ext) + filepaths = Base.filter_ext(dirpath, ext) length(filepaths) > 0 || error("No $(isnothing(ext) ? "" : ext) files found in \"$path\" dir") - full_filename, _ = splitext(basename(first(filepaths))) + full_filename, _ = Base.splitext(Base.basename(first(filepaths))) common_filename = join(split(full_filename, separator)[1:end-1]) else - dirpath = dirname(path) - common_filename, path_ext = splitext(basename(path)) + dirpath = Base.dirname(path) + common_filename, path_ext = Base.splitext(Base.basename(path)) ext = (isnothing(ext) && path_ext != "") ? path_ext : ext filepaths = filter(filter_ext(dirpath, ext)) do fp - basename(fp)[1:length(common_filename)] == common_filename + Base.startswith(Base.basename(fp), common_filename) end length(filepaths) > 0 || error("No $(isnothing(ext) ? "" : ext) files found matching \"$common_filename\" stem and \"$ext\" extension") end - basenames = map(fp -> basename(splitext(fp)[1]), filepaths) + basenames = map(fp -> Base.basename(Base.splitext(fp)[1]), filepaths) v = val(dims) # Try to get values of the wrapped type from the filenames if dims isa Dimension && val(dims) isa Union{Type,AutoVal{<:Type}} From 04e27a933ad79530b9fcf84602ba6d5ff8bbbc1f Mon Sep 17 00:00:00 2001 From: tiemvanderdeure Date: Mon, 13 Oct 2025 16:14:08 +0200 Subject: [PATCH 2/4] test finding filenames with a pattern --- test/series.jl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/series.jl b/test/series.jl index 41d6cd97d..8595c0f33 100644 --- a/test/series.jl +++ b/test/series.jl @@ -127,5 +127,12 @@ end @test Rasters.isdisk(series) @test !Rasters.isdisk(read(series)) @test Rasters.isdisk(Rasters.combine(series)) + + path = dirname(first(filenames)) + pattern = basename(first(filenames))[1:2] + filename_pattern = joinpath(dirname(first(filenames)), "$pattern.tif") + series2 = RasterSeries(filename_pattern, times; duplicate_first=true, lazy=true) + @test all(Rasters.filename.(series2) .== filenames) + end end From c0da80b172b641c5c7323b72fc010be0c8a91664 Mon Sep 17 00:00:00 2001 From: tiemvanderdeure Date: Mon, 13 Oct 2025 16:45:50 +0200 Subject: [PATCH 3/4] sort files before testing equality --- test/series.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/series.jl b/test/series.jl index 8595c0f33..e8be50c6c 100644 --- a/test/series.jl +++ b/test/series.jl @@ -132,7 +132,6 @@ end pattern = basename(first(filenames))[1:2] filename_pattern = joinpath(dirname(first(filenames)), "$pattern.tif") series2 = RasterSeries(filename_pattern, times; duplicate_first=true, lazy=true) - @test all(Rasters.filename.(series2) .== filenames) - + @test isequal(sort(Rasters.filename.(series2)), sort(filenames)) end end From 4c3974452e1cf56898ee53bbcbc8b57b8f9bc6b9 Mon Sep 17 00:00:00 2001 From: tiemvanderdeure Date: Sat, 15 Nov 2025 12:43:29 +0100 Subject: [PATCH 4/4] filter_ext is not base --- src/series.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/series.jl b/src/series.jl index 8f5c21fed..7030eb5f2 100644 --- a/src/series.jl +++ b/src/series.jl @@ -182,7 +182,7 @@ function RasterSeries(path::AbstractString, dims; ) if isdir(path) dirpath = path - filepaths = Base.filter_ext(dirpath, ext) + filepaths = filter_ext(dirpath, ext) length(filepaths) > 0 || error("No $(isnothing(ext) ? "" : ext) files found in \"$path\" dir") full_filename, _ = Base.splitext(Base.basename(first(filepaths))) common_filename = join(split(full_filename, separator)[1:end-1])