Subject: Re: [sup-devel] [PATCH] reuse old account info with --foce-account user@hostname option

From: William Morgan <[email-masked]>
Date: Thu, 31 Dec 2009 11:16:51 -0800

Applied to master, thanks.

(PS. There's no reason to use the signoff message. Of course you can
continue to use it if want. But the Sup bureaucracy hasn't become large
enough to warrant it.)
-- 
William <[email-masked]>
_______________________________________________
Sup-devel mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel

---

From: Tero Tilus <[email-masked]>
Date: Wed, 30 Dec 2009 06:06:07 +0200

Signed-off-by: Tero Tilus <[email-masked]>
---
 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 user@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 #{olduser}@#{host}") { username, password = olduser, oldpw }
+    if $opts[:force_account]
+      host, username, password = accounts.find { |h, u, p| $opts[:force_account] == "#{u}@#{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 #{olduser}@#{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
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel