Show what's actually cached per-country, with a delete button per row
The only visibility into downloaded data was the whole offline.pmtiles row, and the only delete was "everything" (whole file + whole cache). GET /api/offline-tiles/cache lists what's really in data/geofabrik_cache/ right now — distinct from offline.pmtiles' own meta.sources, which only reflects the last successful build and can disagree with both the current selection and the cache (ticked-but- not-Applied, or built-from-but-since-unticked). The region picker now shows each cached country's size next to its checkbox, with its own delete button (DELETE /api/offline-tiles/cache/:code, already added but unused by the UI until now) — removing just that entry rather than clearing the whole cache.
This commit is contained in:
1 parent
d09d953cbf
commit
78362d51f2
7 files changed
+158
-6
No files matched your search
@@ -448,6 +448,26 @@ module Maptool
|
||||
File.delete("#{path}.last_modified") if File.exist?("#{path}.last_modified")
|
||||
end
|
||||
|
||||
# What's actually sitting in the per-country download cache right now —
|
||||
# not the same thing as offline_meta's "sources", which only reflects
|
||||
# whatever the *last successful build* used. A country can be cached
|
||||
# without ever having been built (selected, then deselected again
|
||||
# before Apply) or built from without still being selected, and this is
|
||||
# what lets the region picker show/clear either case.
|
||||
def self.cached_extracts(data_dir)
|
||||
cache_dir = geofabrik_cache_dir(data_dir)
|
||||
return [] unless Dir.exist?(cache_dir)
|
||||
|
||||
Dir.glob(File.join(cache_dir, "*.osm.pbf")).map do |path|
|
||||
stamp_path = "#{path}.last_modified"
|
||||
{
|
||||
"code" => File.basename(path, ".osm.pbf"),
|
||||
"size" => File.size(path),
|
||||
"last_modified" => File.exist?(stamp_path) ? File.read(stamp_path) : nil,
|
||||
}
|
||||
end.sort_by { |s| s["code"] }
|
||||
end
|
||||
|
||||
# --- terrain.pmtiles ---
|
||||
|
||||
# planet.pmtiles (z0-12, always) plus whichever regional chunks
|
||||
|
||||
Reference in new issue
Block a user