Skip to content

Commit 5b5e293

Browse files
authored
Merge pull request #1072 from JuliaRobotics/master
v0.23.8 rc1
2 parents 101cfb1 + 2e838d2 commit 5b5e293

File tree

5 files changed

+20
-11
lines changed

5 files changed

+20
-11
lines changed

Project.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "DistributedFactorGraphs"
22
uuid = "b5cc3c7e-6572-11e9-2517-99fb8daf2f04"
3-
version = "0.23.7"
3+
version = "0.23.8"
44

55
[deps]
66
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"

src/DataBlobs/services/BlobStores.jl

+6-9
Original file line numberDiff line numberDiff line change
@@ -179,17 +179,14 @@ end
179179
struct FolderStore{T} <: AbstractBlobStore{T}
180180
key::Symbol
181181
folder::String
182-
function FolderStore{T}(key, folder) where {T}
183-
if !isdir(folder)
184-
@info "Folder '$folder' doesn't exist - creating."
185-
# create new folder
186-
mkpath(folder)
187-
end
188-
return new(key, folder)
189-
end
190182
end
191183

192-
function FolderStore(foldername::String)
184+
function FolderStore(foldername::String; createfolder = true)
185+
if createfolder && !isdir(foldername)
186+
@info "Folder '$foldername' doesn't exist - creating."
187+
# create new folder
188+
mkpath(foldername)
189+
end
193190
return FolderStore{Vector{UInt8}}(:default_folder_store, foldername)
194191
end
195192

src/FileDFG/services/FileDFG.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -251,5 +251,5 @@ function loadDFG(file::AbstractString)
251251
# cleanup temporary folder
252252
Base.rm(loaddir; recursive = true, force = true)
253253

254-
return loadDFG!(dfg, file)
254+
return loadDFG!(dfg, file; overwriteDFGMetadata = false)
255255
end

src/GraphsDFG/services/GraphsDFGSerialization.jl

+11
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,19 @@ function unpackDFGMetadata(packed::PackedGraphsDFG)
6565
#FIXME Deprecate remove in DFG v0.24
6666
setdiff!(commonfields, [:blobStores])
6767
blobStores = Dict{Symbol, AbstractBlobStore}()
68+
6869
!isnothing(packed.blobStores) && merge!(blobStores, packed.blobStores)
6970

71+
_isfolderstorepath(s) = false
72+
_isfolderstorepath(s::FolderStore) = ispath(s.folder)
73+
# FIXME escalate to keyword
74+
for (ks, bs) in blobStores
75+
if !_isfolderstorepath(bs)
76+
delete!(blobStores, ks)
77+
@warn("Unable to load blobstore, $ks")
78+
end
79+
end
80+
7081
props = (k => getproperty(packed, k) for k in commonfields)
7182

7283
VT = if isnothing(packed.typePackedVariable) || !packed.typePackedVariable

test/consol_DataEntryBlobTests.jl

+1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ dataset2 = rand(UInt8, 1000)
8686
##==============================================================================
8787

8888
# Create a data store and add it to DFG
89+
mkdir("/tmp/dfgFolderStore")
8990
ds = FolderStore{Vector{UInt8}}(:filestore, "/tmp/dfgFolderStore")
9091
addBlobStore!(dfg, ds)
9192

0 commit comments

Comments
 (0)