Ivan Socolsky
10 years ago
14 changed files with 167 additions and 184 deletions
@ -0,0 +1,62 @@ |
|||
|
|||
var _ = require('lodash'); |
|||
var Client = require('../lib/client'); |
|||
|
|||
var lib = function() {}; |
|||
|
|||
var die = lib.die = function(err) { |
|||
if (err) { |
|||
console.error(err); |
|||
process.exit(1); |
|||
} |
|||
}; |
|||
|
|||
lib.parseMN = function(MN) { |
|||
if (!MN) |
|||
die('No m-n parameter'); |
|||
var mn = MN.split('-'); |
|||
|
|||
var m = parseInt(mn[0]); |
|||
var n = parseInt(mn[1]); |
|||
|
|||
if (!m || ! n) { |
|||
die('Bad m-n parameter'); |
|||
} |
|||
|
|||
return [m, n]; |
|||
}; |
|||
|
|||
|
|||
lib.shortID = function(id) { |
|||
return id.substr(id.length - 4); |
|||
}; |
|||
|
|||
lib.getClient = function(args) { |
|||
var storage = new Client.FileStorage({ |
|||
filename: args.config |
|||
}); |
|||
return new Client({ |
|||
storage: storage, |
|||
verbose: args.verbose |
|||
}); |
|||
} |
|||
|
|||
lib.findOneTxProposal = function(txps, id) { |
|||
var matches = _.filter(txps, function(tx) { |
|||
return _.endsWith(lib.shortID(tx.id), id); |
|||
}); |
|||
|
|||
if (!matches.length) |
|||
lib.die('Could not find TX Proposal:' + id); |
|||
|
|||
if (matches.length > 1) |
|||
lib.die('More than one TX Proposals match:' + id + ' : ' + _.map(matches, function(tx) { |
|||
return tx.id; |
|||
}).join(' '));; |
|||
|
|||
return matches[0]; |
|||
}; |
|||
|
|||
|
|||
|
|||
module.exports = lib; |
@ -1,51 +0,0 @@ |
|||
'use strict'; |
|||
|
|||
var _ = require('lodash'); |
|||
|
|||
var common = function() {}; |
|||
|
|||
|
|||
var die = common.die = function(err) { |
|||
if (err) { |
|||
console.error(err); |
|||
process.exit(1); |
|||
} |
|||
}; |
|||
|
|||
common.parseMN = function(MN) { |
|||
if (!MN) |
|||
die('No m-n parameter'); |
|||
var mn = MN.split('-'); |
|||
|
|||
var m = parseInt(mn[0]); |
|||
var n = parseInt(mn[1]); |
|||
|
|||
if (!m || !n) { |
|||
die('Bad m-n parameter'); |
|||
} |
|||
|
|||
return [m, n]; |
|||
}; |
|||
|
|||
|
|||
common.shortID = function(id) { |
|||
return id.substr(id.length - 4); |
|||
}; |
|||
|
|||
common.findOneTxProposal = function(txps, id) { |
|||
var matches = _.filter(txps, function(tx) { |
|||
return _.endsWith(common.shortID(tx.id), id); |
|||
}); |
|||
|
|||
if (!matches.length) |
|||
common.die('Could not find TX Proposal:' + id); |
|||
|
|||
if (matches.length > 1) |
|||
common.die('More than one TX Proposals match:' + id + ' : ' + _.map(matches, function(tx) { |
|||
return tx.id; |
|||
}).join(' '));; |
|||
|
|||
return matches[0]; |
|||
}; |
|||
|
|||
module.exports = common; |
@ -0,0 +1,24 @@ |
|||
|
|||
var fs = require('fs') |
|||
|
|||
function FileStorage(opts) { |
|||
if (!opts.filename) { |
|||
throw new Error('Please set the config filename'); |
|||
} |
|||
this.filename = opts.filename; |
|||
}; |
|||
|
|||
|
|||
FileStorage.prototype.save = function(data) { |
|||
fs.writeFileSync(this.filename, JSON.stringify(data)); |
|||
}; |
|||
|
|||
FileStorage.prototype.load = function() { |
|||
try { |
|||
return JSON.parse(fs.readFileSync(this.filename)); |
|||
} catch (ex) {} |
|||
}; |
|||
|
|||
|
|||
module.exports = FileStorage; |
|||
|
Loading…
Reference in new issue