proof_base.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. // Generated by IcedCoffeeScript 1.7.1-c
  2. (function() {
  3. var ArgumentParser, Base, Command, E, PackageJson, S, User, add_option_dict, assert, iced, log, make_esc, prompt_remote_name, prompt_yn, req, session, __iced_k, __iced_k_noop, _ref,
  4. __hasProp = {}.hasOwnProperty,
  5. __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
  6. __slice = [].slice;
  7. iced = require('iced-runtime').iced;
  8. __iced_k = __iced_k_noop = function() {};
  9. Base = require('./base').Base;
  10. log = require('../log');
  11. ArgumentParser = require('argparse').ArgumentParser;
  12. add_option_dict = require('./argparse').add_option_dict;
  13. PackageJson = require('../package').PackageJson;
  14. E = require('../err').E;
  15. make_esc = require('iced-error').make_esc;
  16. _ref = require('../prompter'), prompt_yn = _ref.prompt_yn, prompt_remote_name = _ref.prompt_remote_name;
  17. User = require('../user').User;
  18. req = require('../req').req;
  19. assert = require('assert');
  20. session = require('../session');
  21. S = require('../services');
  22. exports.ProofBase = Command = (function(_super) {
  23. __extends(Command, _super);
  24. function Command() {
  25. var args;
  26. args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
  27. Command.__super__.constructor.apply(this, args);
  28. this.supersede = false;
  29. }
  30. Command.prototype.use_session = function() {
  31. return true;
  32. };
  33. Command.prototype.needs_configuration = function() {
  34. return true;
  35. };
  36. Command.OPTS = {
  37. f: {
  38. alias: 'force',
  39. action: 'storeTrue',
  40. help: "don't stop for any prompts"
  41. }
  42. };
  43. Command.prototype.add_subcommand_parser = function(scp) {
  44. var OPTS, config, name, sub, _ref1;
  45. _ref1 = this.command_name_and_opts(), name = _ref1.name, config = _ref1.config, OPTS = _ref1.OPTS;
  46. sub = scp.addParser(name, config);
  47. add_option_dict(sub, OPTS);
  48. sub.addArgument(["service"], {
  49. nargs: 1,
  50. help: "the name of service; can be one of: {twitter,github,web,dns,reddit,coinbase,hackernews}"
  51. });
  52. sub.addArgument(["remote_name"], {
  53. nargs: "?",
  54. help: "username or hostname at that service"
  55. });
  56. return config.aliases.concat([name]);
  57. };
  58. Command.prototype.prompt_remote_name = function(cb) {
  59. var err, ret, svc, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  60. __iced_k = __iced_k_noop;
  61. ___iced_passed_deferral = iced.findDeferral(arguments);
  62. svc = this.argv.service[0];
  63. err = null;
  64. ret = null;
  65. (function(_this) {
  66. return (function(__iced_k) {
  67. if (_this.remote_name == null) {
  68. (function(__iced_k) {
  69. __iced_deferrals = new iced.Deferrals(__iced_k, {
  70. parent: ___iced_passed_deferral,
  71. filename: "/home/max/src/keybase/node-client/src/command/proof_base.iced",
  72. funcname: "Command.prompt_remote_name"
  73. });
  74. prompt_remote_name(_this.stub.prompter(), __iced_deferrals.defer({
  75. assign_fn: (function() {
  76. return function() {
  77. err = arguments[0];
  78. return ret = arguments[1];
  79. };
  80. })(),
  81. lineno: 54
  82. }));
  83. __iced_deferrals._fulfill();
  84. })(function() {
  85. return __iced_k(err == null ? _this.remote_name = ret : void 0);
  86. });
  87. } else {
  88. return __iced_k();
  89. }
  90. });
  91. })(this)((function(_this) {
  92. return function() {
  93. return cb(err, ret);
  94. };
  95. })(this));
  96. };
  97. Command.prototype.normalize_remote_name = function(cb) {
  98. var err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  99. __iced_k = __iced_k_noop;
  100. ___iced_passed_deferral = iced.findDeferral(arguments);
  101. (function(_this) {
  102. return (function(__iced_k) {
  103. __iced_deferrals = new iced.Deferrals(__iced_k, {
  104. parent: ___iced_passed_deferral,
  105. filename: "/home/max/src/keybase/node-client/src/command/proof_base.iced",
  106. funcname: "Command.normalize_remote_name"
  107. });
  108. _this.stub.normalize_name(_this.remote_name, __iced_deferrals.defer({
  109. assign_fn: (function(__slot_1) {
  110. return function() {
  111. err = arguments[0];
  112. return __slot_1.remote_name_normalized = arguments[1];
  113. };
  114. })(_this),
  115. lineno: 61
  116. }));
  117. __iced_deferrals._fulfill();
  118. });
  119. })(this)((function(_this) {
  120. return function() {
  121. return cb(err);
  122. };
  123. })(this));
  124. };
  125. Command.prototype.allocate_proof_gen = function(cb) {
  126. var err, klass, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  127. __iced_k = __iced_k_noop;
  128. ___iced_passed_deferral = iced.findDeferral(arguments);
  129. klass = S.classes[this.service_name];
  130. assert.ok(klass != null);
  131. (function(_this) {
  132. return (function(__iced_k) {
  133. __iced_deferrals = new iced.Deferrals(__iced_k, {
  134. parent: ___iced_passed_deferral,
  135. filename: "/home/max/src/keybase/node-client/src/command/proof_base.iced",
  136. funcname: "Command.allocate_proof_gen"
  137. });
  138. _this.me.gen_remote_proof_gen({
  139. klass: _this.klass,
  140. remote_name_normalized: _this.remote_name_normalized,
  141. supersede: _this.supersede
  142. }, __iced_deferrals.defer({
  143. assign_fn: (function(__slot_1) {
  144. return function() {
  145. err = arguments[0];
  146. return __slot_1.gen = arguments[1];
  147. };
  148. })(_this),
  149. lineno: 69
  150. }));
  151. __iced_deferrals._fulfill();
  152. });
  153. })(this)((function(_this) {
  154. return function() {
  155. return cb(err);
  156. };
  157. })(this));
  158. };
  159. Command.prototype.parse_args = function(cb) {
  160. var err, s;
  161. err = null;
  162. if ((s = S.aliases[this.argv.service[0].toLowerCase()]) != null) {
  163. this.service_name = s;
  164. this.klass = S.classes[s];
  165. assert.ok(this.klass != null);
  166. this.stub = new this.klass({});
  167. } else {
  168. err = new E.UnknownServiceError("Unknown service: " + this.argv.service[0]);
  169. }
  170. if ((err == null) && ((this.remote_name = this.argv.remote_name) != null) && !this.stub.check_name_input(this.remote_name)) {
  171. err = new E.ArgsError("Bad name " + this.argv.service[0] + " given: " + this.remote_name);
  172. }
  173. return cb(err);
  174. };
  175. return Command;
  176. })(Base);
  177. }).call(this);