Signed-off-by: Tero Tilus <t...@tilus.net> --- bin/sup-add | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/bin/sup-add b/bin/sup-add index e27a0eb..c53378d 100755 --- a/bin/sup-add +++ b/bin/sup-add @@ -39,6 +39,7 @@ EOS opt :unusual, "Do not automatically poll these sources for new messages." opt :labels, "A comma-separated set of labels to apply to all messages from this source", :type => String opt :force_new, "Create a new account for this source, even if one already exists." + opt :force_account, "Reuse previously defined account u...@hostname.", :type => String end Trollop::die "require one or more sources" if ARGV.empty? @@ -56,13 +57,20 @@ def get_login_info uri, sources username, password = nil, nil unless accounts.empty? || $opts[:force_new] - say "Would you like to use the same account as for a previous source for #{uri}?" - choose do |menu| - accounts.each do |host, olduser, oldpw| - menu.choice("Use the account info for #{oldus...@#{host}") { username, password = olduser, oldpw } + if $opts[:force_account] + host, username, password = accounts.find { |h, u, p| $opts[:force_account] == "#...@#{h}" } + unless username && password + say "No previous account #{$opts[:force_account].inspect} found." + end + else + say "Would you like to use the same account as for a previous source for #{uri}?" + choose do |menu| + accounts.each do |host, olduser, oldpw| + menu.choice("Use the account info for #{oldus...@#{host}") { username, password = olduser, oldpw } + end + menu.choice("Use a new account") { } + menu.prompt = "Account selection? " end - menu.choice("Use a new account") { } - menu.prompt = "Account selection? " end end -- Tero Tilus ## 050 3635 235 ## http://tero.tilus.net/ _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel