Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Quick tool for making a datacrate from a data pub
const datacrate = require('./lib/catalog.js');
const fs = require('fs-extra');
const path = require('path');
const ArgumentParser = require('argparse').ArgumentParser;
const ORGANISATION = {
'id': 'https://www.uts.edu.au/',
'name': 'University of Technology Sydney'
};
const OWNER = 'Kathryn.T.Braye@student.uts.edu.au';
const APPROVER = 'Sharyn.Wise@uts.edu.au';
async function makedatacrate(dest, datapub) {
await fs.ensureDir(dest);
const catalog = await datacrate.datapub2catalog({
id: id,
datapub: datapub,
organisation: ORGANISATION,
owner: OWNER,
approver: APPROVER
});
const catfile = path.join(dest, id, 'CATALOG.json');
await fs.writeFile(catfile, JSON.stringify(catalog, null, 2));
}
async function convertdatapub(jsonfile, dest) {
const datapub = await fs.readJSON(jsonfile);
await makedatacrate(dest, datapub);
}
var parser = new ArgumentParser({
version: '1.0.0',
addHelp: true,
description: 'Converts a ReDBox data publication to a CATALOG.json'
});
parser.addArgument(
['-i', '--input'],
{
help: "The input data publication"
});
parser.addArgument(
['-d', '--directory'],
{
help: "Directory in which to write the CATALOG.json. Will be created if it doesn't exist",
defaultValue: './datacrate/'
}
);
var args = parser.parseArgs();
convertdatapub(args['input'], args['directory']);