diff frontends/src/jp/base.py @ 1033:d87aa6bdb0b4

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.
author souliane <souliane@mailoo.org>
date Wed, 07 May 2014 16:10:20 +0200
parents 8ca5c990ed92
children 75025461141f
line wrap: on
line diff
--- 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