# HG changeset patch # User souliane # Date 1399471820 -7200 # Node ID d87aa6bdb0b4a6ec26bdaed062c9779fb23bc501 # Parent b262ae6d53afc5be0f44c5a21717edb1bf82a1db jp: option '-c' is not longer a flag but a string to define the profile password: - no '-c': same behavior as before, do not connect the profile - '-c' with not following value: autoconnect and use the default value '' as profile password - '-c' with a following value: autoconnect and use that value as profile password Note that previous scripts may not work. For example, even if the profile password for "test1" is empty: jp disco -p test1 -c contact@host.net must be changed to: jp disco -p test1 -c -- contact@host.net Otherwise, argparse will think that "contact@host.net" is the password and that the target JID is missing. diff -r b262ae6d53af -r d87aa6bdb0b4 frontends/src/jp/base.py --- a/frontends/src/jp/base.py Wed May 07 16:03:38 2014 +0200 +++ b/frontends/src/jp/base.py Wed May 07 16:10:20 2014 +0200 @@ -111,7 +111,7 @@ profile_parent = self.parents['profile'] = argparse.ArgumentParser(add_help=False) profile_parent.add_argument("-p", "--profile", action="store", type=str, default='@DEFAULT@', help=_("Use PROFILE profile key (default: %(default)s)")) - profile_parent.add_argument("-c", "--connect", action="store_true", help=_("Connect the profile before doing anything else")) + profile_parent.add_argument("-c", "--connect", action="store", type=str, nargs='?', const='', default=None, metavar='PASSWORD', help=_("Connect the profile before doing anything else")) progress_parent = self.parents['progress'] = argparse.ArgumentParser(add_help=False) if progressbar: @@ -233,8 +233,8 @@ error(_("The profile [%s] doesn't exist") % self.args.profile) self.quit(1) - if self.args.connect: #if connection is asked, we connect the profile - self.bridge.asyncConnect(self.profile, callback, cant_connect) + if self.args.connect is not None: # if connection is asked, we connect the profile + self.bridge.asyncConnect(self.profile, self.args.connect, lambda dummy: callback(), cant_connect) self._auto_loop = True return diff -r b262ae6d53af -r d87aa6bdb0b4 frontends/src/jp/cmd_profile.py --- a/frontends/src/jp/cmd_profile.py Wed May 07 16:03:38 2014 +0200 +++ b/frontends/src/jp/cmd_profile.py Wed May 07 16:10:20 2014 +0200 @@ -105,7 +105,7 @@ if self.args.profile in self.host.bridge.getProfilesList(): error("Profile %s already exists." % self.args.profile) self.host.quit(1) - self.host.bridge.asyncCreateProfile(self.args.profile, self._profile_created, None) + self.host.bridge.asyncCreateProfile(self.args.profile, callback=self._profile_created, errback=None) class Profile(base.CommandBase):