|
# TODO: Add jls serialization to materials library. |
|
# Issue URL: https://github.com/Electa-Git/LineCableModels.jl/issues/3 |
- The absolute path of the saved file, or `nothing` on failure.
"""
function save(
library::MaterialsLibrary;
file_name::String = "materials_library.json",
)::Union{String, Nothing}
# TODO: Add jls serialization to materials library.
# Issue URL: https://github.com/Electa-Git/LineCableModels.jl/issues/3
file_name = isabspath(file_name) ? file_name : joinpath(@__DIR__, file_name)
_, ext = splitext(file_name)
ext = lowercase(ext)
if ext != ".json"
@warn "MaterialsLibrary only supports .json saving. Forcing extension for file '$file_name'."
file_name = first(splitext(file_name)) * ".json"
end
try
return _save_materialslibrary_json(library, file_name)
catch e
@error "Error saving MaterialsLibrary to '$(display_path(file_name))': $e"
showerror(stderr, e, catch_backtrace())
println(stderr)
return nothing
end
end
"""
LineCableModels.jl/src/importexport/materialslibrary.jl
Lines 17 to 18 in 2502c78