つれづれNinomy このページをアンテナに追加 RSSフィード

2009年09月27日気がついたら1年以上経っていた

[]ひさびさに ひさびさに - つれづれNinomy を含むブックマーク はてなブックマーク - ひさびさに - つれづれNinomy ひさびさに - つれづれNinomy のブックマークコメント

Ninomyです。はてなでものを書くのは久しぶりです。気がついたら1年以上あいていました。

まあこの間、実生活でもネットでもいろいろありましたが、たまーにこっちでもものを書くかもしれないし、そうでもないかもしれません。あまり頻繁な更新は期待できませんがいちおういろいろやってます。

[]twitterでウィキ記法 twitterでウィキ記法 - つれづれNinomy を含むブックマーク はてなブックマーク - twitterでウィキ記法 - つれづれNinomy twitterでウィキ記法 - つれづれNinomy のブックマークコメント

Twitterでfollowしている人が、

「[[hogehoge]]でリンクできるといいなあ」

というような趣旨のことを言っていたので、プログラミングの練習がてら書いてみました。

Pythonで書かれています。PerlやRubyでも同じようなものが作れるはずです。

また、これを動かすにはPython-Twitterモジュールsimplejsonモジュールが必要です。

# -*- coding: utf-8 -*-
import twitter
import re
import urllib, urllib2
import sys
import simplejson

apiurl = 'http://api.bit.ly/shorten?version=2.0.1&longUrl=%s&login=hogehoge&apiKey=foobar'
# hogehoge, foobar は自分で取得したアカウントとAPIキーを入力する。

def bitly(url):
	url_data = urllib2.urlopen(apiurl % urllib.quote(url)).read()
	url_info = simplejson.loads(url_data)
	return str(url_info["results"][url]['shortUrl'])

def is_even(n):
	if n % 2 == 0: return True
	else: return False
	
def main(msg):
	api = twitter.Api('hogehoge', 'password') #自分のTwitterアカウントとパスワード
	if re.match('^.*\[\[.*\]\].*$', msg):
		list = re.split('\[\[|\]\]', msg)
		i = 0
		msg = ''
		for elem in list:
			if is_even(i): pass
			else:
				dec = urllib.quote(elem.encode('utf-8'))
				url = 'http://ja.wikipedia.org/wiki/' + dec
				surl = bitly(url)
				elem = '[[' + elem + ']] (' + surl + ')'
			i = i + 1
			msg = msg + elem
	api.PostUpdate(msg.encode('utf-8'))

if __name__ == '__main__':
	main(sys.argv[1].decode('sjis').encode('utf-8'))

AA2009/09/28 08:03二ノ宮耕一の子分さんこんにちわ。福井利器971番とは上手くやってますか?

トラックバック - http://wikipedia.g.hatena.ne.jp/ninomy/20090927