aboutsummaryrefslogtreecommitdiffstats
path: root/twitter.js
diff options
context:
space:
mode:
authorshunirr2008-03-20 16:32:41 +0000
committershunirr2008-03-20 16:32:41 +0000
commitaad373b519fdaf2b04004db3e95c1571c5d9ddf8 (patch)
tree53b2ecdfea348e76a1b7180b76ead6252e02f228 /twitter.js
downloadvimperator-plugins-aad373b519fdaf2b04004db3e95c1571c5d9ddf8.tar.bz2
lang/javascript/vimperator-plugins/trunk
lang/javascript/vimperator-plugins/tags/0.5.3 - mkdir trunk, tags - mv some files git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@8221 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'twitter.js')
-rw-r--r--twitter.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/twitter.js b/twitter.js
new file mode 100644
index 0000000..c8db18d
--- /dev/null
+++ b/twitter.js
@@ -0,0 +1,38 @@
+// Vimperator plugin: 'Update Twitter'
+// Last Change: 17-Mar-2008. Jan 2008
+// License: Creative Commons
+// Maintainer: Trapezoid <trapezoid.g@gmail.com> - http://unsigned.g.hatena.ne.jp/Trapezoid
+//
+// update twitter status script for vimperator0.6.*
+
+(function(){
+ var passwordManager = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
+ function sayTwitter(username,password,stat){
+ var xhr = new XMLHttpRequest();
+ xhr.open("POST","http://twitter.com/statuses/update.json",false,username,password);
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xhr.send("status=" + encodeURIComponent(stat));
+ }
+ vimperator.commands.addUserCommand(['twitter'], 'Change twitter status',
+ function(arg,special){
+ var password;
+ var username;
+ try {
+ var logins = passwordManager.findLogins({}, 'http://twitter.com', 'https://twitter.com', null);
+ if(logins.length)
+ [username, password] = [logins[0].username, logins[0].password];
+ else
+ vimperator.echoerr("Twitter: account not found");
+ }
+ catch(ex) {
+ }
+
+ if(special){
+ arg = arg.replace(/%URL%/g, vimperator.buffer.URL)
+ .replace(/%TITLE%/g ,vimperator.buffer.title);
+ }
+
+ sayTwitter(username,password,arg);
+ },{ }
+ );
+})();