diff --git a/ro-crate-deposit.js b/ro-crate-deposit.js index 6d58f67dcf78379f9605fa8a98a05fe5b96a16f0..1dd487bccc515135fd4b8b16413e9c9028461457 100644 --- a/ro-crate-deposit.js +++ b/ro-crate-deposit.js @@ -4,6 +4,8 @@ const ocfl = require("ocfl"); console.log(ocfl); const OCFLRepository = require('ocfl').Repository; var argv = require('yargs').argv; +var ROCrate = require('ro-crate').ROCrate; + @@ -23,8 +25,13 @@ async function main() { init = await repo.create(repoPath) } for (let fromPath of argv._) { - if (fs.existsSync(path.join(fromPath, "ro-crate-metadata.jsonld"))){ - const new_object1 = await repo.importNewObjectDir(fromPath, fromPath); + var rocrateFile = path.join(fromPath, "ro-crate-metadata.jsonld"); + if (fs.existsSync(rocrateFile)){ + var json = JSON.parse(fs.readFileSync(rocrateFile)); + crate = new ROCrate(json); + crate.index(); + var dataset = crate.getRootDataset(); + const new_object1 = await repo.importNewObjectDir(dataset["@id"], fromPath); console.log(new_object1); } }