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