From fafc5d2c62456ac852c5ae0ec7b7d098c93b16c1 Mon Sep 17 00:00:00 2001 From: anekos Date: Thu, 26 May 2011 22:28:05 +0900 Subject: logout も一応 --- loginManager.js | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'loginManager.js') diff --git a/loginManager.js b/loginManager.js index b7a6a9f..cab59a2 100644 --- a/loginManager.js +++ b/loginManager.js @@ -217,23 +217,29 @@ function tokenGetter(pattern) //{{{ return RegExp.$1; } }; +} +function getServiceAndUsernameFromArgs(args, logout) +{ + let [servicename, username] = args; + let service = services[servicename]; + if (!service) return; + if (!username) { + let names = service.getUsernames(); + if (names.length === 1) + username = names[0]; + } + return [service, username]; } //}}} // Commands // {{{ commands.addUserCommand(["login"], "Login", function(args){ - let [servicename, username] = args; - let service = services[servicename]; - if (!service) return liberator.echoerr("Argument required. Please supply service name."); - if (!username) { - let names = service.getUsernames(); - if (names.length === 1) { - username = names[0]; - } else { - return liberator.echoerr("Argument required. Please supply user name."); - } - } + let [service, username] = getServiceAndUsernameFromArgs(args); + if (!service) + return liberator.echoerr("Argument required. Please supply service name."); + if (!username) + return liberator.echoerr("Argument required. Please supply user name."); service.login(username); }, { completer: function(context, args){ @@ -251,9 +257,9 @@ commands.addUserCommand(["login"], "Login", }, true); commands.addUserCommand(["logout"], "Logout", function(args){ - let [servicename, username] = args; - let service = services[servicename]; - if (!service) return false; + let [service, username] = getServiceAndUsernameFromArgs(args); + if (!service) + return liberator.echoerr("Argument required. Please supply service name."); service.logout(username); }, { completer: function(context, args){ -- cgit v1.2.3