From df2d3fdfb5456e29bc7ecb2624401e9a6067a399 Mon Sep 17 00:00:00 2001 From: anekos Date: Thu, 26 May 2011 22:05:00 +0900 Subject: ユーザ名が一つに絞り込めるときは、ユーザ名の入力を省けるように --- loginManager.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'loginManager.js') diff --git a/loginManager.js b/loginManager.js index 106f690..4ecaadf 100644 --- a/loginManager.js +++ b/loginManager.js @@ -4,9 +4,9 @@ var PLUGIN_INFO = {NAME} login manager hogelog - 0.0.4 + 0.0.5 2.0pre - 2.2pre + 3.1 https://github.com/vimpr/vimperator-plugins/raw/master/loginManger.js public domain {NAME} login manager hogelog - 0.0.5 + 0.0.6 2.0pre 3.1 https://github.com/vimpr/vimperator-plugins/raw/master/loginManger.js @@ -239,7 +239,7 @@ commands.addUserCommand(["login"], "Login", completer: function(context, args){ if (args.completeArg == 0){ context.title = ["service"]; - context.completions = [[s,""] for(s in services)]; + context.completions = [[n,""] for([n,s] in Iterator(services)) if (s.getUsernames().length)]; } else if (args.completeArg == 1){ let service = services[args[0]]; if (!service) return false; @@ -258,7 +258,7 @@ commands.addUserCommand(["logout"], "Logout", }, { completer: function(context, args){ context.title = ["service"]; - context.completions = [[s,""] for(s in services)]; + context.completions = [[n,""] for([n,s] in Iterator(services)) if (s.getUsernames().length)]; }, }, true); // }}} -- cgit v1.2.3 From 819e9895648eb342f2c9da90e01827fe8429c1af Mon Sep 17 00:00:00 2001 From: anekos Date: Thu, 26 May 2011 22:17:50 +0900 Subject: ログアウトできないバグ修正 --- loginManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'loginManager.js') diff --git a/loginManager.js b/loginManager.js index 8bd4776..b7a6a9f 100644 --- a/loginManager.js +++ b/loginManager.js @@ -145,7 +145,7 @@ function Service(service) //{{{ login(); }; - self.logout = function(){ + self.logout = function(username){ let content = {}; let host = service.HOST[0]; if (service.extraField && !self.setExtraField(content)) return false; -- cgit v1.2.3 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 From 174ea598fdf63553c532cd70537f10a6056060cd Mon Sep 17 00:00:00 2001 From: retlet Date: Thu, 2 Jun 2011 19:50:26 +0900 Subject: deliciousとevernote追加 --- loginManager.js | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'loginManager.js') diff --git a/loginManager.js b/loginManager.js index cab59a2..2628211 100644 --- a/loginManager.js +++ b/loginManager.js @@ -4,7 +4,7 @@ var PLUGIN_INFO = {NAME} login manager hogelog - 0.0.6 + 0.0.7 2.0pre 3.1 https://github.com/vimpr/vimperator-plugins/raw/master/loginManger.js @@ -109,6 +109,29 @@ var services = { CSRFPROTECT: tokenGetter(/CSRFPROTECT.+value="(.+?)"/), }, }, + delicious: { + HOST: ["https://secure.delicious.com"], + LOGIN: "/login", + LOGOUT: "/logout", + usernameField: "username", + passwordField: "password", + extraField: { + rememberme: "1", + }, + }, + evernote: { + HOST: ["https://www.evernote.com"], + LOGIN: "/Login.action", + LOGOUT: "/Logout.action", + usernameField: "username", + passwordField: "password", + extraField: { + rememberMe: "true", + _sourcePage: tokenGetterLoginURL(/_sourcePage.+value="(.+?)"/), + __fp: tokenGetterLoginURL(/__fp.+value="(.+?)"/), + login: "Sign In", + }, + }, }; for (name in services){ services[name] = new Service(services[name]); @@ -218,6 +241,15 @@ function tokenGetter(pattern) //{{{ } }; } +function tokenGetterLoginURL(pattern) //{{{ +{ + return function(service){ + let res = util.httpGet(service.HOST[0]+service.LOGIN); + if (pattern.test(res.responseText)){ + return RegExp.$1; + } + }; +} function getServiceAndUsernameFromArgs(args, logout) { let [servicename, username] = args; -- cgit v1.2.3 From 81e28a8887fe99421cdeec3d6a78834b7a93011c Mon Sep 17 00:00:00 2001 From: anekos Date: Mon, 6 Jun 2011 03:40:34 +0900 Subject: ReadItLater 追加 --- loginManager.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'loginManager.js') diff --git a/loginManager.js b/loginManager.js index 2628211..70a061d 100644 --- a/loginManager.js +++ b/loginManager.js @@ -4,9 +4,9 @@ var PLUGIN_INFO = {NAME} login manager hogelog - 0.0.7 + 0.0.8 2.0pre - 3.1 + 3.2 https://github.com/vimpr/vimperator-plugins/raw/master/loginManger.js public domain {NAME} login manager hogelog - 0.0.8 + 0.0.9 2.0pre 3.2 https://github.com/vimpr/vimperator-plugins/raw/master/loginManger.js @@ -139,6 +139,15 @@ var services = { usernameField: "feed_id", passwordField: "password", }, + nicovideo: { + HOST: ["https://secure.nicovideo.jp"], + LOGIN: "/secure/login", + usernameField: "mail", + passwordField: "password", + extraField: { + site: "niconico" + } + }, }; for (name in services){ services[name] = new Service(services[name]); -- cgit v1.2.3