jp (info/disco): added --node argument

This commit is contained in:
Goffi 2017-02-12 21:17:56 +01:00
commit 3e795fde5c
2 changed files with 5 additions and 4 deletions

View file

@ -286,7 +286,7 @@ class Jp(object):
for parent_name in ('profile', 'profile_session'):
parent = self.parents[parent_name] = argparse.ArgumentParser(add_help=False)
parent.add_argument("-p", "--profile", action="store", type=str, default='@DEFAULT@', help=_("Use PROFILE profile key (default: %(default)s)"))
parent.add_argument("--pwd", action="store", type=unicode, default='', metavar='PASSWORD', help=_("Password used to connect profile, if necessary"))
parent.add_argument("--pwd", action="store", type=unicode_decoder, default='', metavar='PASSWORD', help=_("Password used to connect profile, if necessary"))
profile_parent, profile_session_parent = self.parents['profile'], self.parents['profile_session']

View file

@ -31,19 +31,20 @@ class Disco(base.CommandBase):
self.need_loop=True
def add_parser_options(self):
self.parser.add_argument("jid", type=str, help=_("entity to discover"))
self.parser.add_argument(u"jid", type=base.unicode_decoder, help=_(u"entity to discover"))
self.parser.add_argument(u"-n", u"--node", type=base.unicode_decoder, default=u'', help=_(u"node to use"))
def start(self):
jids = self.host.check_jids([self.args.jid])
jid = jids[0]
self.host.bridge.discoInfos(jid, profile_key=self.host.profile, callback=lambda infos: self.gotInfos(infos, jid), errback=self.error)
self.host.bridge.discoInfos(jid, node=self.args.node, profile_key=self.host.profile, callback=lambda infos: self.gotInfos(infos, jid), errback=self.error)
def error(self, failure):
print (_("Error while doing discovery [%s]") % failure)
self.host.quit(1)
def gotInfos(self, infos, jid):
self.host.bridge.discoItems(jid, profile_key=self.host.profile, callback=lambda items: self.gotItems(infos, items), errback=self.error)
self.host.bridge.discoItems(jid, node=self.args.node, profile_key=self.host.profile, callback=lambda items: self.gotItems(infos, items), errback=self.error)
def gotItems(self, infos, items):
features, identities, extensions = infos