Skip to content

Commit

Permalink
Merge pull request #1072 from JuliaRobotics/master
Browse files Browse the repository at this point in the history
v0.23.8 rc1
  • Loading branch information
Affie authored Mar 28, 2024
2 parents 101cfb1 + 2e838d2 commit 5b5e293
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 11 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "DistributedFactorGraphs"
uuid = "b5cc3c7e-6572-11e9-2517-99fb8daf2f04"
version = "0.23.7"
version = "0.23.8"

[deps]
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
Expand Down
15 changes: 6 additions & 9 deletions src/DataBlobs/services/BlobStores.jl
Original file line number Diff line number Diff line change
Expand Up @@ -179,17 +179,14 @@ end
struct FolderStore{T} <: AbstractBlobStore{T}
key::Symbol
folder::String
function FolderStore{T}(key, folder) where {T}
if !isdir(folder)
@info "Folder '$folder' doesn't exist - creating."
# create new folder
mkpath(folder)
end
return new(key, folder)
end
end

function FolderStore(foldername::String)
function FolderStore(foldername::String; createfolder = true)
if createfolder && !isdir(foldername)
@info "Folder '$foldername' doesn't exist - creating."
# create new folder
mkpath(foldername)
end
return FolderStore{Vector{UInt8}}(:default_folder_store, foldername)
end

Expand Down
2 changes: 1 addition & 1 deletion src/FileDFG/services/FileDFG.jl
Original file line number Diff line number Diff line change
Expand Up @@ -251,5 +251,5 @@ function loadDFG(file::AbstractString)
# cleanup temporary folder
Base.rm(loaddir; recursive = true, force = true)

return loadDFG!(dfg, file)
return loadDFG!(dfg, file; overwriteDFGMetadata = false)
end
11 changes: 11 additions & 0 deletions src/GraphsDFG/services/GraphsDFGSerialization.jl
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,19 @@ function unpackDFGMetadata(packed::PackedGraphsDFG)
#FIXME Deprecate remove in DFG v0.24
setdiff!(commonfields, [:blobStores])
blobStores = Dict{Symbol, AbstractBlobStore}()

!isnothing(packed.blobStores) && merge!(blobStores, packed.blobStores)

_isfolderstorepath(s) = false
_isfolderstorepath(s::FolderStore) = ispath(s.folder)
# FIXME escalate to keyword
for (ks, bs) in blobStores
if !_isfolderstorepath(bs)
delete!(blobStores, ks)
@warn("Unable to load blobstore, $ks")
end
end

props = (k => getproperty(packed, k) for k in commonfields)

VT = if isnothing(packed.typePackedVariable) || !packed.typePackedVariable
Expand Down
1 change: 1 addition & 0 deletions test/consol_DataEntryBlobTests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ dataset2 = rand(UInt8, 1000)
##==============================================================================

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

Expand Down

0 comments on commit 5b5e293

Please sign in to comment.