| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- // Generated by IcedCoffeeScript 1.8.0-a
- (function() {
- var E, KeySelector, find_key_id_64, format, gpg, iced, load_key, log, log_10, make_esc, master_ring, pad, prompt_for_int, repeat, spc, tablify, unix_time, __iced_k, __iced_k_noop, _ref;
- iced = require('iced-runtime');
- __iced_k = __iced_k_noop = function() {};
- log = require('./log');
- gpg = require('./gpg').gpg;
- make_esc = require('iced-error').make_esc;
- prompt_for_int = require('./prompter').prompt_for_int;
- _ref = require('./keyring'), master_ring = _ref.master_ring, load_key = _ref.load_key;
- E = require('./err').E;
- format = require('pgp-utils').userid.format;
- tablify = require('tablify').tablify;
- unix_time = require('iced-utils').util.unix_time;
- find_key_id_64 = function(raw) {
- var m, x;
- x = /^(?:pub|sec)\s+[0-9]{4}(?:R|D)\/([0-9A-F]{16}) /;
- if ((m = raw.match(x))) {
- return m[1];
- } else {
- return null;
- }
- };
- log_10 = function(x) {
- var val;
- val = 0;
- while (x > 0) {
- val++;
- x = Math.floor(x / 10);
- }
- return val;
- };
- pad = function(i, places) {
- var n;
- n = places - (log_10(i));
- if (n < 0) {
- n = 0;
- }
- return spc(n) + i;
- };
- spc = function(i) {
- return repeat(' ', i);
- };
- repeat = function(c, i) {
- return ((function() {
- var _i, _results;
- _results = [];
- for (_i = 0; 0 <= i ? _i < i : _i > i; 0 <= i ? _i++ : _i--) {
- _results.push(c);
- }
- return _results;
- })()).join('');
- };
- exports.KeySelector = KeySelector = (function() {
- function KeySelector(_arg) {
- this.username = _arg.username, this.query = _arg.query, this.secret = _arg.secret;
- }
- KeySelector.prototype.select = function(cb) {
- var err, esc, key, keys, km, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- esc = make_esc(cb, "KeySelector::select");
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/mpj/Projects/node-client/src/keyselector.iced",
- funcname: "KeySelector.select"
- });
- _this.query_keys(esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return keys = arguments[0];
- };
- })(),
- lineno: 42
- })));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- if (keys.length > 1) {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/mpj/Projects/node-client/src/keyselector.iced",
- funcname: "KeySelector.select"
- });
- _this.select_key(keys, esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return key = arguments[0];
- };
- })(),
- lineno: 44
- })));
- __iced_deferrals._fulfill();
- })(__iced_k);
- } else {
- return __iced_k(keys.length === 1 ? key = keys[0] : key = null);
- }
- })(function() {
- err = null;
- (function(__iced_k) {
- if (typeof key !== "undefined" && key !== null) {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/mpj/Projects/node-client/src/keyselector.iced",
- funcname: "KeySelector.select"
- });
- load_key({
- username: _this.username,
- fingerprint: key.fingerprint()
- }, esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return km = arguments[0];
- };
- })(),
- lineno: 51
- })));
- __iced_deferrals._fulfill();
- })(__iced_k);
- } else {
- return __iced_k(err = new E.NoLocalKeyError("No local keys found! Try `keybase gen` to generate one."));
- }
- })(function() {
- return cb(err, km);
- });
- });
- };
- })(this));
- };
- KeySelector.prototype.query_keys = function(cb) {
- var err, index, key, keys, opts, warnings, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- opts = {
- secret: this.secret,
- query: this.query
- };
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/mpj/Projects/node-client/src/keyselector.iced",
- funcname: "KeySelector.query_keys"
- });
- master_ring().index2(opts, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- index = arguments[1];
- return warnings = arguments[2];
- };
- })(),
- lineno: 60
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- keys = typeof err !== "undefined" && err !== null ? null : (function() {
- var _i, _len, _ref1, _results;
- _ref1 = index.keys();
- _results = [];
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
- key = _ref1[_i];
- if (!key.is_revoked()) {
- _results.push(key);
- }
- }
- return _results;
- })();
- return cb(err, keys);
- };
- })(this));
- };
- KeySelector.prototype.longest_line = function(keys) {
- var key, l, line, longest, _i, _j, _len, _len1, _ref1;
- longest = 0;
- for (_i = 0, _len = keys.length; _i < _len; _i++) {
- key = keys[_i];
- _ref1 = key.lines;
- for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
- line = _ref1[_j];
- if ((l = line.length) > longest) {
- longest = l;
- }
- }
- }
- return longest;
- };
- KeySelector.prototype.format_ts = function(t, zero_val) {
- var d, s;
- if (zero_val == null) {
- zero_val = "n/a";
- }
- if ((t != null) && t) {
- d = new Date(t * 1000);
- return ((function() {
- var _i, _len, _ref1, _results;
- _ref1 = [d.getFullYear(), d.getMonth() + 1, d.getDate()];
- _results = [];
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
- s = _ref1[_i];
- _results.push("" + s);
- }
- return _results;
- })()).join('-');
- } else {
- return zero_val;
- }
- };
- KeySelector.prototype.key_to_array = function(key) {
- var args;
- args = [key._n_bits + (key._type === 1 ? 'R' : 'D'), key.key_id_64(), "exp: " + (this.format_ts(key._expires, 'never'))].concat(key.emails());
- return args;
- };
- KeySelector.prototype.select_key_menu = function(keys) {
- var i, key, list, _i, _len;
- list = [];
- for (i = _i = 0, _len = keys.length; _i < _len; i = ++_i) {
- key = keys[i];
- list.push(["(" + (i + 1) + ")"].concat(this.key_to_array(key)));
- }
- return log.console.log(tablify(list, {
- row_start: ' ',
- row_end: '',
- spacer: ' ',
- row_sep_char: ''
- }));
- };
- KeySelector.prototype.select_key = function(keys, cb) {
- var err, key, out, pcmp, prompt, sel, ___iced_passed_deferral, __iced_deferrals, __iced_k, _i, _len;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- if (this.query) {
- log.console.log("Multiple keys were found that matched '" + this.query + "':");
- } else {
- log.console.log("Multiple keys found, please pick one:");
- }
- for (_i = 0, _len = keys.length; _i < _len; _i++) {
- key = keys[_i];
- key.s = [key.emails().length, key._expires || 10e11];
- }
- pcmp = function(a, b) {
- var ret;
- ret = a[0] < b[0] ? 1 : a[0] > b[0] ? -1 : a[1] < b[1] ? 1 : a[1] > b[1] ? -1 : 0;
- return ret;
- };
- keys.sort(function(a, b) {
- return pcmp(a.s, b.s);
- });
- this.select_key_menu(keys);
- prompt = "Pick a key";
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/mpj/Projects/node-client/src/keyselector.iced",
- funcname: "KeySelector.select_key"
- });
- prompt_for_int({
- prompt: prompt,
- low: 1,
- hi: keys.length
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return sel = arguments[1];
- };
- })(),
- lineno: 126
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- out = typeof err !== "undefined" && err !== null ? null : keys[sel - 1];
- if (out != null) {
- log.info("Picked key: " + (out.key_id_64()));
- }
- return cb(err, out);
- };
- })(this));
- };
- return KeySelector;
- })();
- exports.key_select = function(_arg, cb) {
- var query, secret, username;
- username = _arg.username, query = _arg.query, secret = _arg.secret;
- return (new KeySelector({
- username: username,
- query: query,
- secret: secret
- })).select(cb);
- };
- }).call(this);
|